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>
45 #include <epan/conversation.h>
50 #include <epan/asn1.h>
52 #include "packet-per.h"
55 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
56 #pragma warning(disable:4146)
59 #define PNAME "EUTRAN X2 Application Protocol (X2AP)"
63 #define SCCP_SSN_X2AP 143
66 /*--- Included file: packet-x2ap-val.h ---*/
67 #line 1 "packet-x2ap-val.h"
68 #define maxPrivateIEs 65535
69 #define maxProtocolExtensions 65535
70 #define maxProtocolIEs 65535
71 #define maxEARFCN 32767
72 #define maxInterfaces 16
73 #define maxCellineNB 256
74 #define maxnoofCells 16
75 #define maxnoofBearers 256
76 #define maxNrOfErrors 256
77 #define maxnoofPDCP_SN 16
78 #define maxnoofEPLMNs 15
79 #define maxnoofEPLMNsPlusOne 16
80 #define maxnoofForbLACs 4096
81 #define maxnoofForbTACs 4096
82 #define maxnoofBPLMNs 6
83 #define maxnoofPRBs 110
86 /* enumerated values for ProcedureCode */
87 #define X2AP_ID_HANDOVERPREPARATION 0
88 #define X2AP_ID_HANDOVERCANCEL 1
89 #define X2AP_ID_LOADINDICATION 2
90 #define X2AP_ID_ERRORINDICATION 3
91 #define X2AP_ID_SNSTATUSTRANSFER 4
92 #define X2AP_ID_UECONTEXTRELEASE 5
93 #define X2AP_ID_X2SETUP 6
94 #define X2AP_ID_RESET 7
95 #define X2AP_ID_ENBCONFIGURATIONUPDATE 8
96 #define X2AP_ID_RESOURCESTATUSUPDATEINITIATION 9
97 #define X2AP_ID_RESOURCESTATUSREPORTING 10
99 typedef enum _ProtocolIE_ID_enum {
100 id_Bearers_Admitted_Item = 0,
101 id_Bearers_Admitted_List = 1,
102 id_Bearers_NotAdmitted_Item = 2,
103 id_Bearers_NotAdmitted_List = 3,
104 id_Bearers_ToBeSetup_Item = 4,
106 id_CellInformation = 6,
107 id_CellInformation_Item = 7,
108 id_InterfacesToTrace_Item = 8,
109 id_New_eNB_UE_X2AP_ID = 9,
110 id_Old_eNB_UE_X2AP_ID = 10,
111 id_TargetCell_ID = 11,
112 id_TargeteNBtoSource_eNBTransparentContainer = 12,
113 id_TraceActivation = 13,
114 id_UE_ContextInformation = 14,
115 id_UE_HistoryInformation = 15,
117 id_CriticalityDiagnostics = 17,
118 id_Bearers_SubjectToStatusTransfer_List = 18,
119 id_Bearers_SubjectToStatusTransfer_Item = 19,
121 id_GlobalENB_ID = 21,
124 id_GUGroupIDList = 24,
125 id_ServedCellsToAdd = 25,
126 id_ServedCellsToModify = 26,
127 id_ServedCellsToDelete = 27,
128 id_Registration_Request = 28,
129 id_CellToReport = 29,
130 id_ReportingPeriodicity = 30,
131 id_CellToReport_Item = 31,
132 id_CellMeasurementResult = 32,
133 id_CellMeasurementResult_Item = 33,
134 id_GUGroupIDListToAdd = 34,
135 id_GUGroupIDListToDelete = 35
136 } ProtocolIE_ID_enum;
138 /*--- End of included file: packet-x2ap-val.h ---*/
139 #line 58 "packet-x2ap-template.c"
141 static dissector_handle_t x2ap_handle = NULL;
143 /* Initialize the protocol and registered fields */
144 static int proto_x2ap = -1;
147 /*--- Included file: packet-x2ap-hf.c ---*/
148 #line 1 "packet-x2ap-hf.c"
149 static int hf_x2ap_Cause_PDU = -1; /* Cause */
150 static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
151 static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
152 static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
153 static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
154 static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
155 static int hf_x2ap_InterfacesToTrace_Item_PDU = -1; /* InterfacesToTrace_Item */
156 static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
157 static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
158 static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */
159 static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
160 static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */
161 static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */
162 static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */
163 static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
164 static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
165 static int hf_x2ap_Bearers_ToBeSetup_Item_PDU = -1; /* Bearers_ToBeSetup_Item */
166 static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
167 static int hf_x2ap_Bearers_Admitted_List_PDU = -1; /* Bearers_Admitted_List */
168 static int hf_x2ap_Bearers_Admitted_Item_PDU = -1; /* Bearers_Admitted_Item */
169 static int hf_x2ap_Bearers_NotAdmitted_List_PDU = -1; /* Bearers_NotAdmitted_List */
170 static int hf_x2ap_Bearers_NotAdmitted_Item_PDU = -1; /* Bearers_NotAdmitted_Item */
171 static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
172 static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
173 static int hf_x2ap_Bearers_SubjectToStatusTransfer_List_PDU = -1; /* Bearers_SubjectToStatusTransfer_List */
174 static int hf_x2ap_Bearers_SubjectToStatusTransfer_Item_PDU = -1; /* Bearers_SubjectToStatusTransfer_Item */
175 static int hf_x2ap_UEContextRelease_PDU = -1; /* UEContextRelease */
176 static int hf_x2ap_HandoverCancel_PDU = -1; /* HandoverCancel */
177 static int hf_x2ap_ErrorIndication_PDU = -1; /* ErrorIndication */
178 static int hf_x2ap_ResetRequest_PDU = -1; /* ResetRequest */
179 static int hf_x2ap_ResetResponse_PDU = -1; /* ResetResponse */
180 static int hf_x2ap_X2SetupRequest_PDU = -1; /* X2SetupRequest */
181 static int hf_x2ap_X2SetupResponse_PDU = -1; /* X2SetupResponse */
182 static int hf_x2ap_X2SetupFailure_PDU = -1; /* X2SetupFailure */
183 static int hf_x2ap_LoadInformation_PDU = -1; /* LoadInformation */
184 static int hf_x2ap_CellInformation_List_PDU = -1; /* CellInformation_List */
185 static int hf_x2ap_CellInformation_Item_PDU = -1; /* CellInformation_Item */
186 static int hf_x2ap_ENBConfigurationUpdate_PDU = -1; /* ENBConfigurationUpdate */
187 static int hf_x2ap_ServedCellsToModify_PDU = -1; /* ServedCellsToModify */
188 static int hf_x2ap_Old_ECGIs_PDU = -1; /* Old_ECGIs */
189 static int hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU = -1; /* ENBConfigurationUpdateAcknowledge */
190 static int hf_x2ap_ENBConfigurationUpdateFailure_PDU = -1; /* ENBConfigurationUpdateFailure */
191 static int hf_x2ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */
192 static int hf_x2ap_CellToReport_List_PDU = -1; /* CellToReport_List */
193 static int hf_x2ap_CellToReport_Item_PDU = -1; /* CellToReport_Item */
194 static int hf_x2ap_ReportingPeriod_PDU = -1; /* ReportingPeriod */
195 static int hf_x2ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */
196 static int hf_x2ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */
197 static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
198 static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
199 static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
200 static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
201 static int hf_x2ap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
202 static int hf_x2ap_id = -1; /* ProtocolIE_ID */
203 static int hf_x2ap_criticality = -1; /* Criticality */
204 static int hf_x2ap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
205 static int hf_x2ap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
206 static int hf_x2ap_extension_id = -1; /* ProtocolIE_ID */
207 static int hf_x2ap_extensionValue = -1; /* T_extensionValue */
208 static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */
209 static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */
210 static int hf_x2ap_transport = -1; /* CauseTransport */
211 static int hf_x2ap_protocol = -1; /* CauseProtocol */
212 static int hf_x2ap_misc = -1; /* CauseMisc */
213 static int hf_x2ap_pDCP_SN = -1; /* PDCP_SN */
214 static int hf_x2ap_hFN = -1; /* HFN */
215 static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
216 static int hf_x2ap_procedureCode = -1; /* ProcedureCode */
217 static int hf_x2ap_triggeringMessage = -1; /* TriggeringMessage */
218 static int hf_x2ap_procedureCriticality = -1; /* Criticality */
219 static int hf_x2ap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
220 static int hf_x2ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
221 static int hf_x2ap_iECriticality = -1; /* Criticality */
222 static int hf_x2ap_iE_ID = -1; /* ProtocolIE_ID */
223 static int hf_x2ap_typeOfError = -1; /* TypeOfError */
224 static int hf_x2ap_pLMN_Identity = -1; /* PLMN_Identity */
225 static int hf_x2ap_eUTRANcellIdentifier = -1; /* EUTRANCellIdentifier */
226 static int hf_x2ap_macro_eNB_ID = -1; /* BIT_STRING_SIZE_20 */
227 static int hf_x2ap_home_eNB_ID = -1; /* BIT_STRING_SIZE_28 */
228 static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */
229 static int hf_x2ap_ForbiddenTAs_item = -1; /* ForbiddenTAs_Item */
230 static int hf_x2ap_forbiddenTACs = -1; /* ForbiddenTACs */
231 static int hf_x2ap_ForbiddenTACs_item = -1; /* TAC */
232 static int hf_x2ap_ForbiddenLAs_item = -1; /* ForbiddenLAs_Item */
233 static int hf_x2ap_forbiddenLACs = -1; /* ForbiddenLACs */
234 static int hf_x2ap_ForbiddenLACs_item = -1; /* LAC */
235 static int hf_x2ap_sAE_Bearer_MaximumBitrateDL = -1; /* BitRate */
236 static int hf_x2ap_sAE_Bearer_MaximumBitrateUL = -1; /* BitRate */
237 static int hf_x2ap_sAE_Bearer_GuaranteedBitrateDL = -1; /* BitRate */
238 static int hf_x2ap_sAE_Bearer_GuaranteedBitrateUL = -1; /* BitRate */
239 static int hf_x2ap_eNB_ID = -1; /* ENB_ID */
240 static int hf_x2ap_transportLayerAddress = -1; /* TransportLayerAddress */
241 static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */
242 static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */
243 static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */
244 static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */
245 static int hf_x2ap_mMME_Code = -1; /* MME_Code */
246 static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */
247 static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */
248 static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */
249 static int hf_x2ap_forbiddenLAs = -1; /* ForbiddenLAs */
250 static int hf_x2ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */
251 static int hf_x2ap_InterfacesToTrace_item = -1; /* ProtocolIE_Single_Container */
252 static int hf_x2ap_traceInterface = -1; /* TraceInterface */
253 static int hf_x2ap_traceDepth = -1; /* TraceDepth */
254 static int hf_x2ap_global_Cell_ID = -1; /* ECGI */
255 static int hf_x2ap_cellType = -1; /* CellType */
256 static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
257 static int hf_x2ap_eventType = -1; /* EventType */
258 static int hf_x2ap_reportArea = -1; /* ReportArea */
259 static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
260 static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
261 static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
262 static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
263 static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
264 static int hf_x2ap_qCI = -1; /* QCI */
265 static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
266 static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */
267 static int hf_x2ap_ServedCells_item = -1; /* ServedCell_Information */
268 static int hf_x2ap_phyCID = -1; /* PhyCID */
269 static int hf_x2ap_cellId = -1; /* ECGI */
270 static int hf_x2ap_tAC = -1; /* TAC */
271 static int hf_x2ap_broadcastPLMNs = -1; /* BroadcastPLMNs_Item */
272 static int hf_x2ap_uL_EARFCN = -1; /* EARFCN */
273 static int hf_x2ap_dL_EARFCN = -1; /* EARFCN */
274 static int hf_x2ap_cell_Transmission_Bandwidth = -1; /* Cell_Transmission_Bandwidth */
275 static int hf_x2ap_traceReference = -1; /* TraceReference */
276 static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
277 static int hf_x2ap_UE_HistoryInformation_item = -1; /* LastVisitedCell_Item */
278 static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */
279 static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */
280 static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_InterferenceOverloadIndication_Item */
281 static int hf_x2ap_UL_HighInterferenceIndicationInfo_item = -1; /* UL_HighInterferenceIndicationInfo_Item */
282 static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndication */
283 static int hf_x2ap_target_Cell_ID = -1; /* ECGI */
284 static int hf_x2ap_protocolIEs = -1; /* ProtocolIE_Container */
285 static int hf_x2ap_mME_UE_S1AP_ID = -1; /* UE_S1AP_ID */
286 static int hf_x2ap_uEaggregateMaximumBitRate = -1; /* UEAggregateMaximumBitRate */
287 static int hf_x2ap_subscriberProfileIDforRFP = -1; /* SubscriberProfileIDforRFP */
288 static int hf_x2ap_bearers_ToBeSetup_List = -1; /* Bearers_ToBeSetup_List */
289 static int hf_x2ap_rRC_Context = -1; /* RRC_Context */
290 static int hf_x2ap_handoverRestrictionList = -1; /* HandoverRestrictionList */
291 static int hf_x2ap_locationReportingInformation = -1; /* LocationReportingInformation */
292 static int hf_x2ap_Bearers_ToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
293 static int hf_x2ap_sAE_Bearer_ID = -1; /* Bearer_ID */
294 static int hf_x2ap_sAE_BearerLevel_QoS_Parameters = -1; /* SAE_BearerLevel_QoS_Parameters */
295 static int hf_x2ap_dL_Forwarding = -1; /* DL_Forwarding */
296 static int hf_x2ap_uL_GTPtunnelEndpoint = -1; /* GTPtunnelEndpoint */
297 static int hf_x2ap_Bearers_Admitted_List_item = -1; /* ProtocolIE_Single_Container */
298 static int hf_x2ap_bearer_ID = -1; /* Bearer_ID */
299 static int hf_x2ap_uL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
300 static int hf_x2ap_dL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
301 static int hf_x2ap_Bearers_NotAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
302 static int hf_x2ap_cause = -1; /* Cause */
303 static int hf_x2ap_Bearers_SubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
304 static int hf_x2ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */
305 static int hf_x2ap_uL_COUNTvalue = -1; /* COUNTvalue */
306 static int hf_x2ap_dL_COUNTvalue = -1; /* COUNTvalue */
307 static int hf_x2ap_CellInformation_List_item = -1; /* ProtocolIE_Single_Container */
308 static int hf_x2ap_cell_ID = -1; /* ECGI */
309 static int hf_x2ap_ul_InterferenceOverloadIndication = -1; /* UL_InterferenceOverloadIndication */
310 static int hf_x2ap_ul_HighInterferenceIndicationInfo = -1; /* UL_HighInterferenceIndicationInfo */
311 static int hf_x2ap_relativeNarrowbandTxPower = -1; /* RelativeNarrowbandTxPower */
312 static int hf_x2ap_ServedCellsToModify_item = -1; /* ServedCellsToModify_Item */
313 static int hf_x2ap_old_ecgi = -1; /* ECGI */
314 static int hf_x2ap_served_cells = -1; /* ServedCell_Information */
315 static int hf_x2ap_Old_ECGIs_item = -1; /* ECGI */
316 static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container */
317 static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
318 static int hf_x2ap_resoureStatus = -1; /* ResourceStatus */
319 static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */
320 static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */
321 static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
322 static int hf_x2ap_initiatingMessage_value = -1; /* InitiatingMessage_value */
323 static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
324 static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
326 /*--- End of included file: packet-x2ap-hf.c ---*/
327 #line 65 "packet-x2ap-template.c"
329 /* Initialize the subtree pointers */
330 static int ett_x2ap = -1;
333 /*--- Included file: packet-x2ap-ett.c ---*/
334 #line 1 "packet-x2ap-ett.c"
335 static gint ett_x2ap_ProtocolIE_Container = -1;
336 static gint ett_x2ap_ProtocolIE_Field = -1;
337 static gint ett_x2ap_ProtocolExtensionContainer = -1;
338 static gint ett_x2ap_ProtocolExtensionField = -1;
339 static gint ett_x2ap_BroadcastPLMNs_Item = -1;
340 static gint ett_x2ap_Cause = -1;
341 static gint ett_x2ap_COUNTvalue = -1;
342 static gint ett_x2ap_CriticalityDiagnostics = -1;
343 static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1;
344 static gint ett_x2ap_CriticalityDiagnostics_IE_List_item = -1;
345 static gint ett_x2ap_ECGI = -1;
346 static gint ett_x2ap_ENB_ID = -1;
347 static gint ett_x2ap_EPLMNs = -1;
348 static gint ett_x2ap_ForbiddenTAs = -1;
349 static gint ett_x2ap_ForbiddenTAs_Item = -1;
350 static gint ett_x2ap_ForbiddenTACs = -1;
351 static gint ett_x2ap_ForbiddenLAs = -1;
352 static gint ett_x2ap_ForbiddenLAs_Item = -1;
353 static gint ett_x2ap_ForbiddenLACs = -1;
354 static gint ett_x2ap_GBR_QosInformation = -1;
355 static gint ett_x2ap_GlobalENB_ID = -1;
356 static gint ett_x2ap_GTPtunnelEndpoint = -1;
357 static gint ett_x2ap_GUGroupIDList = -1;
358 static gint ett_x2ap_GU_Group_ID = -1;
359 static gint ett_x2ap_GUMMEI = -1;
360 static gint ett_x2ap_HandoverRestrictionList = -1;
361 static gint ett_x2ap_InterfacesToTrace = -1;
362 static gint ett_x2ap_InterfacesToTrace_Item = -1;
363 static gint ett_x2ap_LastVisitedCell_Item = -1;
364 static gint ett_x2ap_LocationReportingInformation = -1;
365 static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
366 static gint ett_x2ap_SAE_BearerLevel_QoS_Parameters = -1;
367 static gint ett_x2ap_ServedCells = -1;
368 static gint ett_x2ap_ServedCell_Information = -1;
369 static gint ett_x2ap_TraceActivation = -1;
370 static gint ett_x2ap_UE_HistoryInformation = -1;
371 static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
372 static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
373 static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
374 static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
375 static gint ett_x2ap_HandoverRequest = -1;
376 static gint ett_x2ap_UE_ContextInformation = -1;
377 static gint ett_x2ap_Bearers_ToBeSetup_List = -1;
378 static gint ett_x2ap_Bearers_ToBeSetup_Item = -1;
379 static gint ett_x2ap_HandoverRequestAcknowledge = -1;
380 static gint ett_x2ap_Bearers_Admitted_List = -1;
381 static gint ett_x2ap_Bearers_Admitted_Item = -1;
382 static gint ett_x2ap_Bearers_NotAdmitted_List = -1;
383 static gint ett_x2ap_Bearers_NotAdmitted_Item = -1;
384 static gint ett_x2ap_HandoverPreparationFailure = -1;
385 static gint ett_x2ap_SNStatusTransfer = -1;
386 static gint ett_x2ap_Bearers_SubjectToStatusTransfer_List = -1;
387 static gint ett_x2ap_Bearers_SubjectToStatusTransfer_Item = -1;
388 static gint ett_x2ap_UEContextRelease = -1;
389 static gint ett_x2ap_HandoverCancel = -1;
390 static gint ett_x2ap_ErrorIndication = -1;
391 static gint ett_x2ap_ResetRequest = -1;
392 static gint ett_x2ap_ResetResponse = -1;
393 static gint ett_x2ap_X2SetupRequest = -1;
394 static gint ett_x2ap_X2SetupResponse = -1;
395 static gint ett_x2ap_X2SetupFailure = -1;
396 static gint ett_x2ap_LoadInformation = -1;
397 static gint ett_x2ap_CellInformation_List = -1;
398 static gint ett_x2ap_CellInformation_Item = -1;
399 static gint ett_x2ap_ENBConfigurationUpdate = -1;
400 static gint ett_x2ap_ServedCellsToModify = -1;
401 static gint ett_x2ap_ServedCellsToModify_Item = -1;
402 static gint ett_x2ap_Old_ECGIs = -1;
403 static gint ett_x2ap_ENBConfigurationUpdateAcknowledge = -1;
404 static gint ett_x2ap_ENBConfigurationUpdateFailure = -1;
405 static gint ett_x2ap_ResourceStatusRequest = -1;
406 static gint ett_x2ap_CellToReport_List = -1;
407 static gint ett_x2ap_CellToReport_Item = -1;
408 static gint ett_x2ap_ResourceStatusResponse = -1;
409 static gint ett_x2ap_ResourceStatusFailure = -1;
410 static gint ett_x2ap_ResourceStatusUpdate = -1;
411 static gint ett_x2ap_CellMeasurementResult_List = -1;
412 static gint ett_x2ap_CellMeasurementResult_Item = -1;
413 static gint ett_x2ap_X2AP_PDU = -1;
414 static gint ett_x2ap_InitiatingMessage = -1;
415 static gint ett_x2ap_SuccessfulOutcome = -1;
416 static gint ett_x2ap_UnsuccessfulOutcome = -1;
418 /*--- End of included file: packet-x2ap-ett.c ---*/
419 #line 70 "packet-x2ap-template.c"
421 /* Global variables */
422 static guint32 ProcedureCode;
423 static guint32 ProtocolIE_ID;
424 static const gchar *ProcedureID;
426 /* Dissector tables */
427 static dissector_table_t x2ap_ies_dissector_table;
428 static dissector_table_t x2ap_extension_dissector_table;
429 static dissector_table_t x2ap_proc_imsg_dissector_table;
430 static dissector_table_t x2ap_proc_sout_dissector_table;
431 static dissector_table_t x2ap_proc_uout_dissector_table;
433 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
434 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
435 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
436 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
437 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
440 /*--- Included file: packet-x2ap-fn.c ---*/
441 #line 1 "packet-x2ap-fn.c"
443 static const value_string x2ap_Criticality_vals[] = {
452 dissect_x2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
453 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
454 3, NULL, FALSE, 0, NULL);
460 static const value_string x2ap_ProcedureCode_vals[] = {
461 { X2AP_ID_HANDOVERPREPARATION, "id-handoverPreparation" },
462 { X2AP_ID_HANDOVERCANCEL, "id-handoverCancel" },
463 { X2AP_ID_LOADINDICATION, "id-loadIndication" },
464 { X2AP_ID_ERRORINDICATION, "id-errorIndication" },
465 { X2AP_ID_SNSTATUSTRANSFER, "id-snStatusTransfer" },
466 { X2AP_ID_UECONTEXTRELEASE, "id-uEContextRelease" },
467 { X2AP_ID_X2SETUP, "id-x2Setup" },
468 { X2AP_ID_RESET, "id-reset" },
469 { X2AP_ID_ENBCONFIGURATIONUPDATE, "id-eNBConfigurationUpdate" },
470 { X2AP_ID_RESOURCESTATUSUPDATEINITIATION, "id-resourceStatusUpdateInitiation" },
471 { X2AP_ID_RESOURCESTATUSREPORTING, "id-resourceStatusReporting" },
477 dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
479 ProcedureCode = 0xFFFF;
481 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
482 0U, 255U, &ProcedureCode, FALSE);
485 if (check_col(actx->pinfo->cinfo, COL_INFO))
486 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
487 val_to_str(ProcedureCode, x2ap_ProcedureCode_vals,
494 static const value_string x2ap_ProtocolIE_ID_vals[] = {
495 { id_Bearers_Admitted_Item, "id-Bearers-Admitted-Item" },
496 { id_Bearers_Admitted_List, "id-Bearers-Admitted-List" },
497 { id_Bearers_NotAdmitted_Item, "id-Bearers-NotAdmitted-Item" },
498 { id_Bearers_NotAdmitted_List, "id-Bearers-NotAdmitted-List" },
499 { id_Bearers_ToBeSetup_Item, "id-Bearers-ToBeSetup-Item" },
500 { id_Cause, "id-Cause" },
501 { id_CellInformation, "id-CellInformation" },
502 { id_CellInformation_Item, "id-CellInformation-Item" },
503 { id_InterfacesToTrace_Item, "id-InterfacesToTrace-Item" },
504 { id_New_eNB_UE_X2AP_ID, "id-New-eNB-UE-X2AP-ID" },
505 { id_Old_eNB_UE_X2AP_ID, "id-Old-eNB-UE-X2AP-ID" },
506 { id_TargetCell_ID, "id-TargetCell-ID" },
507 { id_TargeteNBtoSource_eNBTransparentContainer, "id-TargeteNBtoSource-eNBTransparentContainer" },
508 { id_TraceActivation, "id-TraceActivation" },
509 { id_UE_ContextInformation, "id-UE-ContextInformation" },
510 { id_UE_HistoryInformation, "id-UE-HistoryInformation" },
511 { id_UE_X2AP_ID, "id-UE-X2AP-ID" },
512 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
513 { id_Bearers_SubjectToStatusTransfer_List, "id-Bearers-SubjectToStatusTransfer-List" },
514 { id_Bearers_SubjectToStatusTransfer_Item, "id-Bearers-SubjectToStatusTransfer-Item" },
515 { id_ServedCells, "id-ServedCells" },
516 { id_GlobalENB_ID, "id-GlobalENB-ID" },
517 { id_TimeToWait, "id-TimeToWait" },
518 { id_GUMMEI_ID, "id-GUMMEI-ID" },
519 { id_GUGroupIDList, "id-GUGroupIDList" },
520 { id_ServedCellsToAdd, "id-ServedCellsToAdd" },
521 { id_ServedCellsToModify, "id-ServedCellsToModify" },
522 { id_ServedCellsToDelete, "id-ServedCellsToDelete" },
523 { id_Registration_Request, "id-Registration-Request" },
524 { id_CellToReport, "id-CellToReport" },
525 { id_ReportingPeriodicity, "id-ReportingPeriodicity" },
526 { id_CellToReport_Item, "id-CellToReport-Item" },
527 { id_CellMeasurementResult, "id-CellMeasurementResult" },
528 { id_CellMeasurementResult_Item, "id-CellMeasurementResult-Item" },
529 { id_GUGroupIDListToAdd, "id-GUGroupIDListToAdd" },
530 { id_GUGroupIDListToDelete, "id-GUGroupIDListToDelete" },
536 dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
537 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
538 0U, maxProtocolIEs, &ProtocolIE_ID, FALSE);
544 static const value_string x2ap_TriggeringMessage_vals[] = {
545 { 0, "initiating-message" },
546 { 1, "successful-outcome" },
547 { 2, "unsuccessful-outcome" },
553 dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
554 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
555 3, NULL, FALSE, 0, NULL);
563 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_) {
564 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
570 static const per_sequence_t ProtocolIE_Field_sequence[] = {
571 { &hf_x2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
572 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
573 { &hf_x2ap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field_value },
578 dissect_x2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
579 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
580 ett_x2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
586 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
587 { &hf_x2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field },
591 dissect_x2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
592 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
593 ett_x2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
602 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_) {
603 offset = dissect_x2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
611 dissect_x2ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
612 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
618 static const per_sequence_t ProtocolExtensionField_sequence[] = {
619 { &hf_x2ap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
620 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
621 { &hf_x2ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_T_extensionValue },
626 dissect_x2ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
627 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
628 ett_x2ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
634 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
635 { &hf_x2ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolExtensionField },
639 dissect_x2ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
640 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
641 ett_x2ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
642 1, maxProtocolExtensions);
650 dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
651 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
652 0U, 15U, NULL, FALSE);
660 dissect_x2ap_Bearer_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
661 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
662 0U, 15U, NULL, TRUE);
670 dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
671 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
672 0U, 10000000000U, NULL, FALSE);
680 dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
681 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
688 static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = {
689 { &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
693 dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
694 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
695 ett_x2ap_BroadcastPLMNs_Item, BroadcastPLMNs_Item_sequence_of,
702 static const value_string x2ap_CauseRadioNetwork_vals[] = {
703 { 0, "handover-desirable-for-radio-reasons" },
704 { 1, "time-critical-handover" },
705 { 2, "resource-optimisation-handover" },
706 { 3, "reduce-load-in-serving-cell" },
707 { 4, "partial-handover" },
708 { 5, "unknown-new-eNB-UE-X2AP-ID" },
709 { 6, "unknown-old-eNB-UE-X2AP-ID" },
710 { 7, "unknown-pair-of-UE-X2AP-ID" },
711 { 8, "ho-target-not-allowed" },
712 { 9, "tx2relocoverall-expiry" },
713 { 10, "trelocprep-expiry" },
714 { 11, "cell-not-available" },
715 { 12, "no-radio-resources-available-in-target-cell" },
716 { 13, "invalid-MME-GroupID" },
717 { 14, "unknown-MME-Code" },
718 { 15, "unspecified" },
724 dissect_x2ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
725 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
726 16, NULL, TRUE, 0, NULL);
732 static const value_string x2ap_CauseTransport_vals[] = {
733 { 0, "transport-resource-unavailable" },
734 { 1, "unspecified" },
740 dissect_x2ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
741 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
742 2, NULL, TRUE, 0, NULL);
748 static const value_string x2ap_CauseProtocol_vals[] = {
749 { 0, "transfer-syntax-error" },
750 { 1, "abstract-syntax-error-reject" },
751 { 2, "abstract-syntax-error-ignore-and-notify" },
752 { 3, "message-not-compatible-with-receiver-state" },
753 { 4, "semantic-error" },
754 { 5, "unspecified" },
755 { 6, "abstract-syntax-error-falsely-constructed-message" },
761 dissect_x2ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
762 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
763 7, NULL, TRUE, 0, NULL);
769 static const value_string x2ap_CauseMisc_vals[] = {
770 { 0, "control-processing-overload" },
771 { 1, "hardware-failure" },
772 { 2, "om-intervention" },
773 { 3, "not-enough-user-plane-processing-resources" },
774 { 4, "unspecified" },
780 dissect_x2ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
781 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
782 5, NULL, TRUE, 0, NULL);
788 static const value_string x2ap_Cause_vals[] = {
789 { 0, "radioNetwork" },
796 static const per_choice_t Cause_choice[] = {
797 { 0, &hf_x2ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseRadioNetwork },
798 { 1, &hf_x2ap_transport , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseTransport },
799 { 2, &hf_x2ap_protocol , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseProtocol },
800 { 3, &hf_x2ap_misc , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseMisc },
805 dissect_x2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
806 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
807 ett_x2ap_Cause, Cause_choice,
814 static const value_string x2ap_CellType_vals[] = {
824 dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
825 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
826 4, NULL, TRUE, 0, NULL);
832 static const value_string x2ap_Cell_Transmission_Bandwidth_vals[] = {
844 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_) {
845 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
846 6, NULL, TRUE, 0, NULL);
854 dissect_x2ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
855 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
856 0U, 4095U, NULL, FALSE);
864 dissect_x2ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
865 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
866 0U, 1048575U, NULL, FALSE);
872 static const per_sequence_t COUNTvalue_sequence[] = {
873 { &hf_x2ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SN },
874 { &hf_x2ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFN },
875 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
880 dissect_x2ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
881 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
882 ett_x2ap_COUNTvalue, COUNTvalue_sequence);
888 static const value_string x2ap_TypeOfError_vals[] = {
889 { 0, "not-understood" },
896 dissect_x2ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
897 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
898 2, NULL, TRUE, 0, NULL);
904 static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
905 { &hf_x2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
906 { &hf_x2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
907 { &hf_x2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TypeOfError },
908 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
913 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_) {
914 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
915 ett_x2ap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
921 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
922 { &hf_x2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CriticalityDiagnostics_IE_List_item },
926 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_) {
927 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
928 ett_x2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
935 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
936 { &hf_x2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProcedureCode },
937 { &hf_x2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TriggeringMessage },
938 { &hf_x2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Criticality },
939 { &hf_x2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CriticalityDiagnostics_IE_List },
940 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
945 dissect_x2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
946 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
947 ett_x2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
953 static const value_string x2ap_DL_Forwarding_vals[] = {
954 { 0, "dL-forwardingProposed" },
960 dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
961 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
962 1, NULL, TRUE, 0, NULL);
970 dissect_x2ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
971 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
972 0U, maxEARFCN, NULL, FALSE);
980 dissect_x2ap_EUTRANCellIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
981 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
982 28, 28, FALSE, NULL);
988 static const per_sequence_t ECGI_sequence[] = {
989 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
990 { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
991 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
996 dissect_x2ap_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
997 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
998 ett_x2ap_ECGI, ECGI_sequence);
1006 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_) {
1007 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1008 20, 20, FALSE, NULL);
1016 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_) {
1017 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1018 28, 28, FALSE, NULL);
1024 static const value_string x2ap_ENB_ID_vals[] = {
1025 { 0, "macro-eNB-ID" },
1026 { 1, "home-eNB-ID" },
1030 static const per_choice_t ENB_ID_choice[] = {
1031 { 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 },
1032 { 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 },
1033 { 0, NULL, 0, NULL }
1037 dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1038 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1039 ett_x2ap_ENB_ID, ENB_ID_choice,
1046 static const per_sequence_t EPLMNs_sequence_of[1] = {
1047 { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1051 dissect_x2ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1052 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1053 ett_x2ap_EPLMNs, EPLMNs_sequence_of,
1060 static const value_string x2ap_EventType_vals[] = {
1061 { 0, "change-of-serving-cell" },
1067 dissect_x2ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1068 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1069 1, NULL, TRUE, 0, NULL);
1075 static const value_string x2ap_ForbiddenInterRATs_vals[] = {
1084 dissect_x2ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1085 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1086 3, NULL, TRUE, 0, NULL);
1094 dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1095 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1096 NO_BOUND, NO_BOUND, FALSE, NULL);
1102 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
1103 { &hf_x2ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1107 dissect_x2ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1108 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1109 ett_x2ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
1110 1, maxnoofForbTACs);
1116 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
1117 { &hf_x2ap_pLMN_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1118 { &hf_x2ap_forbiddenTACs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTACs },
1119 { NULL, 0, 0, NULL }
1123 dissect_x2ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1124 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1125 ett_x2ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
1131 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
1132 { &hf_x2ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTAs_Item },
1136 dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1137 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1138 ett_x2ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
1139 1, maxnoofEPLMNsPlusOne);
1147 dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1148 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1155 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
1156 { &hf_x2ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LAC },
1160 dissect_x2ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1161 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1162 ett_x2ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
1163 1, maxnoofForbLACs);
1169 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
1170 { &hf_x2ap_pLMN_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1171 { &hf_x2ap_forbiddenLACs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLACs },
1172 { NULL, 0, 0, NULL }
1176 dissect_x2ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1177 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1178 ett_x2ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
1184 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
1185 { &hf_x2ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLAs_Item },
1189 dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1190 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1191 ett_x2ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
1192 1, maxnoofEPLMNsPlusOne);
1198 static const per_sequence_t GBR_QosInformation_sequence[] = {
1199 { &hf_x2ap_sAE_Bearer_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1200 { &hf_x2ap_sAE_Bearer_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1201 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1202 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1203 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1204 { NULL, 0, 0, NULL }
1208 dissect_x2ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1209 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1210 ett_x2ap_GBR_QosInformation, GBR_QosInformation_sequence);
1216 static const per_sequence_t GlobalENB_ID_sequence[] = {
1217 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1218 { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID },
1219 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1220 { NULL, 0, 0, NULL }
1224 dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1225 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1226 ett_x2ap_GlobalENB_ID, GlobalENB_ID_sequence);
1234 dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1235 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1236 1, 160, TRUE, NULL);
1244 dissect_x2ap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1245 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1252 static const per_sequence_t GTPtunnelEndpoint_sequence[] = {
1253 { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress },
1254 { &hf_x2ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTP_TEI },
1255 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1256 { NULL, 0, 0, NULL }
1260 dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1261 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1262 ett_x2ap_GTPtunnelEndpoint, GTPtunnelEndpoint_sequence);
1270 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_) {
1271 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1278 static const per_sequence_t GU_Group_ID_sequence[] = {
1279 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1280 { &hf_x2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Group_ID },
1281 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1282 { NULL, 0, 0, NULL }
1286 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_) {
1287 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1288 ett_x2ap_GU_Group_ID, GU_Group_ID_sequence);
1294 static const per_sequence_t GUGroupIDList_sequence_of[1] = {
1295 { &hf_x2ap_GUGroupIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
1299 dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1300 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1301 ett_x2ap_GUGroupIDList, GUGroupIDList_sequence_of,
1310 dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1311 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1318 static const per_sequence_t GUMMEI_sequence[] = {
1319 { &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
1320 { &hf_x2ap_mMME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
1321 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1322 { NULL, 0, 0, NULL }
1326 dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1327 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1328 ett_x2ap_GUMMEI, GUMMEI_sequence);
1334 static const per_sequence_t HandoverRestrictionList_sequence[] = {
1335 { &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1336 { &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs },
1337 { &hf_x2ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenTAs },
1338 { &hf_x2ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenLAs },
1339 { &hf_x2ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenInterRATs },
1340 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1341 { NULL, 0, 0, NULL }
1345 dissect_x2ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1346 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1347 ett_x2ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
1353 static const per_sequence_t InterfacesToTrace_sequence_of[1] = {
1354 { &hf_x2ap_InterfacesToTrace_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1358 dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1359 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1360 ett_x2ap_InterfacesToTrace, InterfacesToTrace_sequence_of,
1367 static const value_string x2ap_TraceInterface_vals[] = {
1376 dissect_x2ap_TraceInterface(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1377 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1378 3, NULL, TRUE, 0, NULL);
1384 static const value_string x2ap_TraceDepth_vals[] = {
1388 { 3, "vendorMinimum" },
1389 { 4, "vendorMedium" },
1390 { 5, "vendorMaximum" },
1396 dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1397 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1398 6, NULL, TRUE, 0, NULL);
1404 static const per_sequence_t InterfacesToTrace_Item_sequence[] = {
1405 { &hf_x2ap_traceInterface , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceInterface },
1406 { &hf_x2ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceDepth },
1407 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1408 { NULL, 0, 0, NULL }
1412 dissect_x2ap_InterfacesToTrace_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1413 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1414 ett_x2ap_InterfacesToTrace_Item, InterfacesToTrace_Item_sequence);
1422 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_) {
1423 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
1429 static const per_sequence_t LastVisitedCell_Item_sequence[] = {
1430 { &hf_x2ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1431 { &hf_x2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellType },
1432 { &hf_x2ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Time_UE_StayedInCell },
1433 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1434 { NULL, 0, 0, NULL }
1438 dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1439 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1440 ett_x2ap_LastVisitedCell_Item, LastVisitedCell_Item_sequence);
1446 static const value_string x2ap_ReportArea_vals[] = {
1453 dissect_x2ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1454 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1455 1, NULL, TRUE, 0, NULL);
1461 static const per_sequence_t LocationReportingInformation_sequence[] = {
1462 { &hf_x2ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EventType },
1463 { &hf_x2ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportArea },
1464 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1465 { NULL, 0, 0, NULL }
1469 dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1470 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1471 ett_x2ap_LocationReportingInformation, LocationReportingInformation_sequence);
1479 dissect_x2ap_PhyCID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1480 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1481 1U, 504U, NULL, TRUE);
1489 dissect_x2ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1490 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1491 1U, 256U, NULL, FALSE);
1499 dissect_x2ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1500 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1501 4096, 4096, FALSE, NULL);
1507 static const value_string x2ap_Registration_Request_vals[] = {
1515 dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1516 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1517 2, NULL, TRUE, 0, NULL);
1525 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_) {
1526 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1527 6, 110, TRUE, NULL);
1533 static const value_string x2ap_RNTP_Threshold_vals[] = {
1534 { 0, "minusInfinity" },
1535 { 1, "minusEleven" },
1538 { 4, "minusEight" },
1539 { 5, "minusSeven" },
1543 { 9, "minusThree" },
1555 dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1556 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1557 16, NULL, TRUE, 0, NULL);
1563 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
1572 dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1573 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1574 3, NULL, TRUE, 0, NULL);
1582 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_) {
1583 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1584 0U, 3U, NULL, TRUE);
1592 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_) {
1593 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1594 0U, 4U, NULL, TRUE);
1600 static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = {
1601 { &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ },
1602 { &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold },
1603 { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
1604 { &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ },
1605 { &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ },
1606 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1607 { NULL, 0, 0, NULL }
1611 dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1612 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1613 ett_x2ap_RelativeNarrowbandTxPower, RelativeNarrowbandTxPower_sequence);
1621 dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1622 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1623 NO_BOUND, NO_BOUND, FALSE, NULL);
1631 dissect_x2ap_ResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1632 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
1638 static const per_sequence_t SAE_BearerLevel_QoS_Parameters_sequence[] = {
1639 { &hf_x2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_QCI },
1640 { &hf_x2ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AllocationAndRetentionPriority },
1641 { &hf_x2ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation },
1642 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1643 { NULL, 0, 0, NULL }
1647 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_) {
1648 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1649 ett_x2ap_SAE_BearerLevel_QoS_Parameters, SAE_BearerLevel_QoS_Parameters_sequence);
1655 static const per_sequence_t ServedCell_Information_sequence[] = {
1656 { &hf_x2ap_phyCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PhyCID },
1657 { &hf_x2ap_cellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1658 { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1659 { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item },
1660 { &hf_x2ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1661 { &hf_x2ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1662 { &hf_x2ap_cell_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cell_Transmission_Bandwidth },
1663 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1664 { NULL, 0, 0, NULL }
1668 dissect_x2ap_ServedCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1669 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1670 ett_x2ap_ServedCell_Information, ServedCell_Information_sequence);
1676 static const per_sequence_t ServedCells_sequence_of[1] = {
1677 { &hf_x2ap_ServedCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
1681 dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1682 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1683 ett_x2ap_ServedCells, ServedCells_sequence_of,
1692 dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1693 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1694 1U, 256U, NULL, FALSE);
1702 dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1703 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1704 NO_BOUND, NO_BOUND, FALSE, NULL);
1712 dissect_x2ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1713 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1714 NO_BOUND, NO_BOUND, FALSE, NULL);
1722 dissect_x2ap_TraceReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1723 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1730 static const per_sequence_t TraceActivation_sequence[] = {
1731 { &hf_x2ap_traceReference , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceReference },
1732 { &hf_x2ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_InterfacesToTrace },
1733 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1734 { NULL, 0, 0, NULL }
1738 dissect_x2ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1739 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1740 ett_x2ap_TraceActivation, TraceActivation_sequence);
1746 static const per_sequence_t UE_HistoryInformation_sequence_of[1] = {
1747 { &hf_x2ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedCell_Item },
1751 dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1752 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1753 ett_x2ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of,
1762 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_) {
1763 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1764 0U, 4294967295U, NULL, FALSE);
1772 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_) {
1773 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1774 0U, 4095U, NULL, FALSE);
1780 static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
1781 { &hf_x2ap_uEaggregateMaximumBitRateDownlink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1782 { &hf_x2ap_uEaggregateMaximumBitRateUplink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1783 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1784 { NULL, 0, 0, NULL }
1788 dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1789 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1790 ett_x2ap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
1796 static const value_string x2ap_UL_InterferenceOverloadIndication_Item_vals[] = {
1797 { 0, "high-interference" },
1798 { 1, "medium-interference" },
1799 { 2, "low-interference" },
1805 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_) {
1806 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1807 3, NULL, TRUE, 0, NULL);
1813 static const per_sequence_t UL_InterferenceOverloadIndication_sequence_of[1] = {
1814 { &hf_x2ap_UL_InterferenceOverloadIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication_Item },
1818 dissect_x2ap_UL_InterferenceOverloadIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1819 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1820 ett_x2ap_UL_InterferenceOverloadIndication, UL_InterferenceOverloadIndication_sequence_of,
1829 dissect_x2ap_UL_HighInterferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1830 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1831 1, 110, TRUE, NULL);
1837 static const per_sequence_t UL_HighInterferenceIndicationInfo_Item_sequence[] = {
1838 { &hf_x2ap_ul_interferenceindication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndication },
1839 { &hf_x2ap_target_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1840 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1841 { NULL, 0, 0, NULL }
1845 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_) {
1846 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1847 ett_x2ap_UL_HighInterferenceIndicationInfo_Item, UL_HighInterferenceIndicationInfo_Item_sequence);
1853 static const per_sequence_t UL_HighInterferenceIndicationInfo_sequence_of[1] = {
1854 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndicationInfo_Item },
1858 dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1859 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1860 ett_x2ap_UL_HighInterferenceIndicationInfo, UL_HighInterferenceIndicationInfo_sequence_of,
1867 static const per_sequence_t HandoverRequest_sequence[] = {
1868 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
1869 { NULL, 0, 0, NULL }
1873 dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1874 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1875 ett_x2ap_HandoverRequest, HandoverRequest_sequence);
1881 static const per_sequence_t Bearers_ToBeSetup_List_sequence_of[1] = {
1882 { &hf_x2ap_Bearers_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1886 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_) {
1887 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1888 ett_x2ap_Bearers_ToBeSetup_List, Bearers_ToBeSetup_List_sequence_of,
1895 static const per_sequence_t UE_ContextInformation_sequence[] = {
1896 { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID },
1897 { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate },
1898 { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP },
1899 { &hf_x2ap_bearers_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearers_ToBeSetup_List },
1900 { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context },
1901 { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList },
1902 { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation },
1903 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1904 { NULL, 0, 0, NULL }
1908 dissect_x2ap_UE_ContextInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1909 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1910 ett_x2ap_UE_ContextInformation, UE_ContextInformation_sequence);
1916 static const per_sequence_t Bearers_ToBeSetup_Item_sequence[] = {
1917 { &hf_x2ap_sAE_Bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
1918 { &hf_x2ap_sAE_BearerLevel_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SAE_BearerLevel_QoS_Parameters },
1919 { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding },
1920 { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint },
1921 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1922 { NULL, 0, 0, NULL }
1926 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_) {
1927 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1928 ett_x2ap_Bearers_ToBeSetup_Item, Bearers_ToBeSetup_Item_sequence);
1934 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
1935 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
1936 { NULL, 0, 0, NULL }
1940 dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1941 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1942 ett_x2ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
1948 static const per_sequence_t Bearers_Admitted_List_sequence_of[1] = {
1949 { &hf_x2ap_Bearers_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1953 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_) {
1954 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1955 ett_x2ap_Bearers_Admitted_List, Bearers_Admitted_List_sequence_of,
1962 static const per_sequence_t Bearers_Admitted_Item_sequence[] = {
1963 { &hf_x2ap_bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
1964 { &hf_x2ap_uL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
1965 { &hf_x2ap_dL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
1966 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1967 { NULL, 0, 0, NULL }
1971 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_) {
1972 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1973 ett_x2ap_Bearers_Admitted_Item, Bearers_Admitted_Item_sequence);
1979 static const per_sequence_t Bearers_NotAdmitted_List_sequence_of[1] = {
1980 { &hf_x2ap_Bearers_NotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1984 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_) {
1985 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1986 ett_x2ap_Bearers_NotAdmitted_List, Bearers_NotAdmitted_List_sequence_of,
1993 static const per_sequence_t Bearers_NotAdmitted_Item_sequence[] = {
1994 { &hf_x2ap_bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
1995 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
1996 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1997 { NULL, 0, 0, NULL }
2001 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_) {
2002 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2003 ett_x2ap_Bearers_NotAdmitted_Item, Bearers_NotAdmitted_Item_sequence);
2009 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
2010 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2011 { NULL, 0, 0, NULL }
2015 dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2016 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2017 ett_x2ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
2023 static const per_sequence_t SNStatusTransfer_sequence[] = {
2024 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2025 { NULL, 0, 0, NULL }
2029 dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2030 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2031 ett_x2ap_SNStatusTransfer, SNStatusTransfer_sequence);
2037 static const per_sequence_t Bearers_SubjectToStatusTransfer_List_sequence_of[1] = {
2038 { &hf_x2ap_Bearers_SubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2042 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_) {
2043 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2044 ett_x2ap_Bearers_SubjectToStatusTransfer_List, Bearers_SubjectToStatusTransfer_List_sequence_of,
2051 static const per_sequence_t Bearers_SubjectToStatusTransfer_Item_sequence[] = {
2052 { &hf_x2ap_bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
2053 { &hf_x2ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReceiveStatusofULPDCPSDUs },
2054 { &hf_x2ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
2055 { &hf_x2ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
2056 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2057 { NULL, 0, 0, NULL }
2061 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_) {
2062 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2063 ett_x2ap_Bearers_SubjectToStatusTransfer_Item, Bearers_SubjectToStatusTransfer_Item_sequence);
2069 static const per_sequence_t UEContextRelease_sequence[] = {
2070 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2071 { NULL, 0, 0, NULL }
2075 dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2076 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2077 ett_x2ap_UEContextRelease, UEContextRelease_sequence);
2083 static const per_sequence_t HandoverCancel_sequence[] = {
2084 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2085 { NULL, 0, 0, NULL }
2089 dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2090 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2091 ett_x2ap_HandoverCancel, HandoverCancel_sequence);
2097 static const per_sequence_t ErrorIndication_sequence[] = {
2098 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2099 { NULL, 0, 0, NULL }
2103 dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2104 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2105 ett_x2ap_ErrorIndication, ErrorIndication_sequence);
2111 static const per_sequence_t ResetRequest_sequence[] = {
2112 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2113 { NULL, 0, 0, NULL }
2117 dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2118 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2119 ett_x2ap_ResetRequest, ResetRequest_sequence);
2125 static const per_sequence_t ResetResponse_sequence[] = {
2126 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2127 { NULL, 0, 0, NULL }
2131 dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2132 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2133 ett_x2ap_ResetResponse, ResetResponse_sequence);
2139 static const per_sequence_t X2SetupRequest_sequence[] = {
2140 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2141 { NULL, 0, 0, NULL }
2145 dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2146 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2147 ett_x2ap_X2SetupRequest, X2SetupRequest_sequence);
2153 static const per_sequence_t X2SetupResponse_sequence[] = {
2154 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2155 { NULL, 0, 0, NULL }
2159 dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2160 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2161 ett_x2ap_X2SetupResponse, X2SetupResponse_sequence);
2167 static const per_sequence_t X2SetupFailure_sequence[] = {
2168 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2169 { NULL, 0, 0, NULL }
2173 dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2174 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2175 ett_x2ap_X2SetupFailure, X2SetupFailure_sequence);
2181 static const per_sequence_t LoadInformation_sequence[] = {
2182 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2183 { NULL, 0, 0, NULL }
2187 dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2188 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2189 ett_x2ap_LoadInformation, LoadInformation_sequence);
2195 static const per_sequence_t CellInformation_List_sequence_of[1] = {
2196 { &hf_x2ap_CellInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2200 dissect_x2ap_CellInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2201 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2202 ett_x2ap_CellInformation_List, CellInformation_List_sequence_of,
2209 static const per_sequence_t CellInformation_Item_sequence[] = {
2210 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2211 { &hf_x2ap_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_InterferenceOverloadIndication },
2212 { &hf_x2ap_ul_HighInterferenceIndicationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_HighInterferenceIndicationInfo },
2213 { &hf_x2ap_relativeNarrowbandTxPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RelativeNarrowbandTxPower },
2214 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2215 { NULL, 0, 0, NULL }
2219 dissect_x2ap_CellInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2220 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2221 ett_x2ap_CellInformation_Item, CellInformation_Item_sequence);
2227 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
2228 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2229 { NULL, 0, 0, NULL }
2233 dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2234 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2235 ett_x2ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
2241 static const per_sequence_t ServedCellsToModify_Item_sequence[] = {
2242 { &hf_x2ap_old_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2243 { &hf_x2ap_served_cells , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
2244 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2245 { NULL, 0, 0, NULL }
2249 dissect_x2ap_ServedCellsToModify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2250 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2251 ett_x2ap_ServedCellsToModify_Item, ServedCellsToModify_Item_sequence);
2257 static const per_sequence_t ServedCellsToModify_sequence_of[1] = {
2258 { &hf_x2ap_ServedCellsToModify_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToModify_Item },
2262 dissect_x2ap_ServedCellsToModify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2263 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2264 ett_x2ap_ServedCellsToModify, ServedCellsToModify_sequence_of,
2271 static const per_sequence_t Old_ECGIs_sequence_of[1] = {
2272 { &hf_x2ap_Old_ECGIs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2276 dissect_x2ap_Old_ECGIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2277 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2278 ett_x2ap_Old_ECGIs, Old_ECGIs_sequence_of,
2285 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
2286 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2287 { NULL, 0, 0, NULL }
2291 dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2292 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2293 ett_x2ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
2299 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
2300 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2301 { NULL, 0, 0, NULL }
2305 dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2306 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2307 ett_x2ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
2313 static const per_sequence_t ResourceStatusRequest_sequence[] = {
2314 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2315 { NULL, 0, 0, NULL }
2319 dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2320 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2321 ett_x2ap_ResourceStatusRequest, ResourceStatusRequest_sequence);
2327 static const per_sequence_t CellToReport_List_sequence_of[1] = {
2328 { &hf_x2ap_CellToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2332 dissect_x2ap_CellToReport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2333 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2334 ett_x2ap_CellToReport_List, CellToReport_List_sequence_of,
2341 static const per_sequence_t CellToReport_Item_sequence[] = {
2342 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2343 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2344 { NULL, 0, 0, NULL }
2348 dissect_x2ap_CellToReport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2349 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2350 ett_x2ap_CellToReport_Item, CellToReport_Item_sequence);
2356 static const value_string x2ap_ReportingPeriod_vals[] = {
2363 dissect_x2ap_ReportingPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2364 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2365 1, NULL, TRUE, 0, NULL);
2371 static const per_sequence_t ResourceStatusResponse_sequence[] = {
2372 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2373 { NULL, 0, 0, NULL }
2377 dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2378 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2379 ett_x2ap_ResourceStatusResponse, ResourceStatusResponse_sequence);
2385 static const per_sequence_t ResourceStatusFailure_sequence[] = {
2386 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2387 { NULL, 0, 0, NULL }
2391 dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2392 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2393 ett_x2ap_ResourceStatusFailure, ResourceStatusFailure_sequence);
2399 static const per_sequence_t ResourceStatusUpdate_sequence[] = {
2400 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2401 { NULL, 0, 0, NULL }
2405 dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2406 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2407 ett_x2ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence);
2413 static const per_sequence_t CellMeasurementResult_List_sequence_of[1] = {
2414 { &hf_x2ap_CellMeasurementResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2418 dissect_x2ap_CellMeasurementResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2419 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2420 ett_x2ap_CellMeasurementResult_List, CellMeasurementResult_List_sequence_of,
2427 static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
2428 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2429 { &hf_x2ap_resoureStatus , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ResourceStatus },
2430 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2431 { NULL, 0, 0, NULL }
2435 dissect_x2ap_CellMeasurementResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2436 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2437 ett_x2ap_CellMeasurementResult_Item, CellMeasurementResult_Item_sequence);
2445 dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2446 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
2452 static const per_sequence_t InitiatingMessage_sequence[] = {
2453 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
2454 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
2455 { &hf_x2ap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_InitiatingMessage_value },
2456 { NULL, 0, 0, NULL }
2460 dissect_x2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2461 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2462 ett_x2ap_InitiatingMessage, InitiatingMessage_sequence);
2470 dissect_x2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2471 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
2477 static const per_sequence_t SuccessfulOutcome_sequence[] = {
2478 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
2479 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
2480 { &hf_x2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SuccessfulOutcome_value },
2481 { NULL, 0, 0, NULL }
2485 dissect_x2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2486 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2487 ett_x2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
2495 dissect_x2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2496 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
2502 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
2503 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
2504 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
2505 { &hf_x2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UnsuccessfulOutcome_value },
2506 { NULL, 0, 0, NULL }
2510 dissect_x2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2511 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2512 ett_x2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
2518 static const value_string x2ap_X2AP_PDU_vals[] = {
2519 { 0, "initiatingMessage" },
2520 { 1, "successfulOutcome" },
2521 { 2, "unsuccessfulOutcome" },
2525 static const per_choice_t X2AP_PDU_choice[] = {
2526 { 0, &hf_x2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_x2ap_InitiatingMessage },
2527 { 1, &hf_x2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_SuccessfulOutcome },
2528 { 2, &hf_x2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_UnsuccessfulOutcome },
2529 { 0, NULL, 0, NULL }
2533 dissect_x2ap_X2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2534 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2535 ett_x2ap_X2AP_PDU, X2AP_PDU_choice,
2543 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2545 asn1_ctx_t asn1_ctx;
2546 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2547 offset = dissect_x2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_x2ap_Cause_PDU);
2548 offset += 7; offset >>= 3;
2551 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2553 asn1_ctx_t asn1_ctx;
2554 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2555 offset = dissect_x2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_x2ap_CriticalityDiagnostics_PDU);
2556 offset += 7; offset >>= 3;
2559 static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2561 asn1_ctx_t asn1_ctx;
2562 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2563 offset = dissect_x2ap_ECGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_ECGI_PDU);
2564 offset += 7; offset >>= 3;
2567 static int dissect_GlobalENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2569 asn1_ctx_t asn1_ctx;
2570 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2571 offset = dissect_x2ap_GlobalENB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalENB_ID_PDU);
2572 offset += 7; offset >>= 3;
2575 static int dissect_GUGroupIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2577 asn1_ctx_t asn1_ctx;
2578 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2579 offset = dissect_x2ap_GUGroupIDList(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUGroupIDList_PDU);
2580 offset += 7; offset >>= 3;
2583 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2585 asn1_ctx_t asn1_ctx;
2586 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2587 offset = dissect_x2ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUMMEI_PDU);
2588 offset += 7; offset >>= 3;
2591 static int dissect_InterfacesToTrace_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2593 asn1_ctx_t asn1_ctx;
2594 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2595 offset = dissect_x2ap_InterfacesToTrace_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_InterfacesToTrace_Item_PDU);
2596 offset += 7; offset >>= 3;
2599 static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2601 asn1_ctx_t asn1_ctx;
2602 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2603 offset = dissect_x2ap_Registration_Request(tvb, offset, &asn1_ctx, tree, hf_x2ap_Registration_Request_PDU);
2604 offset += 7; offset >>= 3;
2607 static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2609 asn1_ctx_t asn1_ctx;
2610 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2611 offset = dissect_x2ap_ServedCells(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCells_PDU);
2612 offset += 7; offset >>= 3;
2615 static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2617 asn1_ctx_t asn1_ctx;
2618 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2619 offset = dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU);
2620 offset += 7; offset >>= 3;
2623 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2625 asn1_ctx_t asn1_ctx;
2626 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2627 offset = dissect_x2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_x2ap_TimeToWait_PDU);
2628 offset += 7; offset >>= 3;
2631 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2633 asn1_ctx_t asn1_ctx;
2634 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2635 offset = dissect_x2ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceActivation_PDU);
2636 offset += 7; offset >>= 3;
2639 static int dissect_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2641 asn1_ctx_t asn1_ctx;
2642 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2643 offset = dissect_x2ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformation_PDU);
2644 offset += 7; offset >>= 3;
2647 static int dissect_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2649 asn1_ctx_t asn1_ctx;
2650 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2651 offset = dissect_x2ap_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_PDU);
2652 offset += 7; offset >>= 3;
2655 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2657 asn1_ctx_t asn1_ctx;
2658 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2659 offset = dissect_x2ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequest_PDU);
2660 offset += 7; offset >>= 3;
2663 static int dissect_UE_ContextInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2665 asn1_ctx_t asn1_ctx;
2666 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2667 offset = dissect_x2ap_UE_ContextInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_PDU);
2668 offset += 7; offset >>= 3;
2671 static int dissect_Bearers_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2673 asn1_ctx_t asn1_ctx;
2674 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2675 offset = dissect_x2ap_Bearers_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_ToBeSetup_Item_PDU);
2676 offset += 7; offset >>= 3;
2679 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2681 asn1_ctx_t asn1_ctx;
2682 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2683 offset = dissect_x2ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequestAcknowledge_PDU);
2684 offset += 7; offset >>= 3;
2687 static int dissect_Bearers_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2689 asn1_ctx_t asn1_ctx;
2690 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2691 offset = dissect_x2ap_Bearers_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_Admitted_List_PDU);
2692 offset += 7; offset >>= 3;
2695 static int dissect_Bearers_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2697 asn1_ctx_t asn1_ctx;
2698 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2699 offset = dissect_x2ap_Bearers_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_Admitted_Item_PDU);
2700 offset += 7; offset >>= 3;
2703 static int dissect_Bearers_NotAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2705 asn1_ctx_t asn1_ctx;
2706 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2707 offset = dissect_x2ap_Bearers_NotAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_NotAdmitted_List_PDU);
2708 offset += 7; offset >>= 3;
2711 static int dissect_Bearers_NotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2713 asn1_ctx_t asn1_ctx;
2714 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2715 offset = dissect_x2ap_Bearers_NotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_NotAdmitted_Item_PDU);
2716 offset += 7; offset >>= 3;
2719 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2721 asn1_ctx_t asn1_ctx;
2722 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2723 offset = dissect_x2ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverPreparationFailure_PDU);
2724 offset += 7; offset >>= 3;
2727 static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2729 asn1_ctx_t asn1_ctx;
2730 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2731 offset = dissect_x2ap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNStatusTransfer_PDU);
2732 offset += 7; offset >>= 3;
2735 static int dissect_Bearers_SubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2737 asn1_ctx_t asn1_ctx;
2738 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2739 offset = dissect_x2ap_Bearers_SubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_SubjectToStatusTransfer_List_PDU);
2740 offset += 7; offset >>= 3;
2743 static int dissect_Bearers_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2745 asn1_ctx_t asn1_ctx;
2746 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2747 offset = dissect_x2ap_Bearers_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_SubjectToStatusTransfer_Item_PDU);
2748 offset += 7; offset >>= 3;
2751 static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2753 asn1_ctx_t asn1_ctx;
2754 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2755 offset = dissect_x2ap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEContextRelease_PDU);
2756 offset += 7; offset >>= 3;
2759 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2761 asn1_ctx_t asn1_ctx;
2762 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2763 offset = dissect_x2ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverCancel_PDU);
2764 offset += 7; offset >>= 3;
2767 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2769 asn1_ctx_t asn1_ctx;
2770 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2771 offset = dissect_x2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_ErrorIndication_PDU);
2772 offset += 7; offset >>= 3;
2775 static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2777 asn1_ctx_t asn1_ctx;
2778 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2779 offset = dissect_x2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetRequest_PDU);
2780 offset += 7; offset >>= 3;
2783 static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2785 asn1_ctx_t asn1_ctx;
2786 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2787 offset = dissect_x2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetResponse_PDU);
2788 offset += 7; offset >>= 3;
2791 static int dissect_X2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2793 asn1_ctx_t asn1_ctx;
2794 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2795 offset = dissect_x2ap_X2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupRequest_PDU);
2796 offset += 7; offset >>= 3;
2799 static int dissect_X2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2801 asn1_ctx_t asn1_ctx;
2802 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2803 offset = dissect_x2ap_X2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupResponse_PDU);
2804 offset += 7; offset >>= 3;
2807 static int dissect_X2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2809 asn1_ctx_t asn1_ctx;
2810 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2811 offset = dissect_x2ap_X2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupFailure_PDU);
2812 offset += 7; offset >>= 3;
2815 static int dissect_LoadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2817 asn1_ctx_t asn1_ctx;
2818 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2819 offset = dissect_x2ap_LoadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_LoadInformation_PDU);
2820 offset += 7; offset >>= 3;
2823 static int dissect_CellInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2825 asn1_ctx_t asn1_ctx;
2826 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2827 offset = dissect_x2ap_CellInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_List_PDU);
2828 offset += 7; offset >>= 3;
2831 static int dissect_CellInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2833 asn1_ctx_t asn1_ctx;
2834 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2835 offset = dissect_x2ap_CellInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_Item_PDU);
2836 offset += 7; offset >>= 3;
2839 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2841 asn1_ctx_t asn1_ctx;
2842 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2843 offset = dissect_x2ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdate_PDU);
2844 offset += 7; offset >>= 3;
2847 static int dissect_ServedCellsToModify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2849 asn1_ctx_t asn1_ctx;
2850 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2851 offset = dissect_x2ap_ServedCellsToModify(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToModify_PDU);
2852 offset += 7; offset >>= 3;
2855 static int dissect_Old_ECGIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2857 asn1_ctx_t asn1_ctx;
2858 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2859 offset = dissect_x2ap_Old_ECGIs(tvb, offset, &asn1_ctx, tree, hf_x2ap_Old_ECGIs_PDU);
2860 offset += 7; offset >>= 3;
2863 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2865 asn1_ctx_t asn1_ctx;
2866 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2867 offset = dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU);
2868 offset += 7; offset >>= 3;
2871 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2873 asn1_ctx_t asn1_ctx;
2874 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2875 offset = dissect_x2ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateFailure_PDU);
2876 offset += 7; offset >>= 3;
2879 static int dissect_ResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2881 asn1_ctx_t asn1_ctx;
2882 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2883 offset = dissect_x2ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusRequest_PDU);
2884 offset += 7; offset >>= 3;
2887 static int dissect_CellToReport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2889 asn1_ctx_t asn1_ctx;
2890 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2891 offset = dissect_x2ap_CellToReport_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_List_PDU);
2892 offset += 7; offset >>= 3;
2895 static int dissect_CellToReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2897 asn1_ctx_t asn1_ctx;
2898 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2899 offset = dissect_x2ap_CellToReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_Item_PDU);
2900 offset += 7; offset >>= 3;
2903 static int dissect_ReportingPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2905 asn1_ctx_t asn1_ctx;
2906 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2907 offset = dissect_x2ap_ReportingPeriod(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriod_PDU);
2908 offset += 7; offset >>= 3;
2911 static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2913 asn1_ctx_t asn1_ctx;
2914 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2915 offset = dissect_x2ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusResponse_PDU);
2916 offset += 7; offset >>= 3;
2919 static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2921 asn1_ctx_t asn1_ctx;
2922 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2923 offset = dissect_x2ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusFailure_PDU);
2924 offset += 7; offset >>= 3;
2927 static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2929 asn1_ctx_t asn1_ctx;
2930 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2931 offset = dissect_x2ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusUpdate_PDU);
2932 offset += 7; offset >>= 3;
2935 static int dissect_CellMeasurementResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2937 asn1_ctx_t asn1_ctx;
2938 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2939 offset = dissect_x2ap_CellMeasurementResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_List_PDU);
2940 offset += 7; offset >>= 3;
2943 static int dissect_CellMeasurementResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2945 asn1_ctx_t asn1_ctx;
2946 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2947 offset = dissect_x2ap_CellMeasurementResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_Item_PDU);
2948 offset += 7; offset >>= 3;
2951 static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2952 asn1_ctx_t asn1_ctx;
2953 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2954 dissect_x2ap_X2AP_PDU(tvb, 0, &asn1_ctx, tree, hf_x2ap_X2AP_PDU_PDU);
2958 /*--- End of included file: packet-x2ap-fn.c ---*/
2959 #line 90 "packet-x2ap-template.c"
2961 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2963 return (dissector_try_port(x2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2966 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2968 return (dissector_try_port(x2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2971 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2973 if (!ProcedureID) return 0;
2974 return (dissector_try_string(x2ap_proc_imsg_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2977 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2979 if (!ProcedureID) return 0;
2980 return (dissector_try_string(x2ap_proc_sout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2983 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2985 if (!ProcedureID) return 0;
2986 return (dissector_try_string(x2ap_proc_uout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2990 dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2992 proto_item *x2ap_item = NULL;
2993 proto_tree *x2ap_tree = NULL;
2995 /* make entry in the Protocol column on summary display */
2996 if (check_col(pinfo->cinfo, COL_PROTOCOL))
2997 col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP");
2999 /* create the x2ap protocol tree */
3000 x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, FALSE);
3001 x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap);
3003 dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree);
3006 /*--- proto_register_x2ap -------------------------------------------*/
3007 void proto_register_x2ap(void) {
3009 /* List of fields */
3011 static hf_register_info hf[] = {
3013 /*--- Included file: packet-x2ap-hfarr.c ---*/
3014 #line 1 "packet-x2ap-hfarr.c"
3015 { &hf_x2ap_Cause_PDU,
3016 { "Cause", "x2ap.Cause",
3017 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
3018 "x2ap.Cause", HFILL }},
3019 { &hf_x2ap_CriticalityDiagnostics_PDU,
3020 { "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics",
3021 FT_NONE, BASE_NONE, NULL, 0,
3022 "x2ap.CriticalityDiagnostics", HFILL }},
3023 { &hf_x2ap_ECGI_PDU,
3024 { "ECGI", "x2ap.ECGI",
3025 FT_NONE, BASE_NONE, NULL, 0,
3026 "x2ap.ECGI", HFILL }},
3027 { &hf_x2ap_GlobalENB_ID_PDU,
3028 { "GlobalENB-ID", "x2ap.GlobalENB_ID",
3029 FT_NONE, BASE_NONE, NULL, 0,
3030 "x2ap.GlobalENB_ID", HFILL }},
3031 { &hf_x2ap_GUGroupIDList_PDU,
3032 { "GUGroupIDList", "x2ap.GUGroupIDList",
3033 FT_UINT32, BASE_DEC, NULL, 0,
3034 "x2ap.GUGroupIDList", HFILL }},
3035 { &hf_x2ap_GUMMEI_PDU,
3036 { "GUMMEI", "x2ap.GUMMEI",
3037 FT_NONE, BASE_NONE, NULL, 0,
3038 "x2ap.GUMMEI", HFILL }},
3039 { &hf_x2ap_InterfacesToTrace_Item_PDU,
3040 { "InterfacesToTrace-Item", "x2ap.InterfacesToTrace_Item",
3041 FT_NONE, BASE_NONE, NULL, 0,
3042 "x2ap.InterfacesToTrace_Item", HFILL }},
3043 { &hf_x2ap_Registration_Request_PDU,
3044 { "Registration-Request", "x2ap.Registration_Request",
3045 FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0,
3046 "x2ap.Registration_Request", HFILL }},
3047 { &hf_x2ap_ServedCells_PDU,
3048 { "ServedCells", "x2ap.ServedCells",
3049 FT_UINT32, BASE_DEC, NULL, 0,
3050 "x2ap.ServedCells", HFILL }},
3051 { &hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU,
3052 { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer",
3053 FT_BYTES, BASE_HEX, NULL, 0,
3054 "x2ap.TargeteNBtoSource_eNBTransparentContainer", HFILL }},
3055 { &hf_x2ap_TimeToWait_PDU,
3056 { "TimeToWait", "x2ap.TimeToWait",
3057 FT_BYTES, BASE_HEX, NULL, 0,
3058 "x2ap.TimeToWait", HFILL }},
3059 { &hf_x2ap_TraceActivation_PDU,
3060 { "TraceActivation", "x2ap.TraceActivation",
3061 FT_NONE, BASE_NONE, NULL, 0,
3062 "x2ap.TraceActivation", HFILL }},
3063 { &hf_x2ap_UE_HistoryInformation_PDU,
3064 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation",
3065 FT_UINT32, BASE_DEC, NULL, 0,
3066 "x2ap.UE_HistoryInformation", HFILL }},
3067 { &hf_x2ap_UE_X2AP_ID_PDU,
3068 { "UE-X2AP-ID", "x2ap.UE_X2AP_ID",
3069 FT_UINT32, BASE_DEC, NULL, 0,
3070 "x2ap.UE_X2AP_ID", HFILL }},
3071 { &hf_x2ap_HandoverRequest_PDU,
3072 { "HandoverRequest", "x2ap.HandoverRequest",
3073 FT_NONE, BASE_NONE, NULL, 0,
3074 "x2ap.HandoverRequest", HFILL }},
3075 { &hf_x2ap_UE_ContextInformation_PDU,
3076 { "UE-ContextInformation", "x2ap.UE_ContextInformation",
3077 FT_NONE, BASE_NONE, NULL, 0,
3078 "x2ap.UE_ContextInformation", HFILL }},
3079 { &hf_x2ap_Bearers_ToBeSetup_Item_PDU,
3080 { "Bearers-ToBeSetup-Item", "x2ap.Bearers_ToBeSetup_Item",
3081 FT_NONE, BASE_NONE, NULL, 0,
3082 "x2ap.Bearers_ToBeSetup_Item", HFILL }},
3083 { &hf_x2ap_HandoverRequestAcknowledge_PDU,
3084 { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge",
3085 FT_NONE, BASE_NONE, NULL, 0,
3086 "x2ap.HandoverRequestAcknowledge", HFILL }},
3087 { &hf_x2ap_Bearers_Admitted_List_PDU,
3088 { "Bearers-Admitted-List", "x2ap.Bearers_Admitted_List",
3089 FT_UINT32, BASE_DEC, NULL, 0,
3090 "x2ap.Bearers_Admitted_List", HFILL }},
3091 { &hf_x2ap_Bearers_Admitted_Item_PDU,
3092 { "Bearers-Admitted-Item", "x2ap.Bearers_Admitted_Item",
3093 FT_NONE, BASE_NONE, NULL, 0,
3094 "x2ap.Bearers_Admitted_Item", HFILL }},
3095 { &hf_x2ap_Bearers_NotAdmitted_List_PDU,
3096 { "Bearers-NotAdmitted-List", "x2ap.Bearers_NotAdmitted_List",
3097 FT_UINT32, BASE_DEC, NULL, 0,
3098 "x2ap.Bearers_NotAdmitted_List", HFILL }},
3099 { &hf_x2ap_Bearers_NotAdmitted_Item_PDU,
3100 { "Bearers-NotAdmitted-Item", "x2ap.Bearers_NotAdmitted_Item",
3101 FT_NONE, BASE_NONE, NULL, 0,
3102 "x2ap.Bearers_NotAdmitted_Item", HFILL }},
3103 { &hf_x2ap_HandoverPreparationFailure_PDU,
3104 { "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure",
3105 FT_NONE, BASE_NONE, NULL, 0,
3106 "x2ap.HandoverPreparationFailure", HFILL }},
3107 { &hf_x2ap_SNStatusTransfer_PDU,
3108 { "SNStatusTransfer", "x2ap.SNStatusTransfer",
3109 FT_NONE, BASE_NONE, NULL, 0,
3110 "x2ap.SNStatusTransfer", HFILL }},
3111 { &hf_x2ap_Bearers_SubjectToStatusTransfer_List_PDU,
3112 { "Bearers-SubjectToStatusTransfer-List", "x2ap.Bearers_SubjectToStatusTransfer_List",
3113 FT_UINT32, BASE_DEC, NULL, 0,
3114 "x2ap.Bearers_SubjectToStatusTransfer_List", HFILL }},
3115 { &hf_x2ap_Bearers_SubjectToStatusTransfer_Item_PDU,
3116 { "Bearers-SubjectToStatusTransfer-Item", "x2ap.Bearers_SubjectToStatusTransfer_Item",
3117 FT_NONE, BASE_NONE, NULL, 0,
3118 "x2ap.Bearers_SubjectToStatusTransfer_Item", HFILL }},
3119 { &hf_x2ap_UEContextRelease_PDU,
3120 { "UEContextRelease", "x2ap.UEContextRelease",
3121 FT_NONE, BASE_NONE, NULL, 0,
3122 "x2ap.UEContextRelease", HFILL }},
3123 { &hf_x2ap_HandoverCancel_PDU,
3124 { "HandoverCancel", "x2ap.HandoverCancel",
3125 FT_NONE, BASE_NONE, NULL, 0,
3126 "x2ap.HandoverCancel", HFILL }},
3127 { &hf_x2ap_ErrorIndication_PDU,
3128 { "ErrorIndication", "x2ap.ErrorIndication",
3129 FT_NONE, BASE_NONE, NULL, 0,
3130 "x2ap.ErrorIndication", HFILL }},
3131 { &hf_x2ap_ResetRequest_PDU,
3132 { "ResetRequest", "x2ap.ResetRequest",
3133 FT_NONE, BASE_NONE, NULL, 0,
3134 "x2ap.ResetRequest", HFILL }},
3135 { &hf_x2ap_ResetResponse_PDU,
3136 { "ResetResponse", "x2ap.ResetResponse",
3137 FT_NONE, BASE_NONE, NULL, 0,
3138 "x2ap.ResetResponse", HFILL }},
3139 { &hf_x2ap_X2SetupRequest_PDU,
3140 { "X2SetupRequest", "x2ap.X2SetupRequest",
3141 FT_NONE, BASE_NONE, NULL, 0,
3142 "x2ap.X2SetupRequest", HFILL }},
3143 { &hf_x2ap_X2SetupResponse_PDU,
3144 { "X2SetupResponse", "x2ap.X2SetupResponse",
3145 FT_NONE, BASE_NONE, NULL, 0,
3146 "x2ap.X2SetupResponse", HFILL }},
3147 { &hf_x2ap_X2SetupFailure_PDU,
3148 { "X2SetupFailure", "x2ap.X2SetupFailure",
3149 FT_NONE, BASE_NONE, NULL, 0,
3150 "x2ap.X2SetupFailure", HFILL }},
3151 { &hf_x2ap_LoadInformation_PDU,
3152 { "LoadInformation", "x2ap.LoadInformation",
3153 FT_NONE, BASE_NONE, NULL, 0,
3154 "x2ap.LoadInformation", HFILL }},
3155 { &hf_x2ap_CellInformation_List_PDU,
3156 { "CellInformation-List", "x2ap.CellInformation_List",
3157 FT_UINT32, BASE_DEC, NULL, 0,
3158 "x2ap.CellInformation_List", HFILL }},
3159 { &hf_x2ap_CellInformation_Item_PDU,
3160 { "CellInformation-Item", "x2ap.CellInformation_Item",
3161 FT_NONE, BASE_NONE, NULL, 0,
3162 "x2ap.CellInformation_Item", HFILL }},
3163 { &hf_x2ap_ENBConfigurationUpdate_PDU,
3164 { "ENBConfigurationUpdate", "x2ap.ENBConfigurationUpdate",
3165 FT_NONE, BASE_NONE, NULL, 0,
3166 "x2ap.ENBConfigurationUpdate", HFILL }},
3167 { &hf_x2ap_ServedCellsToModify_PDU,
3168 { "ServedCellsToModify", "x2ap.ServedCellsToModify",
3169 FT_UINT32, BASE_DEC, NULL, 0,
3170 "x2ap.ServedCellsToModify", HFILL }},
3171 { &hf_x2ap_Old_ECGIs_PDU,
3172 { "Old-ECGIs", "x2ap.Old_ECGIs",
3173 FT_UINT32, BASE_DEC, NULL, 0,
3174 "x2ap.Old_ECGIs", HFILL }},
3175 { &hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU,
3176 { "ENBConfigurationUpdateAcknowledge", "x2ap.ENBConfigurationUpdateAcknowledge",
3177 FT_NONE, BASE_NONE, NULL, 0,
3178 "x2ap.ENBConfigurationUpdateAcknowledge", HFILL }},
3179 { &hf_x2ap_ENBConfigurationUpdateFailure_PDU,
3180 { "ENBConfigurationUpdateFailure", "x2ap.ENBConfigurationUpdateFailure",
3181 FT_NONE, BASE_NONE, NULL, 0,
3182 "x2ap.ENBConfigurationUpdateFailure", HFILL }},
3183 { &hf_x2ap_ResourceStatusRequest_PDU,
3184 { "ResourceStatusRequest", "x2ap.ResourceStatusRequest",
3185 FT_NONE, BASE_NONE, NULL, 0,
3186 "x2ap.ResourceStatusRequest", HFILL }},
3187 { &hf_x2ap_CellToReport_List_PDU,
3188 { "CellToReport-List", "x2ap.CellToReport_List",
3189 FT_UINT32, BASE_DEC, NULL, 0,
3190 "x2ap.CellToReport_List", HFILL }},
3191 { &hf_x2ap_CellToReport_Item_PDU,
3192 { "CellToReport-Item", "x2ap.CellToReport_Item",
3193 FT_NONE, BASE_NONE, NULL, 0,
3194 "x2ap.CellToReport_Item", HFILL }},
3195 { &hf_x2ap_ReportingPeriod_PDU,
3196 { "ReportingPeriod", "x2ap.ReportingPeriod",
3197 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriod_vals), 0,
3198 "x2ap.ReportingPeriod", HFILL }},
3199 { &hf_x2ap_ResourceStatusResponse_PDU,
3200 { "ResourceStatusResponse", "x2ap.ResourceStatusResponse",
3201 FT_NONE, BASE_NONE, NULL, 0,
3202 "x2ap.ResourceStatusResponse", HFILL }},
3203 { &hf_x2ap_ResourceStatusFailure_PDU,
3204 { "ResourceStatusFailure", "x2ap.ResourceStatusFailure",
3205 FT_NONE, BASE_NONE, NULL, 0,
3206 "x2ap.ResourceStatusFailure", HFILL }},
3207 { &hf_x2ap_ResourceStatusUpdate_PDU,
3208 { "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate",
3209 FT_NONE, BASE_NONE, NULL, 0,
3210 "x2ap.ResourceStatusUpdate", HFILL }},
3211 { &hf_x2ap_CellMeasurementResult_List_PDU,
3212 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List",
3213 FT_UINT32, BASE_DEC, NULL, 0,
3214 "x2ap.CellMeasurementResult_List", HFILL }},
3215 { &hf_x2ap_CellMeasurementResult_Item_PDU,
3216 { "CellMeasurementResult-Item", "x2ap.CellMeasurementResult_Item",
3217 FT_NONE, BASE_NONE, NULL, 0,
3218 "x2ap.CellMeasurementResult_Item", HFILL }},
3219 { &hf_x2ap_X2AP_PDU_PDU,
3220 { "X2AP-PDU", "x2ap.X2AP_PDU",
3221 FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
3222 "x2ap.X2AP_PDU", HFILL }},
3223 { &hf_x2ap_ProtocolIE_Container_item,
3224 { "ProtocolIE-Container", "x2ap.ProtocolIE_Container_item",
3225 FT_NONE, BASE_NONE, NULL, 0,
3226 "x2ap.ProtocolIE_Field", HFILL }},
3229 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
3230 "x2ap.ProtocolIE_ID", HFILL }},
3231 { &hf_x2ap_criticality,
3232 { "criticality", "x2ap.criticality",
3233 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
3234 "x2ap.Criticality", HFILL }},
3235 { &hf_x2ap_protocolIE_Field_value,
3236 { "value", "x2ap.value",
3237 FT_NONE, BASE_NONE, NULL, 0,
3238 "x2ap.ProtocolIE_Field_value", HFILL }},
3239 { &hf_x2ap_ProtocolExtensionContainer_item,
3240 { "ProtocolExtensionContainer", "x2ap.ProtocolExtensionContainer_item",
3241 FT_NONE, BASE_NONE, NULL, 0,
3242 "x2ap.ProtocolExtensionField", HFILL }},
3243 { &hf_x2ap_extension_id,
3245 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
3246 "x2ap.ProtocolIE_ID", HFILL }},
3247 { &hf_x2ap_extensionValue,
3248 { "extensionValue", "x2ap.extensionValue",
3249 FT_NONE, BASE_NONE, NULL, 0,
3250 "x2ap.T_extensionValue", HFILL }},
3251 { &hf_x2ap_BroadcastPLMNs_Item_item,
3252 { "BroadcastPLMNs-Item", "x2ap.BroadcastPLMNs_Item_item",
3253 FT_BYTES, BASE_HEX, NULL, 0,
3254 "x2ap.PLMN_Identity", HFILL }},
3255 { &hf_x2ap_radioNetwork,
3256 { "radioNetwork", "x2ap.radioNetwork",
3257 FT_UINT32, BASE_DEC, VALS(x2ap_CauseRadioNetwork_vals), 0,
3258 "x2ap.CauseRadioNetwork", HFILL }},
3259 { &hf_x2ap_transport,
3260 { "transport", "x2ap.transport",
3261 FT_UINT32, BASE_DEC, VALS(x2ap_CauseTransport_vals), 0,
3262 "x2ap.CauseTransport", HFILL }},
3263 { &hf_x2ap_protocol,
3264 { "protocol", "x2ap.protocol",
3265 FT_UINT32, BASE_DEC, VALS(x2ap_CauseProtocol_vals), 0,
3266 "x2ap.CauseProtocol", HFILL }},
3268 { "misc", "x2ap.misc",
3269 FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0,
3270 "x2ap.CauseMisc", HFILL }},
3272 { "pDCP-SN", "x2ap.pDCP_SN",
3273 FT_UINT32, BASE_DEC, NULL, 0,
3274 "x2ap.PDCP_SN", HFILL }},
3276 { "hFN", "x2ap.hFN",
3277 FT_UINT32, BASE_DEC, NULL, 0,
3278 "x2ap.HFN", HFILL }},
3279 { &hf_x2ap_iE_Extensions,
3280 { "iE-Extensions", "x2ap.iE_Extensions",
3281 FT_UINT32, BASE_DEC, NULL, 0,
3282 "x2ap.ProtocolExtensionContainer", HFILL }},
3283 { &hf_x2ap_procedureCode,
3284 { "procedureCode", "x2ap.procedureCode",
3285 FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureCode_vals), 0,
3286 "x2ap.ProcedureCode", HFILL }},
3287 { &hf_x2ap_triggeringMessage,
3288 { "triggeringMessage", "x2ap.triggeringMessage",
3289 FT_UINT32, BASE_DEC, VALS(x2ap_TriggeringMessage_vals), 0,
3290 "x2ap.TriggeringMessage", HFILL }},
3291 { &hf_x2ap_procedureCriticality,
3292 { "procedureCriticality", "x2ap.procedureCriticality",
3293 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
3294 "x2ap.Criticality", HFILL }},
3295 { &hf_x2ap_iEsCriticalityDiagnostics,
3296 { "iEsCriticalityDiagnostics", "x2ap.iEsCriticalityDiagnostics",
3297 FT_UINT32, BASE_DEC, NULL, 0,
3298 "x2ap.CriticalityDiagnostics_IE_List", HFILL }},
3299 { &hf_x2ap_CriticalityDiagnostics_IE_List_item,
3300 { "CriticalityDiagnostics-IE-List", "x2ap.CriticalityDiagnostics_IE_List_item",
3301 FT_NONE, BASE_NONE, NULL, 0,
3302 "x2ap.CriticalityDiagnostics_IE_List_item", HFILL }},
3303 { &hf_x2ap_iECriticality,
3304 { "iECriticality", "x2ap.iECriticality",
3305 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
3306 "x2ap.Criticality", HFILL }},
3308 { "iE-ID", "x2ap.iE_ID",
3309 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
3310 "x2ap.ProtocolIE_ID", HFILL }},
3311 { &hf_x2ap_typeOfError,
3312 { "typeOfError", "x2ap.typeOfError",
3313 FT_UINT32, BASE_DEC, VALS(x2ap_TypeOfError_vals), 0,
3314 "x2ap.TypeOfError", HFILL }},
3315 { &hf_x2ap_pLMN_Identity,
3316 { "pLMN-Identity", "x2ap.pLMN_Identity",
3317 FT_BYTES, BASE_HEX, NULL, 0,
3318 "x2ap.PLMN_Identity", HFILL }},
3319 { &hf_x2ap_eUTRANcellIdentifier,
3320 { "eUTRANcellIdentifier", "x2ap.eUTRANcellIdentifier",
3321 FT_BYTES, BASE_HEX, NULL, 0,
3322 "x2ap.EUTRANCellIdentifier", HFILL }},
3323 { &hf_x2ap_macro_eNB_ID,
3324 { "macro-eNB-ID", "x2ap.macro_eNB_ID",
3325 FT_BYTES, BASE_HEX, NULL, 0,
3326 "x2ap.BIT_STRING_SIZE_20", HFILL }},
3327 { &hf_x2ap_home_eNB_ID,
3328 { "home-eNB-ID", "x2ap.home_eNB_ID",
3329 FT_BYTES, BASE_HEX, NULL, 0,
3330 "x2ap.BIT_STRING_SIZE_28", HFILL }},
3331 { &hf_x2ap_EPLMNs_item,
3332 { "EPLMNs", "x2ap.EPLMNs_item",
3333 FT_BYTES, BASE_HEX, NULL, 0,
3334 "x2ap.PLMN_Identity", HFILL }},
3335 { &hf_x2ap_ForbiddenTAs_item,
3336 { "ForbiddenTAs", "x2ap.ForbiddenTAs_item",
3337 FT_NONE, BASE_NONE, NULL, 0,
3338 "x2ap.ForbiddenTAs_Item", HFILL }},
3339 { &hf_x2ap_forbiddenTACs,
3340 { "forbiddenTACs", "x2ap.forbiddenTACs",
3341 FT_UINT32, BASE_DEC, NULL, 0,
3342 "x2ap.ForbiddenTACs", HFILL }},
3343 { &hf_x2ap_ForbiddenTACs_item,
3344 { "ForbiddenTACs", "x2ap.ForbiddenTACs_item",
3345 FT_BYTES, BASE_HEX, NULL, 0,
3346 "x2ap.TAC", HFILL }},
3347 { &hf_x2ap_ForbiddenLAs_item,
3348 { "ForbiddenLAs", "x2ap.ForbiddenLAs_item",
3349 FT_NONE, BASE_NONE, NULL, 0,
3350 "x2ap.ForbiddenLAs_Item", HFILL }},
3351 { &hf_x2ap_forbiddenLACs,
3352 { "forbiddenLACs", "x2ap.forbiddenLACs",
3353 FT_UINT32, BASE_DEC, NULL, 0,
3354 "x2ap.ForbiddenLACs", HFILL }},
3355 { &hf_x2ap_ForbiddenLACs_item,
3356 { "ForbiddenLACs", "x2ap.ForbiddenLACs_item",
3357 FT_BYTES, BASE_HEX, NULL, 0,
3358 "x2ap.LAC", HFILL }},
3359 { &hf_x2ap_sAE_Bearer_MaximumBitrateDL,
3360 { "sAE-Bearer-MaximumBitrateDL", "x2ap.sAE_Bearer_MaximumBitrateDL",
3361 FT_UINT32, BASE_DEC, NULL, 0,
3362 "x2ap.BitRate", HFILL }},
3363 { &hf_x2ap_sAE_Bearer_MaximumBitrateUL,
3364 { "sAE-Bearer-MaximumBitrateUL", "x2ap.sAE_Bearer_MaximumBitrateUL",
3365 FT_UINT32, BASE_DEC, NULL, 0,
3366 "x2ap.BitRate", HFILL }},
3367 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateDL,
3368 { "sAE-Bearer-GuaranteedBitrateDL", "x2ap.sAE_Bearer_GuaranteedBitrateDL",
3369 FT_UINT32, BASE_DEC, NULL, 0,
3370 "x2ap.BitRate", HFILL }},
3371 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateUL,
3372 { "sAE-Bearer-GuaranteedBitrateUL", "x2ap.sAE_Bearer_GuaranteedBitrateUL",
3373 FT_UINT32, BASE_DEC, NULL, 0,
3374 "x2ap.BitRate", HFILL }},
3376 { "eNB-ID", "x2ap.eNB_ID",
3377 FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0,
3378 "x2ap.ENB_ID", HFILL }},
3379 { &hf_x2ap_transportLayerAddress,
3380 { "transportLayerAddress", "x2ap.transportLayerAddress",
3381 FT_BYTES, BASE_HEX, NULL, 0,
3382 "x2ap.TransportLayerAddress", HFILL }},
3383 { &hf_x2ap_gTP_TEID,
3384 { "gTP-TEID", "x2ap.gTP_TEID",
3385 FT_BYTES, BASE_HEX, NULL, 0,
3386 "x2ap.GTP_TEI", HFILL }},
3387 { &hf_x2ap_GUGroupIDList_item,
3388 { "GUGroupIDList", "x2ap.GUGroupIDList_item",
3389 FT_NONE, BASE_NONE, NULL, 0,
3390 "x2ap.GU_Group_ID", HFILL }},
3391 { &hf_x2ap_mME_Group_ID,
3392 { "mME-Group-ID", "x2ap.mME_Group_ID",
3393 FT_BYTES, BASE_HEX, NULL, 0,
3394 "x2ap.MME_Group_ID", HFILL }},
3395 { &hf_x2ap_gU_Group_ID,
3396 { "gU-Group-ID", "x2ap.gU_Group_ID",
3397 FT_NONE, BASE_NONE, NULL, 0,
3398 "x2ap.GU_Group_ID", HFILL }},
3399 { &hf_x2ap_mMME_Code,
3400 { "mMME-Code", "x2ap.mMME_Code",
3401 FT_BYTES, BASE_HEX, NULL, 0,
3402 "x2ap.MME_Code", HFILL }},
3403 { &hf_x2ap_servingPLMN,
3404 { "servingPLMN", "x2ap.servingPLMN",
3405 FT_BYTES, BASE_HEX, NULL, 0,
3406 "x2ap.PLMN_Identity", HFILL }},
3407 { &hf_x2ap_equivalentPLMNs,
3408 { "equivalentPLMNs", "x2ap.equivalentPLMNs",
3409 FT_UINT32, BASE_DEC, NULL, 0,
3410 "x2ap.EPLMNs", HFILL }},
3411 { &hf_x2ap_forbiddenTAs,
3412 { "forbiddenTAs", "x2ap.forbiddenTAs",
3413 FT_UINT32, BASE_DEC, NULL, 0,
3414 "x2ap.ForbiddenTAs", HFILL }},
3415 { &hf_x2ap_forbiddenLAs,
3416 { "forbiddenLAs", "x2ap.forbiddenLAs",
3417 FT_UINT32, BASE_DEC, NULL, 0,
3418 "x2ap.ForbiddenLAs", HFILL }},
3419 { &hf_x2ap_forbiddenInterRATs,
3420 { "forbiddenInterRATs", "x2ap.forbiddenInterRATs",
3421 FT_UINT32, BASE_DEC, VALS(x2ap_ForbiddenInterRATs_vals), 0,
3422 "x2ap.ForbiddenInterRATs", HFILL }},
3423 { &hf_x2ap_InterfacesToTrace_item,
3424 { "InterfacesToTrace", "x2ap.InterfacesToTrace_item",
3425 FT_NONE, BASE_NONE, NULL, 0,
3426 "x2ap.ProtocolIE_Single_Container", HFILL }},
3427 { &hf_x2ap_traceInterface,
3428 { "traceInterface", "x2ap.traceInterface",
3429 FT_UINT32, BASE_DEC, VALS(x2ap_TraceInterface_vals), 0,
3430 "x2ap.TraceInterface", HFILL }},
3431 { &hf_x2ap_traceDepth,
3432 { "traceDepth", "x2ap.traceDepth",
3433 FT_UINT32, BASE_DEC, VALS(x2ap_TraceDepth_vals), 0,
3434 "x2ap.TraceDepth", HFILL }},
3435 { &hf_x2ap_global_Cell_ID,
3436 { "global-Cell-ID", "x2ap.global_Cell_ID",
3437 FT_NONE, BASE_NONE, NULL, 0,
3438 "x2ap.ECGI", HFILL }},
3439 { &hf_x2ap_cellType,
3440 { "cellType", "x2ap.cellType",
3441 FT_UINT32, BASE_DEC, VALS(x2ap_CellType_vals), 0,
3442 "x2ap.CellType", HFILL }},
3443 { &hf_x2ap_time_UE_StayedInCell,
3444 { "time-UE-StayedInCell", "x2ap.time_UE_StayedInCell",
3445 FT_INT32, BASE_DEC, NULL, 0,
3446 "x2ap.Time_UE_StayedInCell", HFILL }},
3447 { &hf_x2ap_eventType,
3448 { "eventType", "x2ap.eventType",
3449 FT_UINT32, BASE_DEC, VALS(x2ap_EventType_vals), 0,
3450 "x2ap.EventType", HFILL }},
3451 { &hf_x2ap_reportArea,
3452 { "reportArea", "x2ap.reportArea",
3453 FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
3454 "x2ap.ReportArea", HFILL }},
3455 { &hf_x2ap_rNTP_PerPRB,
3456 { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
3457 FT_BYTES, BASE_HEX, NULL, 0,
3458 "x2ap.BIT_STRING_SIZE_6_110_", HFILL }},
3459 { &hf_x2ap_rNTP_Threshold,
3460 { "rNTP-Threshold", "x2ap.rNTP_Threshold",
3461 FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
3462 "x2ap.RNTP_Threshold", HFILL }},
3463 { &hf_x2ap_numberOfCellSpecificAntennaPorts,
3464 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
3465 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
3466 "x2ap.T_numberOfCellSpecificAntennaPorts", HFILL }},
3468 { "p-B", "x2ap.p_B",
3469 FT_UINT32, BASE_DEC, NULL, 0,
3470 "x2ap.INTEGER_0_3_", HFILL }},
3471 { &hf_x2ap_pDCCH_InterferenceImpact,
3472 { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
3473 FT_UINT32, BASE_DEC, NULL, 0,
3474 "x2ap.INTEGER_0_4_", HFILL }},
3476 { "qCI", "x2ap.qCI",
3477 FT_UINT32, BASE_DEC, NULL, 0,
3478 "x2ap.QCI", HFILL }},
3479 { &hf_x2ap_allocationAndRetentionPriority,
3480 { "allocationAndRetentionPriority", "x2ap.allocationAndRetentionPriority",
3481 FT_UINT32, BASE_DEC, NULL, 0,
3482 "x2ap.AllocationAndRetentionPriority", HFILL }},
3483 { &hf_x2ap_gbrQosInformation,
3484 { "gbrQosInformation", "x2ap.gbrQosInformation",
3485 FT_NONE, BASE_NONE, NULL, 0,
3486 "x2ap.GBR_QosInformation", HFILL }},
3487 { &hf_x2ap_ServedCells_item,
3488 { "ServedCells", "x2ap.ServedCells_item",
3489 FT_NONE, BASE_NONE, NULL, 0,
3490 "x2ap.ServedCell_Information", HFILL }},
3492 { "phyCID", "x2ap.phyCID",
3493 FT_UINT32, BASE_DEC, NULL, 0,
3494 "x2ap.PhyCID", HFILL }},
3496 { "cellId", "x2ap.cellId",
3497 FT_NONE, BASE_NONE, NULL, 0,
3498 "x2ap.ECGI", HFILL }},
3500 { "tAC", "x2ap.tAC",
3501 FT_BYTES, BASE_HEX, NULL, 0,
3502 "x2ap.TAC", HFILL }},
3503 { &hf_x2ap_broadcastPLMNs,
3504 { "broadcastPLMNs", "x2ap.broadcastPLMNs",
3505 FT_UINT32, BASE_DEC, NULL, 0,
3506 "x2ap.BroadcastPLMNs_Item", HFILL }},
3507 { &hf_x2ap_uL_EARFCN,
3508 { "uL-EARFCN", "x2ap.uL_EARFCN",
3509 FT_UINT32, BASE_DEC, NULL, 0,
3510 "x2ap.EARFCN", HFILL }},
3511 { &hf_x2ap_dL_EARFCN,
3512 { "dL-EARFCN", "x2ap.dL_EARFCN",
3513 FT_UINT32, BASE_DEC, NULL, 0,
3514 "x2ap.EARFCN", HFILL }},
3515 { &hf_x2ap_cell_Transmission_Bandwidth,
3516 { "cell-Transmission-Bandwidth", "x2ap.cell_Transmission_Bandwidth",
3517 FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Transmission_Bandwidth_vals), 0,
3518 "x2ap.Cell_Transmission_Bandwidth", HFILL }},
3519 { &hf_x2ap_traceReference,
3520 { "traceReference", "x2ap.traceReference",
3521 FT_BYTES, BASE_HEX, NULL, 0,
3522 "x2ap.TraceReference", HFILL }},
3523 { &hf_x2ap_interfacesToTrace,
3524 { "interfacesToTrace", "x2ap.interfacesToTrace",
3525 FT_UINT32, BASE_DEC, NULL, 0,
3526 "x2ap.InterfacesToTrace", HFILL }},
3527 { &hf_x2ap_UE_HistoryInformation_item,
3528 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation_item",
3529 FT_NONE, BASE_NONE, NULL, 0,
3530 "x2ap.LastVisitedCell_Item", HFILL }},
3531 { &hf_x2ap_uEaggregateMaximumBitRateDownlink,
3532 { "uEaggregateMaximumBitRateDownlink", "x2ap.uEaggregateMaximumBitRateDownlink",
3533 FT_UINT32, BASE_DEC, NULL, 0,
3534 "x2ap.BitRate", HFILL }},
3535 { &hf_x2ap_uEaggregateMaximumBitRateUplink,
3536 { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink",
3537 FT_UINT32, BASE_DEC, NULL, 0,
3538 "x2ap.BitRate", HFILL }},
3539 { &hf_x2ap_UL_InterferenceOverloadIndication_item,
3540 { "UL-InterferenceOverloadIndication", "x2ap.UL_InterferenceOverloadIndication_item",
3541 FT_UINT32, BASE_DEC, VALS(x2ap_UL_InterferenceOverloadIndication_Item_vals), 0,
3542 "x2ap.UL_InterferenceOverloadIndication_Item", HFILL }},
3543 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item,
3544 { "UL-HighInterferenceIndicationInfo", "x2ap.UL_HighInterferenceIndicationInfo_item",
3545 FT_NONE, BASE_NONE, NULL, 0,
3546 "x2ap.UL_HighInterferenceIndicationInfo_Item", HFILL }},
3547 { &hf_x2ap_ul_interferenceindication,
3548 { "ul-interferenceindication", "x2ap.ul_interferenceindication",
3549 FT_BYTES, BASE_HEX, NULL, 0,
3550 "x2ap.UL_HighInterferenceIndication", HFILL }},
3551 { &hf_x2ap_target_Cell_ID,
3552 { "target-Cell-ID", "x2ap.target_Cell_ID",
3553 FT_NONE, BASE_NONE, NULL, 0,
3554 "x2ap.ECGI", HFILL }},
3555 { &hf_x2ap_protocolIEs,
3556 { "protocolIEs", "x2ap.protocolIEs",
3557 FT_UINT32, BASE_DEC, NULL, 0,
3558 "x2ap.ProtocolIE_Container", HFILL }},
3559 { &hf_x2ap_mME_UE_S1AP_ID,
3560 { "mME-UE-S1AP-ID", "x2ap.mME_UE_S1AP_ID",
3561 FT_UINT32, BASE_DEC, NULL, 0,
3562 "x2ap.UE_S1AP_ID", HFILL }},
3563 { &hf_x2ap_uEaggregateMaximumBitRate,
3564 { "uEaggregateMaximumBitRate", "x2ap.uEaggregateMaximumBitRate",
3565 FT_NONE, BASE_NONE, NULL, 0,
3566 "x2ap.UEAggregateMaximumBitRate", HFILL }},
3567 { &hf_x2ap_subscriberProfileIDforRFP,
3568 { "subscriberProfileIDforRFP", "x2ap.subscriberProfileIDforRFP",
3569 FT_UINT32, BASE_DEC, NULL, 0,
3570 "x2ap.SubscriberProfileIDforRFP", HFILL }},
3571 { &hf_x2ap_bearers_ToBeSetup_List,
3572 { "bearers-ToBeSetup-List", "x2ap.bearers_ToBeSetup_List",
3573 FT_UINT32, BASE_DEC, NULL, 0,
3574 "x2ap.Bearers_ToBeSetup_List", HFILL }},
3575 { &hf_x2ap_rRC_Context,
3576 { "rRC-Context", "x2ap.rRC_Context",
3577 FT_BYTES, BASE_HEX, NULL, 0,
3578 "x2ap.RRC_Context", HFILL }},
3579 { &hf_x2ap_handoverRestrictionList,
3580 { "handoverRestrictionList", "x2ap.handoverRestrictionList",
3581 FT_NONE, BASE_NONE, NULL, 0,
3582 "x2ap.HandoverRestrictionList", HFILL }},
3583 { &hf_x2ap_locationReportingInformation,
3584 { "locationReportingInformation", "x2ap.locationReportingInformation",
3585 FT_NONE, BASE_NONE, NULL, 0,
3586 "x2ap.LocationReportingInformation", HFILL }},
3587 { &hf_x2ap_Bearers_ToBeSetup_List_item,
3588 { "Bearers-ToBeSetup-List", "x2ap.Bearers_ToBeSetup_List_item",
3589 FT_NONE, BASE_NONE, NULL, 0,
3590 "x2ap.ProtocolIE_Single_Container", HFILL }},
3591 { &hf_x2ap_sAE_Bearer_ID,
3592 { "sAE-Bearer-ID", "x2ap.sAE_Bearer_ID",
3593 FT_UINT32, BASE_DEC, NULL, 0,
3594 "x2ap.Bearer_ID", HFILL }},
3595 { &hf_x2ap_sAE_BearerLevel_QoS_Parameters,
3596 { "sAE-BearerLevel-QoS-Parameters", "x2ap.sAE_BearerLevel_QoS_Parameters",
3597 FT_NONE, BASE_NONE, NULL, 0,
3598 "x2ap.SAE_BearerLevel_QoS_Parameters", HFILL }},
3599 { &hf_x2ap_dL_Forwarding,
3600 { "dL-Forwarding", "x2ap.dL_Forwarding",
3601 FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0,
3602 "x2ap.DL_Forwarding", HFILL }},
3603 { &hf_x2ap_uL_GTPtunnelEndpoint,
3604 { "uL-GTPtunnelEndpoint", "x2ap.uL_GTPtunnelEndpoint",
3605 FT_NONE, BASE_NONE, NULL, 0,
3606 "x2ap.GTPtunnelEndpoint", HFILL }},
3607 { &hf_x2ap_Bearers_Admitted_List_item,
3608 { "Bearers-Admitted-List", "x2ap.Bearers_Admitted_List_item",
3609 FT_NONE, BASE_NONE, NULL, 0,
3610 "x2ap.ProtocolIE_Single_Container", HFILL }},
3611 { &hf_x2ap_bearer_ID,
3612 { "bearer-ID", "x2ap.bearer_ID",
3613 FT_UINT32, BASE_DEC, NULL, 0,
3614 "x2ap.Bearer_ID", HFILL }},
3615 { &hf_x2ap_uL_GTP_TunnelEndpoint,
3616 { "uL-GTP-TunnelEndpoint", "x2ap.uL_GTP_TunnelEndpoint",
3617 FT_NONE, BASE_NONE, NULL, 0,
3618 "x2ap.GTPtunnelEndpoint", HFILL }},
3619 { &hf_x2ap_dL_GTP_TunnelEndpoint,
3620 { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint",
3621 FT_NONE, BASE_NONE, NULL, 0,
3622 "x2ap.GTPtunnelEndpoint", HFILL }},
3623 { &hf_x2ap_Bearers_NotAdmitted_List_item,
3624 { "Bearers-NotAdmitted-List", "x2ap.Bearers_NotAdmitted_List_item",
3625 FT_NONE, BASE_NONE, NULL, 0,
3626 "x2ap.ProtocolIE_Single_Container", HFILL }},
3628 { "cause", "x2ap.cause",
3629 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
3630 "x2ap.Cause", HFILL }},
3631 { &hf_x2ap_Bearers_SubjectToStatusTransfer_List_item,
3632 { "Bearers-SubjectToStatusTransfer-List", "x2ap.Bearers_SubjectToStatusTransfer_List_item",
3633 FT_NONE, BASE_NONE, NULL, 0,
3634 "x2ap.ProtocolIE_Single_Container", HFILL }},
3635 { &hf_x2ap_receiveStatusofULPDCPSDUs,
3636 { "receiveStatusofULPDCPSDUs", "x2ap.receiveStatusofULPDCPSDUs",
3637 FT_BYTES, BASE_HEX, NULL, 0,
3638 "x2ap.ReceiveStatusofULPDCPSDUs", HFILL }},
3639 { &hf_x2ap_uL_COUNTvalue,
3640 { "uL-COUNTvalue", "x2ap.uL_COUNTvalue",
3641 FT_NONE, BASE_NONE, NULL, 0,
3642 "x2ap.COUNTvalue", HFILL }},
3643 { &hf_x2ap_dL_COUNTvalue,
3644 { "dL-COUNTvalue", "x2ap.dL_COUNTvalue",
3645 FT_NONE, BASE_NONE, NULL, 0,
3646 "x2ap.COUNTvalue", HFILL }},
3647 { &hf_x2ap_CellInformation_List_item,
3648 { "CellInformation-List", "x2ap.CellInformation_List_item",
3649 FT_NONE, BASE_NONE, NULL, 0,
3650 "x2ap.ProtocolIE_Single_Container", HFILL }},
3652 { "cell-ID", "x2ap.cell_ID",
3653 FT_NONE, BASE_NONE, NULL, 0,
3654 "x2ap.ECGI", HFILL }},
3655 { &hf_x2ap_ul_InterferenceOverloadIndication,
3656 { "ul-InterferenceOverloadIndication", "x2ap.ul_InterferenceOverloadIndication",
3657 FT_UINT32, BASE_DEC, NULL, 0,
3658 "x2ap.UL_InterferenceOverloadIndication", HFILL }},
3659 { &hf_x2ap_ul_HighInterferenceIndicationInfo,
3660 { "ul-HighInterferenceIndicationInfo", "x2ap.ul_HighInterferenceIndicationInfo",
3661 FT_UINT32, BASE_DEC, NULL, 0,
3662 "x2ap.UL_HighInterferenceIndicationInfo", HFILL }},
3663 { &hf_x2ap_relativeNarrowbandTxPower,
3664 { "relativeNarrowbandTxPower", "x2ap.relativeNarrowbandTxPower",
3665 FT_NONE, BASE_NONE, NULL, 0,
3666 "x2ap.RelativeNarrowbandTxPower", HFILL }},
3667 { &hf_x2ap_ServedCellsToModify_item,
3668 { "ServedCellsToModify", "x2ap.ServedCellsToModify_item",
3669 FT_NONE, BASE_NONE, NULL, 0,
3670 "x2ap.ServedCellsToModify_Item", HFILL }},
3671 { &hf_x2ap_old_ecgi,
3672 { "old-ecgi", "x2ap.old_ecgi",
3673 FT_NONE, BASE_NONE, NULL, 0,
3674 "x2ap.ECGI", HFILL }},
3675 { &hf_x2ap_served_cells,
3676 { "served-cells", "x2ap.served_cells",
3677 FT_NONE, BASE_NONE, NULL, 0,
3678 "x2ap.ServedCell_Information", HFILL }},
3679 { &hf_x2ap_Old_ECGIs_item,
3680 { "Old-ECGIs", "x2ap.Old_ECGIs_item",
3681 FT_NONE, BASE_NONE, NULL, 0,
3682 "x2ap.ECGI", HFILL }},
3683 { &hf_x2ap_CellToReport_List_item,
3684 { "CellToReport-List", "x2ap.CellToReport_List_item",
3685 FT_NONE, BASE_NONE, NULL, 0,
3686 "x2ap.ProtocolIE_Single_Container", HFILL }},
3687 { &hf_x2ap_CellMeasurementResult_List_item,
3688 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List_item",
3689 FT_NONE, BASE_NONE, NULL, 0,
3690 "x2ap.ProtocolIE_Single_Container", HFILL }},
3691 { &hf_x2ap_resoureStatus,
3692 { "resoureStatus", "x2ap.resoureStatus",
3693 FT_INT32, BASE_DEC, NULL, 0,
3694 "x2ap.ResourceStatus", HFILL }},
3695 { &hf_x2ap_initiatingMessage,
3696 { "initiatingMessage", "x2ap.initiatingMessage",
3697 FT_NONE, BASE_NONE, NULL, 0,
3698 "x2ap.InitiatingMessage", HFILL }},
3699 { &hf_x2ap_successfulOutcome,
3700 { "successfulOutcome", "x2ap.successfulOutcome",
3701 FT_NONE, BASE_NONE, NULL, 0,
3702 "x2ap.SuccessfulOutcome", HFILL }},
3703 { &hf_x2ap_unsuccessfulOutcome,
3704 { "unsuccessfulOutcome", "x2ap.unsuccessfulOutcome",
3705 FT_NONE, BASE_NONE, NULL, 0,
3706 "x2ap.UnsuccessfulOutcome", HFILL }},
3707 { &hf_x2ap_initiatingMessage_value,
3708 { "value", "x2ap.value",
3709 FT_NONE, BASE_NONE, NULL, 0,
3710 "x2ap.InitiatingMessage_value", HFILL }},
3711 { &hf_x2ap_successfulOutcome_value,
3712 { "value", "x2ap.value",
3713 FT_NONE, BASE_NONE, NULL, 0,
3714 "x2ap.SuccessfulOutcome_value", HFILL }},
3716 { "value", "x2ap.value",
3717 FT_NONE, BASE_NONE, NULL, 0,
3718 "x2ap.UnsuccessfulOutcome_value", HFILL }},
3720 /*--- End of included file: packet-x2ap-hfarr.c ---*/
3721 #line 143 "packet-x2ap-template.c"
3724 /* List of subtrees */
3725 static gint *ett[] = {
3728 /*--- Included file: packet-x2ap-ettarr.c ---*/
3729 #line 1 "packet-x2ap-ettarr.c"
3730 &ett_x2ap_ProtocolIE_Container,
3731 &ett_x2ap_ProtocolIE_Field,
3732 &ett_x2ap_ProtocolExtensionContainer,
3733 &ett_x2ap_ProtocolExtensionField,
3734 &ett_x2ap_BroadcastPLMNs_Item,
3736 &ett_x2ap_COUNTvalue,
3737 &ett_x2ap_CriticalityDiagnostics,
3738 &ett_x2ap_CriticalityDiagnostics_IE_List,
3739 &ett_x2ap_CriticalityDiagnostics_IE_List_item,
3743 &ett_x2ap_ForbiddenTAs,
3744 &ett_x2ap_ForbiddenTAs_Item,
3745 &ett_x2ap_ForbiddenTACs,
3746 &ett_x2ap_ForbiddenLAs,
3747 &ett_x2ap_ForbiddenLAs_Item,
3748 &ett_x2ap_ForbiddenLACs,
3749 &ett_x2ap_GBR_QosInformation,
3750 &ett_x2ap_GlobalENB_ID,
3751 &ett_x2ap_GTPtunnelEndpoint,
3752 &ett_x2ap_GUGroupIDList,
3753 &ett_x2ap_GU_Group_ID,
3755 &ett_x2ap_HandoverRestrictionList,
3756 &ett_x2ap_InterfacesToTrace,
3757 &ett_x2ap_InterfacesToTrace_Item,
3758 &ett_x2ap_LastVisitedCell_Item,
3759 &ett_x2ap_LocationReportingInformation,
3760 &ett_x2ap_RelativeNarrowbandTxPower,
3761 &ett_x2ap_SAE_BearerLevel_QoS_Parameters,
3762 &ett_x2ap_ServedCells,
3763 &ett_x2ap_ServedCell_Information,
3764 &ett_x2ap_TraceActivation,
3765 &ett_x2ap_UE_HistoryInformation,
3766 &ett_x2ap_UEAggregateMaximumBitRate,
3767 &ett_x2ap_UL_InterferenceOverloadIndication,
3768 &ett_x2ap_UL_HighInterferenceIndicationInfo,
3769 &ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
3770 &ett_x2ap_HandoverRequest,
3771 &ett_x2ap_UE_ContextInformation,
3772 &ett_x2ap_Bearers_ToBeSetup_List,
3773 &ett_x2ap_Bearers_ToBeSetup_Item,
3774 &ett_x2ap_HandoverRequestAcknowledge,
3775 &ett_x2ap_Bearers_Admitted_List,
3776 &ett_x2ap_Bearers_Admitted_Item,
3777 &ett_x2ap_Bearers_NotAdmitted_List,
3778 &ett_x2ap_Bearers_NotAdmitted_Item,
3779 &ett_x2ap_HandoverPreparationFailure,
3780 &ett_x2ap_SNStatusTransfer,
3781 &ett_x2ap_Bearers_SubjectToStatusTransfer_List,
3782 &ett_x2ap_Bearers_SubjectToStatusTransfer_Item,
3783 &ett_x2ap_UEContextRelease,
3784 &ett_x2ap_HandoverCancel,
3785 &ett_x2ap_ErrorIndication,
3786 &ett_x2ap_ResetRequest,
3787 &ett_x2ap_ResetResponse,
3788 &ett_x2ap_X2SetupRequest,
3789 &ett_x2ap_X2SetupResponse,
3790 &ett_x2ap_X2SetupFailure,
3791 &ett_x2ap_LoadInformation,
3792 &ett_x2ap_CellInformation_List,
3793 &ett_x2ap_CellInformation_Item,
3794 &ett_x2ap_ENBConfigurationUpdate,
3795 &ett_x2ap_ServedCellsToModify,
3796 &ett_x2ap_ServedCellsToModify_Item,
3797 &ett_x2ap_Old_ECGIs,
3798 &ett_x2ap_ENBConfigurationUpdateAcknowledge,
3799 &ett_x2ap_ENBConfigurationUpdateFailure,
3800 &ett_x2ap_ResourceStatusRequest,
3801 &ett_x2ap_CellToReport_List,
3802 &ett_x2ap_CellToReport_Item,
3803 &ett_x2ap_ResourceStatusResponse,
3804 &ett_x2ap_ResourceStatusFailure,
3805 &ett_x2ap_ResourceStatusUpdate,
3806 &ett_x2ap_CellMeasurementResult_List,
3807 &ett_x2ap_CellMeasurementResult_Item,
3809 &ett_x2ap_InitiatingMessage,
3810 &ett_x2ap_SuccessfulOutcome,
3811 &ett_x2ap_UnsuccessfulOutcome,
3813 /*--- End of included file: packet-x2ap-ettarr.c ---*/
3814 #line 149 "packet-x2ap-template.c"
3818 /* Register protocol */
3819 proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
3820 /* Register fields and subtrees */
3821 proto_register_field_array(proto_x2ap, hf, array_length(hf));
3822 proto_register_subtree_array(ett, array_length(ett));
3824 /* Register dissector */
3825 register_dissector("x2ap", dissect_x2ap, proto_x2ap);
3826 x2ap_handle = find_dissector("x2ap");
3828 /* Register dissector tables */
3829 x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
3830 x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
3831 x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_STRING, BASE_NONE);
3832 x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_STRING, BASE_NONE);
3833 x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_STRING, BASE_NONE);
3838 /*--- proto_reg_handoff_x2ap ---------------------------------------*/
3840 proto_reg_handoff_x2ap(void)
3843 dissector_add("sctp.port", 0, x2ap_handle);
3846 /*--- Included file: packet-x2ap-dis-tab.c ---*/
3847 #line 1 "packet-x2ap-dis-tab.c"
3848 dissector_add("x2ap.ies", id_Bearers_Admitted_Item, new_create_dissector_handle(dissect_Bearers_Admitted_Item_PDU, proto_x2ap));
3849 dissector_add("x2ap.ies", id_Bearers_Admitted_List, new_create_dissector_handle(dissect_Bearers_Admitted_List_PDU, proto_x2ap));
3850 dissector_add("x2ap.ies", id_Bearers_NotAdmitted_Item, new_create_dissector_handle(dissect_Bearers_NotAdmitted_Item_PDU, proto_x2ap));
3851 dissector_add("x2ap.ies", id_Bearers_NotAdmitted_List, new_create_dissector_handle(dissect_Bearers_NotAdmitted_List_PDU, proto_x2ap));
3852 dissector_add("x2ap.ies", id_Bearers_ToBeSetup_Item, new_create_dissector_handle(dissect_Bearers_ToBeSetup_Item_PDU, proto_x2ap));
3853 dissector_add("x2ap.ies", id_Cause, new_create_dissector_handle(dissect_Cause_PDU, proto_x2ap));
3854 dissector_add("x2ap.ies", id_CellInformation, new_create_dissector_handle(dissect_CellInformation_List_PDU, proto_x2ap));
3855 dissector_add("x2ap.ies", id_CellInformation_Item, new_create_dissector_handle(dissect_CellInformation_Item_PDU, proto_x2ap));
3856 dissector_add("x2ap.ies", id_InterfacesToTrace_Item, new_create_dissector_handle(dissect_InterfacesToTrace_Item_PDU, proto_x2ap));
3857 dissector_add("x2ap.ies", id_New_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
3858 dissector_add("x2ap.ies", id_Old_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
3859 dissector_add("x2ap.ies", id_TargetCell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
3860 dissector_add("x2ap.ies", id_TargeteNBtoSource_eNBTransparentContainer, new_create_dissector_handle(dissect_TargeteNBtoSource_eNBTransparentContainer_PDU, proto_x2ap));
3861 dissector_add("x2ap.ies", id_TraceActivation, new_create_dissector_handle(dissect_TraceActivation_PDU, proto_x2ap));
3862 dissector_add("x2ap.ies", id_UE_ContextInformation, new_create_dissector_handle(dissect_UE_ContextInformation_PDU, proto_x2ap));
3863 dissector_add("x2ap.ies", id_UE_HistoryInformation, new_create_dissector_handle(dissect_UE_HistoryInformation_PDU, proto_x2ap));
3864 dissector_add("x2ap.ies", id_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
3865 dissector_add("x2ap.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_x2ap));
3866 dissector_add("x2ap.ies", id_Bearers_SubjectToStatusTransfer_List, new_create_dissector_handle(dissect_Bearers_SubjectToStatusTransfer_List_PDU, proto_x2ap));
3867 dissector_add("x2ap.ies", id_Bearers_SubjectToStatusTransfer_Item, new_create_dissector_handle(dissect_Bearers_SubjectToStatusTransfer_Item_PDU, proto_x2ap));
3868 dissector_add("x2ap.ies", id_ServedCells, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
3869 dissector_add("x2ap.ies", id_GlobalENB_ID, new_create_dissector_handle(dissect_GlobalENB_ID_PDU, proto_x2ap));
3870 dissector_add("x2ap.ies", id_TimeToWait, new_create_dissector_handle(dissect_TimeToWait_PDU, proto_x2ap));
3871 dissector_add("x2ap.ies", id_GUMMEI_ID, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_x2ap));
3872 dissector_add("x2ap.ies", id_GUGroupIDList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
3873 dissector_add("x2ap.ies", id_ServedCellsToAdd, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
3874 dissector_add("x2ap.ies", id_ServedCellsToModify, new_create_dissector_handle(dissect_ServedCellsToModify_PDU, proto_x2ap));
3875 dissector_add("x2ap.ies", id_ServedCellsToDelete, new_create_dissector_handle(dissect_Old_ECGIs_PDU, proto_x2ap));
3876 dissector_add("x2ap.ies", id_Registration_Request, new_create_dissector_handle(dissect_Registration_Request_PDU, proto_x2ap));
3877 dissector_add("x2ap.ies", id_CellToReport, new_create_dissector_handle(dissect_CellToReport_List_PDU, proto_x2ap));
3878 dissector_add("x2ap.ies", id_ReportingPeriodicity, new_create_dissector_handle(dissect_ReportingPeriod_PDU, proto_x2ap));
3879 dissector_add("x2ap.ies", id_CellToReport_Item, new_create_dissector_handle(dissect_CellToReport_Item_PDU, proto_x2ap));
3880 dissector_add("x2ap.ies", id_CellMeasurementResult, new_create_dissector_handle(dissect_CellMeasurementResult_List_PDU, proto_x2ap));
3881 dissector_add("x2ap.ies", id_CellMeasurementResult_Item, new_create_dissector_handle(dissect_CellMeasurementResult_Item_PDU, proto_x2ap));
3882 dissector_add("x2ap.ies", id_GUGroupIDListToAdd, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
3883 dissector_add("x2ap.ies", id_GUGroupIDListToDelete, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
3884 dissector_add_string("x2ap.proc.imsg", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
3885 dissector_add_string("x2ap.proc.sout", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
3886 dissector_add_string("x2ap.proc.uout", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
3887 dissector_add_string("x2ap.proc.imsg", "id-snStatusTransfer", new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap));
3888 dissector_add_string("x2ap.proc.imsg", "id-uEContextRelease", new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap));
3889 dissector_add_string("x2ap.proc.imsg", "id-handoverCancel", new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap));
3890 dissector_add_string("x2ap.proc.imsg", "id-errorIndication", new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap));
3891 dissector_add_string("x2ap.proc.imsg", "id-reset", new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap));
3892 dissector_add_string("x2ap.proc.sout", "id-reset", new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap));
3893 dissector_add_string("x2ap.proc.imsg", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap));
3894 dissector_add_string("x2ap.proc.sout", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap));
3895 dissector_add_string("x2ap.proc.uout", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap));
3896 dissector_add_string("x2ap.proc.imsg", "id-loadIndication", new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap));
3897 dissector_add_string("x2ap.proc.imsg", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap));
3898 dissector_add_string("x2ap.proc.sout", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap));
3899 dissector_add_string("x2ap.proc.uout", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap));
3900 dissector_add_string("x2ap.proc.imsg", "id-resourceStatusUpdateInitiation", new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap));
3901 dissector_add_string("x2ap.proc.sout", "id-resourceStatusUpdateInitiation", new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap));
3902 dissector_add_string("x2ap.proc.uout", "id-resourceStatusUpdateInitiation", new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap));
3903 dissector_add_string("x2ap.proc.imsg", "id-resourceStatusReporting", new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap));
3906 /*--- End of included file: packet-x2ap-dis-tab.c ---*/
3907 #line 180 "packet-x2ap-template.c"