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 -D . -O ../../epan/dissectors 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 "../../asn1/x2ap/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-2010, 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 V9.2.0 (2010-03)
44 #include <epan/packet.h>
46 #include <epan/asn1.h>
47 #include <epan/prefs.h>
48 #include <epan/sctpppids.h>
50 #include "packet-per.h"
51 #include "packet-e212.h"
52 #include "packet-frame.h"
53 #include "packet-lte-rrc.h"
56 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
57 #pragma warning(disable:4146)
60 #define PNAME "EUTRAN X2 Application Protocol (X2AP)"
64 /* Dissector will use SCTP PPID 27 or SCTP port. IANA assigned port = 36422 */
65 #define SCTP_PORT_X2AP 36422
68 /*--- Included file: packet-x2ap-val.h ---*/
69 #line 1 "../../asn1/x2ap/packet-x2ap-val.h"
70 #define maxPrivateIEs 65535
71 #define maxProtocolExtensions 65535
72 #define maxProtocolIEs 65535
73 #define maxEARFCN 65535
74 #define maxInterfaces 16
75 #define maxCellineNB 256
76 #define maxnoofBearers 256
77 #define maxNrOfErrors 256
78 #define maxnoofPDCP_SN 16
79 #define maxnoofEPLMNs 15
80 #define maxnoofEPLMNsPlusOne 16
81 #define maxnoofForbLACs 4096
82 #define maxnoofForbTACs 4096
83 #define maxnoofBPLMNs 6
84 #define maxnoofNeighbours 512
85 #define maxnoofPRBs 110
87 #define maxnoofCells 16
88 #define maxnoofMBSFN 8
89 #define maxFailedMeasObjects 32
90 #define maxnoofCellIDforMDT 32
91 #define maxnoofTAforMDT 8
93 typedef enum _ProcedureCode_enum {
94 id_handoverPreparation = 0,
95 id_handoverCancel = 1,
96 id_loadIndication = 2,
97 id_errorIndication = 3,
98 id_snStatusTransfer = 4,
99 id_uEContextRelease = 5,
102 id_eNBConfigurationUpdate = 8,
103 id_resourceStatusReportingInitiation = 9,
104 id_resourceStatusReporting = 10,
105 id_privateMessage = 11,
106 id_mobilitySettingsChange = 12,
107 id_rLFIndication = 13,
108 id_handoverReport = 14,
109 id_cellActivation = 15
110 } ProcedureCode_enum;
112 typedef enum _ProtocolIE_ID_enum {
113 id_E_RABs_Admitted_Item = 0,
114 id_E_RABs_Admitted_List = 1,
116 id_E_RABs_NotAdmitted_List = 3,
117 id_E_RABs_ToBeSetup_Item = 4,
119 id_CellInformation = 6,
120 id_CellInformation_Item = 7,
121 id_New_eNB_UE_X2AP_ID = 9,
122 id_Old_eNB_UE_X2AP_ID = 10,
123 id_TargetCell_ID = 11,
124 id_TargeteNBtoSource_eNBTransparentContainer = 12,
125 id_TraceActivation = 13,
126 id_UE_ContextInformation = 14,
127 id_UE_HistoryInformation = 15,
129 id_CriticalityDiagnostics = 17,
130 id_E_RABs_SubjectToStatusTransfer_List = 18,
131 id_E_RABs_SubjectToStatusTransfer_Item = 19,
133 id_GlobalENB_ID = 21,
136 id_GUGroupIDList = 24,
137 id_ServedCellsToAdd = 25,
138 id_ServedCellsToModify = 26,
139 id_ServedCellsToDelete = 27,
140 id_Registration_Request = 28,
141 id_CellToReport = 29,
142 id_ReportingPeriodicity = 30,
143 id_CellToReport_Item = 31,
144 id_CellMeasurementResult = 32,
145 id_CellMeasurementResult_Item = 33,
146 id_GUGroupIDToAddList = 34,
147 id_GUGroupIDToDeleteList = 35,
148 id_SRVCCOperationPossible = 36,
149 id_Measurement_ID = 37,
150 id_ReportCharacteristics = 38,
151 id_ENB1_Measurement_ID = 39,
152 id_ENB2_Measurement_ID = 40,
153 id_Number_of_Antennaports = 41,
154 id_CompositeAvailableCapacityGroup = 42,
155 id_ENB1_Cell_ID = 43,
156 id_ENB2_Cell_ID = 44,
157 id_ENB2_Proposed_Mobility_Parameters = 45,
158 id_ENB1_Mobility_Parameters = 46,
159 id_ENB2_Mobility_Parameters_Modification_Range = 47,
160 id_FailureCellPCI = 48,
161 id_Re_establishmentCellECGI = 49,
162 id_FailureCellCRNTI = 50,
164 id_SourceCellECGI = 52,
165 id_FailureCellECGI = 53,
166 id_HandoverReportType = 54,
167 id_PRACH_Configuration = 55,
168 id_MBSFN_Subframe_Info = 56,
169 id_ServedCellsToActivate = 57,
170 id_ActivatedCellList = 58,
171 id_DeactivationIndication = 59,
172 id_UE_RLF_Report_Container = 60,
173 id_ABSInformation = 61,
174 id_InvokeIndication = 62,
176 id_PartialSuccessIndicator = 64,
177 id_MeasurementInitiationResult_List = 65,
178 id_MeasurementInitiationResult_Item = 66,
179 id_MeasurementFailureCause_Item = 67,
180 id_CompleteFailureCauseInformation_List = 68,
181 id_CompleteFailureCauseInformation_Item = 69,
183 id_CSGMembershipStatus = 71,
184 id_MDTConfiguration = 72,
185 id_ManagementBasedMDTallowed = 74,
186 id_RRCConnSetupIndicator = 75
187 } ProtocolIE_ID_enum;
189 /*--- End of included file: packet-x2ap-val.h ---*/
190 #line 60 "../../asn1/x2ap/packet-x2ap-template.c"
192 /* Initialize the protocol and registered fields */
193 static int proto_x2ap = -1;
194 static int hf_x2ap_transportLayerAddressIPv4 = -1;
195 static int hf_x2ap_transportLayerAddressIPv6 = -1;
197 /*--- Included file: packet-x2ap-hf.c ---*/
198 #line 1 "../../asn1/x2ap/packet-x2ap-hf.c"
199 static int hf_x2ap_ABSInformation_PDU = -1; /* ABSInformation */
200 static int hf_x2ap_ABS_Status_PDU = -1; /* ABS_Status */
201 static int hf_x2ap_Cause_PDU = -1; /* Cause */
202 static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */
203 static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
204 static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */
205 static int hf_x2ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */
206 static int hf_x2ap_CSG_Id_PDU = -1; /* CSG_Id */
207 static int hf_x2ap_DeactivationIndication_PDU = -1; /* DeactivationIndication */
208 static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
209 static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */
210 static int hf_x2ap_E_RAB_Item_PDU = -1; /* E_RAB_Item */
211 static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
212 static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
213 static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
214 static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */
215 static int hf_x2ap_InvokeIndication_PDU = -1; /* InvokeIndication */
216 static int hf_x2ap_MDT_Configuration_PDU = -1; /* MDT_Configuration */
217 static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */
218 static int hf_x2ap_MBSFN_Subframe_Infolist_PDU = -1; /* MBSFN_Subframe_Infolist */
219 static int hf_x2ap_ManagementBasedMDTallowed_PDU = -1; /* ManagementBasedMDTallowed */
220 static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */
221 static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */
222 static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */
223 static int hf_x2ap_PCI_PDU = -1; /* PCI */
224 static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */
225 static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
226 static int hf_x2ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */
227 static int hf_x2ap_RRCConnSetupIndicator_PDU = -1; /* RRCConnSetupIndicator */
228 static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
229 static int hf_x2ap_ShortMAC_I_PDU = -1; /* ShortMAC_I */
230 static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */
231 static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */
232 static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
233 static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */
234 static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */
235 static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */
236 static int hf_x2ap_UE_RLF_Report_Container_PDU = -1; /* UE_RLF_Report_Container */
237 static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
238 static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
239 static int hf_x2ap_E_RABs_ToBeSetup_Item_PDU = -1; /* E_RABs_ToBeSetup_Item */
240 static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
241 static int hf_x2ap_E_RABs_Admitted_List_PDU = -1; /* E_RABs_Admitted_List */
242 static int hf_x2ap_E_RABs_Admitted_Item_PDU = -1; /* E_RABs_Admitted_Item */
243 static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
244 static int hf_x2ap_HandoverReport_PDU = -1; /* HandoverReport */
245 static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
246 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU = -1; /* E_RABs_SubjectToStatusTransfer_List */
247 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU = -1; /* E_RABs_SubjectToStatusTransfer_Item */
248 static int hf_x2ap_UEContextRelease_PDU = -1; /* UEContextRelease */
249 static int hf_x2ap_HandoverCancel_PDU = -1; /* HandoverCancel */
250 static int hf_x2ap_ErrorIndication_PDU = -1; /* ErrorIndication */
251 static int hf_x2ap_ResetRequest_PDU = -1; /* ResetRequest */
252 static int hf_x2ap_ResetResponse_PDU = -1; /* ResetResponse */
253 static int hf_x2ap_X2SetupRequest_PDU = -1; /* X2SetupRequest */
254 static int hf_x2ap_X2SetupResponse_PDU = -1; /* X2SetupResponse */
255 static int hf_x2ap_X2SetupFailure_PDU = -1; /* X2SetupFailure */
256 static int hf_x2ap_LoadInformation_PDU = -1; /* LoadInformation */
257 static int hf_x2ap_CellInformation_List_PDU = -1; /* CellInformation_List */
258 static int hf_x2ap_CellInformation_Item_PDU = -1; /* CellInformation_Item */
259 static int hf_x2ap_ENBConfigurationUpdate_PDU = -1; /* ENBConfigurationUpdate */
260 static int hf_x2ap_ServedCellsToModify_PDU = -1; /* ServedCellsToModify */
261 static int hf_x2ap_Old_ECGIs_PDU = -1; /* Old_ECGIs */
262 static int hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU = -1; /* ENBConfigurationUpdateAcknowledge */
263 static int hf_x2ap_ENBConfigurationUpdateFailure_PDU = -1; /* ENBConfigurationUpdateFailure */
264 static int hf_x2ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */
265 static int hf_x2ap_CellToReport_List_PDU = -1; /* CellToReport_List */
266 static int hf_x2ap_CellToReport_Item_PDU = -1; /* CellToReport_Item */
267 static int hf_x2ap_ReportingPeriodicity_PDU = -1; /* ReportingPeriodicity */
268 static int hf_x2ap_PartialSuccessIndicator_PDU = -1; /* PartialSuccessIndicator */
269 static int hf_x2ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */
270 static int hf_x2ap_MeasurementInitiationResult_List_PDU = -1; /* MeasurementInitiationResult_List */
271 static int hf_x2ap_MeasurementInitiationResult_Item_PDU = -1; /* MeasurementInitiationResult_Item */
272 static int hf_x2ap_MeasurementFailureCause_Item_PDU = -1; /* MeasurementFailureCause_Item */
273 static int hf_x2ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */
274 static int hf_x2ap_CompleteFailureCauseInformation_List_PDU = -1; /* CompleteFailureCauseInformation_List */
275 static int hf_x2ap_CompleteFailureCauseInformation_Item_PDU = -1; /* CompleteFailureCauseInformation_Item */
276 static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
277 static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
278 static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
279 static int hf_x2ap_PrivateMessage_PDU = -1; /* PrivateMessage */
280 static int hf_x2ap_MobilityChangeRequest_PDU = -1; /* MobilityChangeRequest */
281 static int hf_x2ap_MobilityChangeAcknowledge_PDU = -1; /* MobilityChangeAcknowledge */
282 static int hf_x2ap_MobilityChangeFailure_PDU = -1; /* MobilityChangeFailure */
283 static int hf_x2ap_RLFIndication_PDU = -1; /* RLFIndication */
284 static int hf_x2ap_CellActivationRequest_PDU = -1; /* CellActivationRequest */
285 static int hf_x2ap_ServedCellsToActivate_PDU = -1; /* ServedCellsToActivate */
286 static int hf_x2ap_CellActivationResponse_PDU = -1; /* CellActivationResponse */
287 static int hf_x2ap_ActivatedCellList_PDU = -1; /* ActivatedCellList */
288 static int hf_x2ap_CellActivationFailure_PDU = -1; /* CellActivationFailure */
289 static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
290 static int hf_x2ap_local = -1; /* INTEGER_0_maxPrivateIEs */
291 static int hf_x2ap_global = -1; /* OBJECT_IDENTIFIER */
292 static int hf_x2ap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
293 static int hf_x2ap_id = -1; /* ProtocolIE_ID */
294 static int hf_x2ap_criticality = -1; /* Criticality */
295 static int hf_x2ap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
296 static int hf_x2ap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
297 static int hf_x2ap_extension_id = -1; /* ProtocolIE_ID */
298 static int hf_x2ap_extensionValue = -1; /* T_extensionValue */
299 static int hf_x2ap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
300 static int hf_x2ap_private_id = -1; /* PrivateIE_ID */
301 static int hf_x2ap_privateIE_Field_value = -1; /* PrivateIE_Field_value */
302 static int hf_x2ap_fdd = -1; /* ABSInformationFDD */
303 static int hf_x2ap_tdd = -1; /* ABSInformationTDD */
304 static int hf_x2ap_abs_inactive = -1; /* NULL */
305 static int hf_x2ap_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */
306 static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
307 static int hf_x2ap_measurement_subset = -1; /* BIT_STRING_SIZE_40 */
308 static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
309 static int hf_x2ap_abs_pattern_info_01 = -1; /* BIT_STRING_SIZE_1_70_ */
310 static int hf_x2ap_numberOfCellSpecificAntennaPorts_01 = -1; /* T_numberOfCellSpecificAntennaPorts_01 */
311 static int hf_x2ap_measurement_subset_01 = -1; /* BIT_STRING_SIZE_1_70_ */
312 static int hf_x2ap_dL_ABS_status = -1; /* DL_ABS_status */
313 static int hf_x2ap_usableABSInformation = -1; /* UsableABSInformation */
314 static int hf_x2ap_key_eNodeB_star = -1; /* Key_eNodeB_Star */
315 static int hf_x2ap_nextHopChainingCount = -1; /* NextHopChainingCount */
316 static int hf_x2ap_priorityLevel = -1; /* PriorityLevel */
317 static int hf_x2ap_pre_emptionCapability = -1; /* Pre_emptionCapability */
318 static int hf_x2ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */
319 static int hf_x2ap_cellBased = -1; /* CellBasedMDT */
320 static int hf_x2ap_tABased = -1; /* TABasedMDT */
321 static int hf_x2ap_pLMNWide = -1; /* NULL */
322 static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */
323 static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */
324 static int hf_x2ap_transport = -1; /* CauseTransport */
325 static int hf_x2ap_protocol = -1; /* CauseProtocol */
326 static int hf_x2ap_misc = -1; /* CauseMisc */
327 static int hf_x2ap_cellIdListforMDT = -1; /* CellIdListforMDT */
328 static int hf_x2ap_CellIdListforMDT_item = -1; /* ECGI */
329 static int hf_x2ap_cell_Size = -1; /* Cell_Size */
330 static int hf_x2ap_dL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
331 static int hf_x2ap_uL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
332 static int hf_x2ap_cellCapacityClassValue = -1; /* CellCapacityClassValue */
333 static int hf_x2ap_capacityValue = -1; /* CapacityValue */
334 static int hf_x2ap_pDCP_SN = -1; /* PDCP_SN */
335 static int hf_x2ap_hFN = -1; /* HFN */
336 static int hf_x2ap_procedureCode = -1; /* ProcedureCode */
337 static int hf_x2ap_triggeringMessage = -1; /* TriggeringMessage */
338 static int hf_x2ap_procedureCriticality = -1; /* Criticality */
339 static int hf_x2ap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
340 static int hf_x2ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
341 static int hf_x2ap_iECriticality = -1; /* Criticality */
342 static int hf_x2ap_iE_ID = -1; /* ProtocolIE_ID */
343 static int hf_x2ap_typeOfError = -1; /* TypeOfError */
344 static int hf_x2ap_uL_EARFCN = -1; /* EARFCN */
345 static int hf_x2ap_dL_EARFCN = -1; /* EARFCN */
346 static int hf_x2ap_uL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */
347 static int hf_x2ap_dL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */
348 static int hf_x2ap_eARFCN = -1; /* EARFCN */
349 static int hf_x2ap_transmission_Bandwidth = -1; /* Transmission_Bandwidth */
350 static int hf_x2ap_subframeAssignment = -1; /* SubframeAssignment */
351 static int hf_x2ap_specialSubframe_Info = -1; /* SpecialSubframe_Info */
352 static int hf_x2ap_fDD = -1; /* FDD_Info */
353 static int hf_x2ap_tDD = -1; /* TDD_Info */
354 static int hf_x2ap_pLMN_Identity = -1; /* PLMN_Identity */
355 static int hf_x2ap_eUTRANcellIdentifier = -1; /* EUTRANCellIdentifier */
356 static int hf_x2ap_macro_eNB_ID = -1; /* BIT_STRING_SIZE_20 */
357 static int hf_x2ap_home_eNB_ID = -1; /* BIT_STRING_SIZE_28 */
358 static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */
359 static int hf_x2ap_qCI = -1; /* QCI */
360 static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
361 static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */
362 static int hf_x2ap_E_RAB_List_item = -1; /* ProtocolIE_Single_Container */
363 static int hf_x2ap_e_RAB_ID = -1; /* E_RAB_ID */
364 static int hf_x2ap_cause = -1; /* Cause */
365 static int hf_x2ap_ForbiddenTAs_item = -1; /* ForbiddenTAs_Item */
366 static int hf_x2ap_forbiddenTACs = -1; /* ForbiddenTACs */
367 static int hf_x2ap_ForbiddenTACs_item = -1; /* TAC */
368 static int hf_x2ap_ForbiddenLAs_item = -1; /* ForbiddenLAs_Item */
369 static int hf_x2ap_forbiddenLACs = -1; /* ForbiddenLACs */
370 static int hf_x2ap_ForbiddenLACs_item = -1; /* LAC */
371 static int hf_x2ap_e_RAB_MaximumBitrateDL = -1; /* BitRate */
372 static int hf_x2ap_e_RAB_MaximumBitrateUL = -1; /* BitRate */
373 static int hf_x2ap_e_RAB_GuaranteedBitrateDL = -1; /* BitRate */
374 static int hf_x2ap_e_RAB_GuaranteedBitrateUL = -1; /* BitRate */
375 static int hf_x2ap_eNB_ID = -1; /* ENB_ID */
376 static int hf_x2ap_transportLayerAddress = -1; /* TransportLayerAddress */
377 static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */
378 static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */
379 static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */
380 static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */
381 static int hf_x2ap_mME_Code = -1; /* MME_Code */
382 static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */
383 static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */
384 static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */
385 static int hf_x2ap_forbiddenLAs = -1; /* ForbiddenLAs */
386 static int hf_x2ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */
387 static int hf_x2ap_dLHWLoadIndicator = -1; /* LoadIndicator */
388 static int hf_x2ap_uLHWLoadIndicator = -1; /* LoadIndicator */
389 static int hf_x2ap_e_UTRAN_Cell = -1; /* LastVisitedEUTRANCellInformation */
390 static int hf_x2ap_uTRAN_Cell = -1; /* LastVisitedUTRANCellInformation */
391 static int hf_x2ap_gERAN_Cell = -1; /* LastVisitedGERANCellInformation */
392 static int hf_x2ap_global_Cell_ID = -1; /* ECGI */
393 static int hf_x2ap_cellType = -1; /* CellType */
394 static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
395 static int hf_x2ap_undefined = -1; /* NULL */
396 static int hf_x2ap_eventType = -1; /* EventType */
397 static int hf_x2ap_reportArea = -1; /* ReportArea */
398 static int hf_x2ap_mdt_Activation = -1; /* MDT_Activation */
399 static int hf_x2ap_areaScopeOfMDT = -1; /* AreaScopeOfMDT */
400 static int hf_x2ap_measurementsToActivate = -1; /* MeasurementsToActivate */
401 static int hf_x2ap_reportingTriggerMDT = -1; /* ReportingTriggerMDT */
402 static int hf_x2ap_thresholdeventA2 = -1; /* ThresholdEventA2 */
403 static int hf_x2ap_periodicReportingMDT = -1; /* PeriodicReportingMDT */
404 static int hf_x2ap_threshold_RSRP = -1; /* Threshold_RSRP */
405 static int hf_x2ap_threshold_RSRQ = -1; /* Threshold_RSRQ */
406 static int hf_x2ap_MBSFN_Subframe_Infolist_item = -1; /* MBSFN_Subframe_Info */
407 static int hf_x2ap_radioframeAllocationPeriod = -1; /* RadioframeAllocationPeriod */
408 static int hf_x2ap_radioframeAllocationOffset = -1; /* RadioframeAllocationOffset */
409 static int hf_x2ap_subframeAllocation = -1; /* SubframeAllocation */
410 static int hf_x2ap_handoverTriggerChangeLowerLimit = -1; /* INTEGER_M20_20 */
411 static int hf_x2ap_handoverTriggerChangeUpperLimit = -1; /* INTEGER_M20_20 */
412 static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */
413 static int hf_x2ap_Neighbour_Information_item = -1; /* Neighbour_Information_item */
414 static int hf_x2ap_eCGI = -1; /* ECGI */
415 static int hf_x2ap_pCI = -1; /* PCI */
416 static int hf_x2ap_reportInterval = -1; /* ReportIntervalMDT */
417 static int hf_x2ap_reportAmount = -1; /* ReportAmountMDT */
418 static int hf_x2ap_rootSequenceIndex = -1; /* INTEGER_0_837 */
419 static int hf_x2ap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
420 static int hf_x2ap_highSpeedFlag = -1; /* BOOLEAN */
421 static int hf_x2ap_prach_FreqOffset = -1; /* INTEGER_0_94 */
422 static int hf_x2ap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
423 static int hf_x2ap_dL_GBR_PRB_usage = -1; /* DL_GBR_PRB_usage */
424 static int hf_x2ap_uL_GBR_PRB_usage = -1; /* UL_GBR_PRB_usage */
425 static int hf_x2ap_dL_non_GBR_PRB_usage = -1; /* DL_non_GBR_PRB_usage */
426 static int hf_x2ap_uL_non_GBR_PRB_usage = -1; /* UL_non_GBR_PRB_usage */
427 static int hf_x2ap_dL_Total_PRB_usage = -1; /* DL_Total_PRB_usage */
428 static int hf_x2ap_uL_Total_PRB_usage = -1; /* UL_Total_PRB_usage */
429 static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
430 static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
431 static int hf_x2ap_numberOfCellSpecificAntennaPorts_02 = -1; /* T_numberOfCellSpecificAntennaPorts_02 */
432 static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
433 static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
434 static int hf_x2ap_dLS1TNLLoadIndicator = -1; /* LoadIndicator */
435 static int hf_x2ap_uLS1TNLLoadIndicator = -1; /* LoadIndicator */
436 static int hf_x2ap_ServedCells_item = -1; /* ServedCells_item */
437 static int hf_x2ap_servedCellInfo = -1; /* ServedCell_Information */
438 static int hf_x2ap_neighbour_Info = -1; /* Neighbour_Information */
439 static int hf_x2ap_cellId = -1; /* ECGI */
440 static int hf_x2ap_tAC = -1; /* TAC */
441 static int hf_x2ap_broadcastPLMNs = -1; /* BroadcastPLMNs_Item */
442 static int hf_x2ap_eUTRA_Mode_Info = -1; /* EUTRA_Mode_Info */
443 static int hf_x2ap_specialSubframePatterns = -1; /* SpecialSubframePatterns */
444 static int hf_x2ap_cyclicPrefixDL = -1; /* CyclicPrefixDL */
445 static int hf_x2ap_cyclicPrefixUL = -1; /* CyclicPrefixUL */
446 static int hf_x2ap_oneframe = -1; /* Oneframe */
447 static int hf_x2ap_fourframes = -1; /* Fourframes */
448 static int hf_x2ap_tAListforMDT = -1; /* TAListforMDT */
449 static int hf_x2ap_TAListforMDT_item = -1; /* TAC */
450 static int hf_x2ap_measurementThreshold = -1; /* MeasurementThresholdA2 */
451 static int hf_x2ap_eUTRANTraceID = -1; /* EUTRANTraceID */
452 static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
453 static int hf_x2ap_traceDepth = -1; /* TraceDepth */
454 static int hf_x2ap_traceCollectionEntityIPAddress = -1; /* TraceCollectionEntityIPAddress */
455 static int hf_x2ap_UE_HistoryInformation_item = -1; /* LastVisitedCell_Item */
456 static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */
457 static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */
458 static int hf_x2ap_encryptionAlgorithms = -1; /* EncryptionAlgorithms */
459 static int hf_x2ap_integrityProtectionAlgorithms = -1; /* IntegrityProtectionAlgorithms */
460 static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_InterferenceOverloadIndication_Item */
461 static int hf_x2ap_UL_HighInterferenceIndicationInfo_item = -1; /* UL_HighInterferenceIndicationInfo_Item */
462 static int hf_x2ap_target_Cell_ID = -1; /* ECGI */
463 static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndication */
464 static int hf_x2ap_fdd_01 = -1; /* UsableABSInformationFDD */
465 static int hf_x2ap_tdd_01 = -1; /* UsableABSInformationTDD */
466 static int hf_x2ap_usable_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */
467 static int hf_x2ap_usaable_abs_pattern_info = -1; /* BIT_STRING_SIZE_1_70_ */
468 static int hf_x2ap_protocolIEs = -1; /* ProtocolIE_Container */
469 static int hf_x2ap_mME_UE_S1AP_ID = -1; /* UE_S1AP_ID */
470 static int hf_x2ap_uESecurityCapabilities = -1; /* UESecurityCapabilities */
471 static int hf_x2ap_aS_SecurityInformation = -1; /* AS_SecurityInformation */
472 static int hf_x2ap_uEaggregateMaximumBitRate = -1; /* UEAggregateMaximumBitRate */
473 static int hf_x2ap_subscriberProfileIDforRFP = -1; /* SubscriberProfileIDforRFP */
474 static int hf_x2ap_e_RABs_ToBeSetup_List = -1; /* E_RABs_ToBeSetup_List */
475 static int hf_x2ap_rRC_Context = -1; /* RRC_Context */
476 static int hf_x2ap_handoverRestrictionList = -1; /* HandoverRestrictionList */
477 static int hf_x2ap_locationReportingInformation = -1; /* LocationReportingInformation */
478 static int hf_x2ap_E_RABs_ToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
479 static int hf_x2ap_e_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */
480 static int hf_x2ap_dL_Forwarding = -1; /* DL_Forwarding */
481 static int hf_x2ap_uL_GTPtunnelEndpoint = -1; /* GTPtunnelEndpoint */
482 static int hf_x2ap_E_RABs_Admitted_List_item = -1; /* ProtocolIE_Single_Container */
483 static int hf_x2ap_uL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
484 static int hf_x2ap_dL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
485 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
486 static int hf_x2ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */
487 static int hf_x2ap_uL_COUNTvalue = -1; /* COUNTvalue */
488 static int hf_x2ap_dL_COUNTvalue = -1; /* COUNTvalue */
489 static int hf_x2ap_CellInformation_List_item = -1; /* ProtocolIE_Single_Container */
490 static int hf_x2ap_cell_ID = -1; /* ECGI */
491 static int hf_x2ap_ul_InterferenceOverloadIndication = -1; /* UL_InterferenceOverloadIndication */
492 static int hf_x2ap_ul_HighInterferenceIndicationInfo = -1; /* UL_HighInterferenceIndicationInfo */
493 static int hf_x2ap_relativeNarrowbandTxPower = -1; /* RelativeNarrowbandTxPower */
494 static int hf_x2ap_ServedCellsToModify_item = -1; /* ServedCellsToModify_Item */
495 static int hf_x2ap_old_ecgi = -1; /* ECGI */
496 static int hf_x2ap_Old_ECGIs_item = -1; /* ECGI */
497 static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container */
498 static int hf_x2ap_MeasurementInitiationResult_List_item = -1; /* ProtocolIE_Single_Container */
499 static int hf_x2ap_measurementFailureCause_List = -1; /* MeasurementFailureCause_List */
500 static int hf_x2ap_MeasurementFailureCause_List_item = -1; /* ProtocolIE_Single_Container */
501 static int hf_x2ap_measurementFailedReportCharacteristics = -1; /* ReportCharacteristics */
502 static int hf_x2ap_CompleteFailureCauseInformation_List_item = -1; /* ProtocolIE_Single_Container */
503 static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
504 static int hf_x2ap_hWLoadIndicator = -1; /* HWLoadIndicator */
505 static int hf_x2ap_s1TNLLoadIndicator = -1; /* S1TNLLoadIndicator */
506 static int hf_x2ap_radioResourceStatus = -1; /* RadioResourceStatus */
507 static int hf_x2ap_privateIEs = -1; /* PrivateIE_Container */
508 static int hf_x2ap_ServedCellsToActivate_item = -1; /* ServedCellsToActivate_Item */
509 static int hf_x2ap_ecgi = -1; /* ECGI */
510 static int hf_x2ap_ActivatedCellList_item = -1; /* ActivatedCellList_Item */
511 static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */
512 static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */
513 static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
514 static int hf_x2ap_initiatingMessage_value = -1; /* InitiatingMessage_value */
515 static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
516 static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
518 /*--- End of included file: packet-x2ap-hf.c ---*/
519 #line 66 "../../asn1/x2ap/packet-x2ap-template.c"
521 /* Initialize the subtree pointers */
522 static int ett_x2ap = -1;
523 static int ett_x2ap_TransportLayerAddress = -1;
525 /*--- Included file: packet-x2ap-ett.c ---*/
526 #line 1 "../../asn1/x2ap/packet-x2ap-ett.c"
527 static gint ett_x2ap_PrivateIE_ID = -1;
528 static gint ett_x2ap_ProtocolIE_Container = -1;
529 static gint ett_x2ap_ProtocolIE_Field = -1;
530 static gint ett_x2ap_ProtocolExtensionContainer = -1;
531 static gint ett_x2ap_ProtocolExtensionField = -1;
532 static gint ett_x2ap_PrivateIE_Container = -1;
533 static gint ett_x2ap_PrivateIE_Field = -1;
534 static gint ett_x2ap_ABSInformation = -1;
535 static gint ett_x2ap_ABSInformationFDD = -1;
536 static gint ett_x2ap_ABSInformationTDD = -1;
537 static gint ett_x2ap_ABS_Status = -1;
538 static gint ett_x2ap_AS_SecurityInformation = -1;
539 static gint ett_x2ap_AllocationAndRetentionPriority = -1;
540 static gint ett_x2ap_AreaScopeOfMDT = -1;
541 static gint ett_x2ap_BroadcastPLMNs_Item = -1;
542 static gint ett_x2ap_Cause = -1;
543 static gint ett_x2ap_CellBasedMDT = -1;
544 static gint ett_x2ap_CellIdListforMDT = -1;
545 static gint ett_x2ap_CellType = -1;
546 static gint ett_x2ap_CompositeAvailableCapacityGroup = -1;
547 static gint ett_x2ap_CompositeAvailableCapacity = -1;
548 static gint ett_x2ap_COUNTvalue = -1;
549 static gint ett_x2ap_CriticalityDiagnostics = -1;
550 static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1;
551 static gint ett_x2ap_CriticalityDiagnostics_IE_List_item = -1;
552 static gint ett_x2ap_FDD_Info = -1;
553 static gint ett_x2ap_TDD_Info = -1;
554 static gint ett_x2ap_EUTRA_Mode_Info = -1;
555 static gint ett_x2ap_ECGI = -1;
556 static gint ett_x2ap_ENB_ID = -1;
557 static gint ett_x2ap_EPLMNs = -1;
558 static gint ett_x2ap_E_RAB_Level_QoS_Parameters = -1;
559 static gint ett_x2ap_E_RAB_List = -1;
560 static gint ett_x2ap_E_RAB_Item = -1;
561 static gint ett_x2ap_ForbiddenTAs = -1;
562 static gint ett_x2ap_ForbiddenTAs_Item = -1;
563 static gint ett_x2ap_ForbiddenTACs = -1;
564 static gint ett_x2ap_ForbiddenLAs = -1;
565 static gint ett_x2ap_ForbiddenLAs_Item = -1;
566 static gint ett_x2ap_ForbiddenLACs = -1;
567 static gint ett_x2ap_GBR_QosInformation = -1;
568 static gint ett_x2ap_GlobalENB_ID = -1;
569 static gint ett_x2ap_GTPtunnelEndpoint = -1;
570 static gint ett_x2ap_GUGroupIDList = -1;
571 static gint ett_x2ap_GU_Group_ID = -1;
572 static gint ett_x2ap_GUMMEI = -1;
573 static gint ett_x2ap_HandoverRestrictionList = -1;
574 static gint ett_x2ap_HWLoadIndicator = -1;
575 static gint ett_x2ap_LastVisitedCell_Item = -1;
576 static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1;
577 static gint ett_x2ap_LastVisitedGERANCellInformation = -1;
578 static gint ett_x2ap_LocationReportingInformation = -1;
579 static gint ett_x2ap_MDT_Configuration = -1;
580 static gint ett_x2ap_MeasurementThresholdA2 = -1;
581 static gint ett_x2ap_MBSFN_Subframe_Infolist = -1;
582 static gint ett_x2ap_MBSFN_Subframe_Info = -1;
583 static gint ett_x2ap_MobilityParametersModificationRange = -1;
584 static gint ett_x2ap_MobilityParametersInformation = -1;
585 static gint ett_x2ap_Neighbour_Information = -1;
586 static gint ett_x2ap_Neighbour_Information_item = -1;
587 static gint ett_x2ap_PeriodicReportingMDT = -1;
588 static gint ett_x2ap_PRACH_Configuration = -1;
589 static gint ett_x2ap_RadioResourceStatus = -1;
590 static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
591 static gint ett_x2ap_S1TNLLoadIndicator = -1;
592 static gint ett_x2ap_ServedCells = -1;
593 static gint ett_x2ap_ServedCells_item = -1;
594 static gint ett_x2ap_ServedCell_Information = -1;
595 static gint ett_x2ap_SpecialSubframe_Info = -1;
596 static gint ett_x2ap_SubframeAllocation = -1;
597 static gint ett_x2ap_TABasedMDT = -1;
598 static gint ett_x2ap_TAListforMDT = -1;
599 static gint ett_x2ap_ThresholdEventA2 = -1;
600 static gint ett_x2ap_TraceActivation = -1;
601 static gint ett_x2ap_UE_HistoryInformation = -1;
602 static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
603 static gint ett_x2ap_UESecurityCapabilities = -1;
604 static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
605 static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
606 static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
607 static gint ett_x2ap_UsableABSInformation = -1;
608 static gint ett_x2ap_UsableABSInformationFDD = -1;
609 static gint ett_x2ap_UsableABSInformationTDD = -1;
610 static gint ett_x2ap_HandoverRequest = -1;
611 static gint ett_x2ap_UE_ContextInformation = -1;
612 static gint ett_x2ap_E_RABs_ToBeSetup_List = -1;
613 static gint ett_x2ap_E_RABs_ToBeSetup_Item = -1;
614 static gint ett_x2ap_HandoverRequestAcknowledge = -1;
615 static gint ett_x2ap_E_RABs_Admitted_List = -1;
616 static gint ett_x2ap_E_RABs_Admitted_Item = -1;
617 static gint ett_x2ap_HandoverPreparationFailure = -1;
618 static gint ett_x2ap_HandoverReport = -1;
619 static gint ett_x2ap_SNStatusTransfer = -1;
620 static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_List = -1;
621 static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_Item = -1;
622 static gint ett_x2ap_UEContextRelease = -1;
623 static gint ett_x2ap_HandoverCancel = -1;
624 static gint ett_x2ap_ErrorIndication = -1;
625 static gint ett_x2ap_ResetRequest = -1;
626 static gint ett_x2ap_ResetResponse = -1;
627 static gint ett_x2ap_X2SetupRequest = -1;
628 static gint ett_x2ap_X2SetupResponse = -1;
629 static gint ett_x2ap_X2SetupFailure = -1;
630 static gint ett_x2ap_LoadInformation = -1;
631 static gint ett_x2ap_CellInformation_List = -1;
632 static gint ett_x2ap_CellInformation_Item = -1;
633 static gint ett_x2ap_ENBConfigurationUpdate = -1;
634 static gint ett_x2ap_ServedCellsToModify = -1;
635 static gint ett_x2ap_ServedCellsToModify_Item = -1;
636 static gint ett_x2ap_Old_ECGIs = -1;
637 static gint ett_x2ap_ENBConfigurationUpdateAcknowledge = -1;
638 static gint ett_x2ap_ENBConfigurationUpdateFailure = -1;
639 static gint ett_x2ap_ResourceStatusRequest = -1;
640 static gint ett_x2ap_CellToReport_List = -1;
641 static gint ett_x2ap_CellToReport_Item = -1;
642 static gint ett_x2ap_ResourceStatusResponse = -1;
643 static gint ett_x2ap_MeasurementInitiationResult_List = -1;
644 static gint ett_x2ap_MeasurementInitiationResult_Item = -1;
645 static gint ett_x2ap_MeasurementFailureCause_List = -1;
646 static gint ett_x2ap_MeasurementFailureCause_Item = -1;
647 static gint ett_x2ap_ResourceStatusFailure = -1;
648 static gint ett_x2ap_CompleteFailureCauseInformation_List = -1;
649 static gint ett_x2ap_CompleteFailureCauseInformation_Item = -1;
650 static gint ett_x2ap_ResourceStatusUpdate = -1;
651 static gint ett_x2ap_CellMeasurementResult_List = -1;
652 static gint ett_x2ap_CellMeasurementResult_Item = -1;
653 static gint ett_x2ap_PrivateMessage = -1;
654 static gint ett_x2ap_MobilityChangeRequest = -1;
655 static gint ett_x2ap_MobilityChangeAcknowledge = -1;
656 static gint ett_x2ap_MobilityChangeFailure = -1;
657 static gint ett_x2ap_RLFIndication = -1;
658 static gint ett_x2ap_CellActivationRequest = -1;
659 static gint ett_x2ap_ServedCellsToActivate = -1;
660 static gint ett_x2ap_ServedCellsToActivate_Item = -1;
661 static gint ett_x2ap_CellActivationResponse = -1;
662 static gint ett_x2ap_ActivatedCellList = -1;
663 static gint ett_x2ap_ActivatedCellList_Item = -1;
664 static gint ett_x2ap_CellActivationFailure = -1;
665 static gint ett_x2ap_X2AP_PDU = -1;
666 static gint ett_x2ap_InitiatingMessage = -1;
667 static gint ett_x2ap_SuccessfulOutcome = -1;
668 static gint ett_x2ap_UnsuccessfulOutcome = -1;
670 /*--- End of included file: packet-x2ap-ett.c ---*/
671 #line 71 "../../asn1/x2ap/packet-x2ap-template.c"
673 /* Global variables */
674 static guint32 ProcedureCode;
675 static guint32 ProtocolIE_ID;
676 static guint gbl_x2apSctpPort=SCTP_PORT_X2AP;
678 /* Dissector tables */
679 static dissector_table_t x2ap_ies_dissector_table;
680 static dissector_table_t x2ap_extension_dissector_table;
681 static dissector_table_t x2ap_proc_imsg_dissector_table;
682 static dissector_table_t x2ap_proc_sout_dissector_table;
683 static dissector_table_t x2ap_proc_uout_dissector_table;
685 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
686 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
687 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
688 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
689 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
690 void proto_reg_handoff_x2ap(void);
693 /*--- Included file: packet-x2ap-fn.c ---*/
694 #line 1 "../../asn1/x2ap/packet-x2ap-fn.c"
696 static const value_string x2ap_Criticality_vals[] = {
705 dissect_x2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
706 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
707 3, NULL, FALSE, 0, NULL);
715 dissect_x2ap_INTEGER_0_maxPrivateIEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
716 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
717 0U, maxPrivateIEs, NULL, FALSE);
725 dissect_x2ap_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
726 offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
732 static const value_string x2ap_PrivateIE_ID_vals[] = {
738 static const per_choice_t PrivateIE_ID_choice[] = {
739 { 0, &hf_x2ap_local , ASN1_NO_EXTENSIONS , dissect_x2ap_INTEGER_0_maxPrivateIEs },
740 { 1, &hf_x2ap_global , ASN1_NO_EXTENSIONS , dissect_x2ap_OBJECT_IDENTIFIER },
745 dissect_x2ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
746 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
747 ett_x2ap_PrivateIE_ID, PrivateIE_ID_choice,
754 static const value_string x2ap_ProcedureCode_vals[] = {
755 { id_handoverPreparation, "id-handoverPreparation" },
756 { id_handoverCancel, "id-handoverCancel" },
757 { id_loadIndication, "id-loadIndication" },
758 { id_errorIndication, "id-errorIndication" },
759 { id_snStatusTransfer, "id-snStatusTransfer" },
760 { id_uEContextRelease, "id-uEContextRelease" },
761 { id_x2Setup, "id-x2Setup" },
762 { id_reset, "id-reset" },
763 { id_eNBConfigurationUpdate, "id-eNBConfigurationUpdate" },
764 { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" },
765 { id_resourceStatusReporting, "id-resourceStatusReporting" },
766 { id_privateMessage, "id-privateMessage" },
767 { id_mobilitySettingsChange, "id-mobilitySettingsChange" },
768 { id_rLFIndication, "id-rLFIndication" },
769 { id_handoverReport, "id-handoverReport" },
770 { id_cellActivation, "id-cellActivation" },
776 dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
777 #line 67 "../../asn1/x2ap/x2ap.cnf"
778 ProcedureCode = 0xFFFF;
780 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
781 0U, 255U, &ProcedureCode, FALSE);
783 #line 61 "../../asn1/x2ap/x2ap.cnf"
784 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
785 val_to_str(ProcedureCode, x2ap_ProcedureCode_vals,
792 static const value_string x2ap_ProtocolIE_ID_vals[] = {
793 { id_E_RABs_Admitted_Item, "id-E-RABs-Admitted-Item" },
794 { id_E_RABs_Admitted_List, "id-E-RABs-Admitted-List" },
795 { id_E_RAB_Item, "id-E-RAB-Item" },
796 { id_E_RABs_NotAdmitted_List, "id-E-RABs-NotAdmitted-List" },
797 { id_E_RABs_ToBeSetup_Item, "id-E-RABs-ToBeSetup-Item" },
798 { id_Cause, "id-Cause" },
799 { id_CellInformation, "id-CellInformation" },
800 { id_CellInformation_Item, "id-CellInformation-Item" },
801 { id_New_eNB_UE_X2AP_ID, "id-New-eNB-UE-X2AP-ID" },
802 { id_Old_eNB_UE_X2AP_ID, "id-Old-eNB-UE-X2AP-ID" },
803 { id_TargetCell_ID, "id-TargetCell-ID" },
804 { id_TargeteNBtoSource_eNBTransparentContainer, "id-TargeteNBtoSource-eNBTransparentContainer" },
805 { id_TraceActivation, "id-TraceActivation" },
806 { id_UE_ContextInformation, "id-UE-ContextInformation" },
807 { id_UE_HistoryInformation, "id-UE-HistoryInformation" },
808 { id_UE_X2AP_ID, "id-UE-X2AP-ID" },
809 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
810 { id_E_RABs_SubjectToStatusTransfer_List, "id-E-RABs-SubjectToStatusTransfer-List" },
811 { id_E_RABs_SubjectToStatusTransfer_Item, "id-E-RABs-SubjectToStatusTransfer-Item" },
812 { id_ServedCells, "id-ServedCells" },
813 { id_GlobalENB_ID, "id-GlobalENB-ID" },
814 { id_TimeToWait, "id-TimeToWait" },
815 { id_GUMMEI_ID, "id-GUMMEI-ID" },
816 { id_GUGroupIDList, "id-GUGroupIDList" },
817 { id_ServedCellsToAdd, "id-ServedCellsToAdd" },
818 { id_ServedCellsToModify, "id-ServedCellsToModify" },
819 { id_ServedCellsToDelete, "id-ServedCellsToDelete" },
820 { id_Registration_Request, "id-Registration-Request" },
821 { id_CellToReport, "id-CellToReport" },
822 { id_ReportingPeriodicity, "id-ReportingPeriodicity" },
823 { id_CellToReport_Item, "id-CellToReport-Item" },
824 { id_CellMeasurementResult, "id-CellMeasurementResult" },
825 { id_CellMeasurementResult_Item, "id-CellMeasurementResult-Item" },
826 { id_GUGroupIDToAddList, "id-GUGroupIDToAddList" },
827 { id_GUGroupIDToDeleteList, "id-GUGroupIDToDeleteList" },
828 { id_SRVCCOperationPossible, "id-SRVCCOperationPossible" },
829 { id_Measurement_ID, "id-Measurement-ID" },
830 { id_ReportCharacteristics, "id-ReportCharacteristics" },
831 { id_ENB1_Measurement_ID, "id-ENB1-Measurement-ID" },
832 { id_ENB2_Measurement_ID, "id-ENB2-Measurement-ID" },
833 { id_Number_of_Antennaports, "id-Number-of-Antennaports" },
834 { id_CompositeAvailableCapacityGroup, "id-CompositeAvailableCapacityGroup" },
835 { id_ENB1_Cell_ID, "id-ENB1-Cell-ID" },
836 { id_ENB2_Cell_ID, "id-ENB2-Cell-ID" },
837 { id_ENB2_Proposed_Mobility_Parameters, "id-ENB2-Proposed-Mobility-Parameters" },
838 { id_ENB1_Mobility_Parameters, "id-ENB1-Mobility-Parameters" },
839 { id_ENB2_Mobility_Parameters_Modification_Range, "id-ENB2-Mobility-Parameters-Modification-Range" },
840 { id_FailureCellPCI, "id-FailureCellPCI" },
841 { id_Re_establishmentCellECGI, "id-Re-establishmentCellECGI" },
842 { id_FailureCellCRNTI, "id-FailureCellCRNTI" },
843 { id_ShortMAC_I, "id-ShortMAC-I" },
844 { id_SourceCellECGI, "id-SourceCellECGI" },
845 { id_FailureCellECGI, "id-FailureCellECGI" },
846 { id_HandoverReportType, "id-HandoverReportType" },
847 { id_PRACH_Configuration, "id-PRACH-Configuration" },
848 { id_MBSFN_Subframe_Info, "id-MBSFN-Subframe-Info" },
849 { id_ServedCellsToActivate, "id-ServedCellsToActivate" },
850 { id_ActivatedCellList, "id-ActivatedCellList" },
851 { id_DeactivationIndication, "id-DeactivationIndication" },
852 { id_UE_RLF_Report_Container, "id-UE-RLF-Report-Container" },
853 { id_ABSInformation, "id-ABSInformation" },
854 { id_InvokeIndication, "id-InvokeIndication" },
855 { id_ABS_Status, "id-ABS-Status" },
856 { id_PartialSuccessIndicator, "id-PartialSuccessIndicator" },
857 { id_MeasurementInitiationResult_List, "id-MeasurementInitiationResult-List" },
858 { id_MeasurementInitiationResult_Item, "id-MeasurementInitiationResult-Item" },
859 { id_MeasurementFailureCause_Item, "id-MeasurementFailureCause-Item" },
860 { id_CompleteFailureCauseInformation_List, "id-CompleteFailureCauseInformation-List" },
861 { id_CompleteFailureCauseInformation_Item, "id-CompleteFailureCauseInformation-Item" },
862 { id_CSG_Id, "id-CSG-Id" },
863 { id_CSGMembershipStatus, "id-CSGMembershipStatus" },
864 { id_MDTConfiguration, "id-MDTConfiguration" },
865 { id_ManagementBasedMDTallowed, "id-ManagementBasedMDTallowed" },
866 { id_RRCConnSetupIndicator, "id-RRCConnSetupIndicator" },
872 dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
873 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
874 0U, maxProtocolIEs, &ProtocolIE_ID, FALSE);
876 #line 50 "../../asn1/x2ap/x2ap.cnf"
878 proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(x2ap_ProtocolIE_ID_vals), "unknown (%d)"));
885 static const value_string x2ap_TriggeringMessage_vals[] = {
886 { 0, "initiating-message" },
887 { 1, "successful-outcome" },
888 { 2, "unsuccessful-outcome" },
894 dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
895 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
896 3, NULL, FALSE, 0, NULL);
904 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_) {
905 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
911 static const per_sequence_t ProtocolIE_Field_sequence[] = {
912 { &hf_x2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
913 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
914 { &hf_x2ap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field_value },
919 dissect_x2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
920 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
921 ett_x2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
927 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
928 { &hf_x2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field },
932 dissect_x2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
933 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
934 ett_x2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
935 0, maxProtocolIEs, FALSE);
943 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_) {
944 offset = dissect_x2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
952 dissect_x2ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
953 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
959 static const per_sequence_t ProtocolExtensionField_sequence[] = {
960 { &hf_x2ap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
961 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
962 { &hf_x2ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_T_extensionValue },
967 dissect_x2ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
968 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
969 ett_x2ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
975 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
976 { &hf_x2ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolExtensionField },
980 dissect_x2ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
981 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
982 ett_x2ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
983 1, maxProtocolExtensions, FALSE);
991 dissect_x2ap_PrivateIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
992 offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
998 static const per_sequence_t PrivateIE_Field_sequence[] = {
999 { &hf_x2ap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_ID },
1000 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
1001 { &hf_x2ap_privateIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field_value },
1002 { NULL, 0, 0, NULL }
1006 dissect_x2ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1007 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1008 ett_x2ap_PrivateIE_Field, PrivateIE_Field_sequence);
1014 static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
1015 { &hf_x2ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field },
1019 dissect_x2ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1020 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1021 ett_x2ap_PrivateIE_Container, PrivateIE_Container_sequence_of,
1022 1, maxPrivateIEs, FALSE);
1030 dissect_x2ap_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1031 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1032 40, 40, FALSE, NULL);
1038 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
1047 dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1048 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1049 3, NULL, TRUE, 0, NULL);
1055 static const per_sequence_t ABSInformationFDD_sequence[] = {
1056 { &hf_x2ap_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
1057 { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
1058 { &hf_x2ap_measurement_subset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
1059 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1060 { NULL, 0, 0, NULL }
1064 dissect_x2ap_ABSInformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1065 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1066 ett_x2ap_ABSInformationFDD, ABSInformationFDD_sequence);
1074 dissect_x2ap_BIT_STRING_SIZE_1_70_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1075 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1082 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_01_vals[] = {
1091 dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1092 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1093 3, NULL, TRUE, 0, NULL);
1099 static const per_sequence_t ABSInformationTDD_sequence[] = {
1100 { &hf_x2ap_abs_pattern_info_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
1101 { &hf_x2ap_numberOfCellSpecificAntennaPorts_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01 },
1102 { &hf_x2ap_measurement_subset_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
1103 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1104 { NULL, 0, 0, NULL }
1108 dissect_x2ap_ABSInformationTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1109 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1110 ett_x2ap_ABSInformationTDD, ABSInformationTDD_sequence);
1118 dissect_x2ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1119 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1125 static const value_string x2ap_ABSInformation_vals[] = {
1128 { 2, "abs-inactive" },
1132 static const per_choice_t ABSInformation_choice[] = {
1133 { 0, &hf_x2ap_fdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationFDD },
1134 { 1, &hf_x2ap_tdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationTDD },
1135 { 2, &hf_x2ap_abs_inactive , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
1136 { 0, NULL, 0, NULL }
1140 dissect_x2ap_ABSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1141 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1142 ett_x2ap_ABSInformation, ABSInformation_choice,
1151 dissect_x2ap_DL_ABS_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1152 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1153 0U, 100U, NULL, FALSE);
1159 static const per_sequence_t UsableABSInformationFDD_sequence[] = {
1160 { &hf_x2ap_usable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
1161 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1162 { NULL, 0, 0, NULL }
1166 dissect_x2ap_UsableABSInformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1167 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1168 ett_x2ap_UsableABSInformationFDD, UsableABSInformationFDD_sequence);
1174 static const per_sequence_t UsableABSInformationTDD_sequence[] = {
1175 { &hf_x2ap_usaable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
1176 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1177 { NULL, 0, 0, NULL }
1181 dissect_x2ap_UsableABSInformationTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1182 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1183 ett_x2ap_UsableABSInformationTDD, UsableABSInformationTDD_sequence);
1189 static const value_string x2ap_UsableABSInformation_vals[] = {
1195 static const per_choice_t UsableABSInformation_choice[] = {
1196 { 0, &hf_x2ap_fdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationFDD },
1197 { 1, &hf_x2ap_tdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationTDD },
1198 { 0, NULL, 0, NULL }
1202 dissect_x2ap_UsableABSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1203 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1204 ett_x2ap_UsableABSInformation, UsableABSInformation_choice,
1211 static const per_sequence_t ABS_Status_sequence[] = {
1212 { &hf_x2ap_dL_ABS_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_ABS_status },
1213 { &hf_x2ap_usableABSInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UsableABSInformation },
1214 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1215 { NULL, 0, 0, NULL }
1219 dissect_x2ap_ABS_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1220 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1221 ett_x2ap_ABS_Status, ABS_Status_sequence);
1229 dissect_x2ap_Key_eNodeB_Star(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1230 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1231 256, 256, FALSE, NULL);
1239 dissect_x2ap_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1240 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1241 0U, 7U, NULL, FALSE);
1247 static const per_sequence_t AS_SecurityInformation_sequence[] = {
1248 { &hf_x2ap_key_eNodeB_star, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Key_eNodeB_Star },
1249 { &hf_x2ap_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NextHopChainingCount },
1250 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1251 { NULL, 0, 0, NULL }
1255 dissect_x2ap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1256 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1257 ett_x2ap_AS_SecurityInformation, AS_SecurityInformation_sequence);
1263 static const value_string x2ap_PriorityLevel_vals[] = {
1267 { 15, "no-priority" },
1273 dissect_x2ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1274 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1275 0U, 15U, NULL, FALSE);
1281 static const value_string x2ap_Pre_emptionCapability_vals[] = {
1282 { 0, "shall-not-trigger-pre-emption" },
1283 { 1, "may-trigger-pre-emption" },
1289 dissect_x2ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1290 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1291 2, NULL, FALSE, 0, NULL);
1297 static const value_string x2ap_Pre_emptionVulnerability_vals[] = {
1298 { 0, "not-pre-emptable" },
1299 { 1, "pre-emptable" },
1305 dissect_x2ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1306 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1307 2, NULL, FALSE, 0, NULL);
1313 static const per_sequence_t AllocationAndRetentionPriority_sequence[] = {
1314 { &hf_x2ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PriorityLevel },
1315 { &hf_x2ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionCapability },
1316 { &hf_x2ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionVulnerability },
1317 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1318 { NULL, 0, 0, NULL }
1322 dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1323 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1324 ett_x2ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence);
1332 dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1333 #line 78 "../../asn1/x2ap/x2ap.cnf"
1334 tvbuff_t *parameter_tvb=NULL;
1336 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1337 3, 3, FALSE, ¶meter_tvb);
1340 if(tvb_length(tvb)==0)
1345 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, FALSE);
1354 dissect_x2ap_EUTRANCellIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1355 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1356 28, 28, FALSE, NULL);
1362 static const per_sequence_t ECGI_sequence[] = {
1363 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1364 { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
1365 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1366 { NULL, 0, 0, NULL }
1370 dissect_x2ap_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1371 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1372 ett_x2ap_ECGI, ECGI_sequence);
1378 static const per_sequence_t CellIdListforMDT_sequence_of[1] = {
1379 { &hf_x2ap_CellIdListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1383 dissect_x2ap_CellIdListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1384 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1385 ett_x2ap_CellIdListforMDT, CellIdListforMDT_sequence_of,
1386 1, maxnoofCellIDforMDT, FALSE);
1392 static const per_sequence_t CellBasedMDT_sequence[] = {
1393 { &hf_x2ap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellIdListforMDT },
1394 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1395 { NULL, 0, 0, NULL }
1399 dissect_x2ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1400 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1401 ett_x2ap_CellBasedMDT, CellBasedMDT_sequence);
1409 dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1410 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1417 static const per_sequence_t TAListforMDT_sequence_of[1] = {
1418 { &hf_x2ap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1422 dissect_x2ap_TAListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1423 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1424 ett_x2ap_TAListforMDT, TAListforMDT_sequence_of,
1425 1, maxnoofTAforMDT, FALSE);
1431 static const per_sequence_t TABasedMDT_sequence[] = {
1432 { &hf_x2ap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAListforMDT },
1433 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1434 { NULL, 0, 0, NULL }
1438 dissect_x2ap_TABasedMDT(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_TABasedMDT, TABasedMDT_sequence);
1446 static const value_string x2ap_AreaScopeOfMDT_vals[] = {
1453 static const per_choice_t AreaScopeOfMDT_choice[] = {
1454 { 0, &hf_x2ap_cellBased , ASN1_EXTENSION_ROOT , dissect_x2ap_CellBasedMDT },
1455 { 1, &hf_x2ap_tABased , ASN1_EXTENSION_ROOT , dissect_x2ap_TABasedMDT },
1456 { 2, &hf_x2ap_pLMNWide , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
1457 { 0, NULL, 0, NULL }
1461 dissect_x2ap_AreaScopeOfMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1462 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1463 ett_x2ap_AreaScopeOfMDT, AreaScopeOfMDT_choice,
1472 dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1473 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
1474 0U, G_GINT64_CONSTANT(10000000000U), NULL, FALSE);
1480 static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = {
1481 { &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1485 dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1486 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1487 ett_x2ap_BroadcastPLMNs_Item, BroadcastPLMNs_Item_sequence_of,
1488 1, maxnoofBPLMNs, FALSE);
1496 dissect_x2ap_CapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1497 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1498 0U, 100U, NULL, FALSE);
1506 dissect_x2ap_CellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1507 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1508 1U, 100U, NULL, TRUE);
1514 static const value_string x2ap_CauseRadioNetwork_vals[] = {
1515 { 0, "handover-desirable-for-radio-reasons" },
1516 { 1, "time-critical-handover" },
1517 { 2, "resource-optimisation-handover" },
1518 { 3, "reduce-load-in-serving-cell" },
1519 { 4, "partial-handover" },
1520 { 5, "unknown-new-eNB-UE-X2AP-ID" },
1521 { 6, "unknown-old-eNB-UE-X2AP-ID" },
1522 { 7, "unknown-pair-of-UE-X2AP-ID" },
1523 { 8, "ho-target-not-allowed" },
1524 { 9, "tx2relocoverall-expiry" },
1525 { 10, "trelocprep-expiry" },
1526 { 11, "cell-not-available" },
1527 { 12, "no-radio-resources-available-in-target-cell" },
1528 { 13, "invalid-MME-GroupID" },
1529 { 14, "unknown-MME-Code" },
1530 { 15, "encryption-and-or-integrity-protection-algorithms-not-supported" },
1531 { 16, "reportCharacteristicsEmpty" },
1532 { 17, "noReportPeriodicity" },
1533 { 18, "existingMeasurementID" },
1534 { 19, "unknown-eNB-Measurement-ID" },
1535 { 20, "measurement-temporarily-not-available" },
1536 { 21, "unspecified" },
1537 { 22, "load-balancing" },
1538 { 23, "handover-optimisation" },
1539 { 24, "value-out-of-allowed-range" },
1540 { 25, "multiple-E-RAB-ID-instances" },
1541 { 26, "switch-off-ongoing" },
1542 { 27, "not-supported-QCI-value" },
1543 { 28, "measurement-not-supported-for-the-object" },
1549 dissect_x2ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1550 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1551 22, NULL, TRUE, 7, NULL);
1557 static const value_string x2ap_CauseTransport_vals[] = {
1558 { 0, "transport-resource-unavailable" },
1559 { 1, "unspecified" },
1565 dissect_x2ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1566 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1567 2, NULL, TRUE, 0, NULL);
1573 static const value_string x2ap_CauseProtocol_vals[] = {
1574 { 0, "transfer-syntax-error" },
1575 { 1, "abstract-syntax-error-reject" },
1576 { 2, "abstract-syntax-error-ignore-and-notify" },
1577 { 3, "message-not-compatible-with-receiver-state" },
1578 { 4, "semantic-error" },
1579 { 5, "unspecified" },
1580 { 6, "abstract-syntax-error-falsely-constructed-message" },
1586 dissect_x2ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1587 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1588 7, NULL, TRUE, 0, NULL);
1594 static const value_string x2ap_CauseMisc_vals[] = {
1595 { 0, "control-processing-overload" },
1596 { 1, "hardware-failure" },
1597 { 2, "om-intervention" },
1598 { 3, "not-enough-user-plane-processing-resources" },
1599 { 4, "unspecified" },
1605 dissect_x2ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1606 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1607 5, NULL, TRUE, 0, NULL);
1613 static const value_string x2ap_Cause_vals[] = {
1614 { 0, "radioNetwork" },
1621 static const per_choice_t Cause_choice[] = {
1622 { 0, &hf_x2ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseRadioNetwork },
1623 { 1, &hf_x2ap_transport , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseTransport },
1624 { 2, &hf_x2ap_protocol , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseProtocol },
1625 { 3, &hf_x2ap_misc , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseMisc },
1626 { 0, NULL, 0, NULL }
1630 dissect_x2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1631 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1632 ett_x2ap_Cause, Cause_choice,
1639 static const value_string x2ap_Cell_Size_vals[] = {
1649 dissect_x2ap_Cell_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1650 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1651 4, NULL, TRUE, 0, NULL);
1657 static const per_sequence_t CellType_sequence[] = {
1658 { &hf_x2ap_cell_Size , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cell_Size },
1659 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1660 { NULL, 0, 0, NULL }
1664 dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1665 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1666 ett_x2ap_CellType, CellType_sequence);
1672 static const per_sequence_t CompositeAvailableCapacity_sequence[] = {
1673 { &hf_x2ap_cellCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellCapacityClassValue },
1674 { &hf_x2ap_capacityValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CapacityValue },
1675 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1676 { NULL, 0, 0, NULL }
1680 dissect_x2ap_CompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1681 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1682 ett_x2ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence);
1688 static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = {
1689 { &hf_x2ap_dL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
1690 { &hf_x2ap_uL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
1691 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1692 { NULL, 0, 0, NULL }
1696 dissect_x2ap_CompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1697 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1698 ett_x2ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence);
1706 dissect_x2ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1707 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1708 0U, 4095U, NULL, FALSE);
1716 dissect_x2ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1717 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1718 0U, 1048575U, NULL, FALSE);
1724 static const per_sequence_t COUNTvalue_sequence[] = {
1725 { &hf_x2ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SN },
1726 { &hf_x2ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFN },
1727 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1728 { NULL, 0, 0, NULL }
1732 dissect_x2ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1733 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1734 ett_x2ap_COUNTvalue, COUNTvalue_sequence);
1740 static const value_string x2ap_TypeOfError_vals[] = {
1741 { 0, "not-understood" },
1748 dissect_x2ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1749 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1750 2, NULL, TRUE, 0, NULL);
1756 static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
1757 { &hf_x2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
1758 { &hf_x2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
1759 { &hf_x2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TypeOfError },
1760 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1761 { NULL, 0, 0, NULL }
1765 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_) {
1766 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1767 ett_x2ap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
1773 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
1774 { &hf_x2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CriticalityDiagnostics_IE_List_item },
1778 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_) {
1779 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1780 ett_x2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
1781 1, maxNrOfErrors, FALSE);
1787 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
1788 { &hf_x2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProcedureCode },
1789 { &hf_x2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TriggeringMessage },
1790 { &hf_x2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Criticality },
1791 { &hf_x2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CriticalityDiagnostics_IE_List },
1792 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1793 { NULL, 0, 0, NULL }
1797 dissect_x2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1798 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1799 ett_x2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
1807 dissect_x2ap_CRNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1808 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1809 16, 16, FALSE, NULL);
1815 static const value_string x2ap_CSGMembershipStatus_vals[] = {
1817 { 1, "not-member" },
1823 dissect_x2ap_CSGMembershipStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1824 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1825 2, NULL, FALSE, 0, NULL);
1833 dissect_x2ap_CSG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1834 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1835 27, 27, FALSE, NULL);
1841 static const value_string x2ap_CyclicPrefixDL_vals[] = {
1849 dissect_x2ap_CyclicPrefixDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1850 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1851 2, NULL, TRUE, 0, NULL);
1857 static const value_string x2ap_CyclicPrefixUL_vals[] = {
1865 dissect_x2ap_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1866 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1867 2, NULL, TRUE, 0, NULL);
1873 static const value_string x2ap_DeactivationIndication_vals[] = {
1874 { 0, "deactivated" },
1880 dissect_x2ap_DeactivationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1881 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1882 1, NULL, TRUE, 0, NULL);
1888 static const value_string x2ap_DL_Forwarding_vals[] = {
1889 { 0, "dL-forwardingProposed" },
1895 dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1896 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1897 1, NULL, TRUE, 0, NULL);
1905 dissect_x2ap_DL_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1906 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1907 0U, 100U, NULL, FALSE);
1915 dissect_x2ap_DL_non_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1916 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1917 0U, 100U, NULL, FALSE);
1925 dissect_x2ap_DL_Total_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1926 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1927 0U, 100U, NULL, FALSE);
1935 dissect_x2ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1936 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1937 0U, maxEARFCN, NULL, FALSE);
1943 static const value_string x2ap_Transmission_Bandwidth_vals[] = {
1955 dissect_x2ap_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1956 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1957 6, NULL, TRUE, 0, NULL);
1963 static const per_sequence_t FDD_Info_sequence[] = {
1964 { &hf_x2ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1965 { &hf_x2ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1966 { &hf_x2ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1967 { &hf_x2ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1968 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1969 { NULL, 0, 0, NULL }
1973 dissect_x2ap_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1974 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1975 ett_x2ap_FDD_Info, FDD_Info_sequence);
1981 static const value_string x2ap_SubframeAssignment_vals[] = {
1994 dissect_x2ap_SubframeAssignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1995 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1996 7, NULL, TRUE, 0, NULL);
2002 static const value_string x2ap_SpecialSubframePatterns_vals[] = {
2017 dissect_x2ap_SpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2018 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2019 9, NULL, TRUE, 0, NULL);
2025 static const per_sequence_t SpecialSubframe_Info_sequence[] = {
2026 { &hf_x2ap_specialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframePatterns },
2027 { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL },
2028 { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL },
2029 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2030 { NULL, 0, 0, NULL }
2034 dissect_x2ap_SpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2035 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2036 ett_x2ap_SpecialSubframe_Info, SpecialSubframe_Info_sequence);
2042 static const per_sequence_t TDD_Info_sequence[] = {
2043 { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
2044 { &hf_x2ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
2045 { &hf_x2ap_subframeAssignment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAssignment },
2046 { &hf_x2ap_specialSubframe_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframe_Info },
2047 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2048 { NULL, 0, 0, NULL }
2052 dissect_x2ap_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2053 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2054 ett_x2ap_TDD_Info, TDD_Info_sequence);
2060 static const value_string x2ap_EUTRA_Mode_Info_vals[] = {
2066 static const per_choice_t EUTRA_Mode_Info_choice[] = {
2067 { 0, &hf_x2ap_fDD , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_Info },
2068 { 1, &hf_x2ap_tDD , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_Info },
2069 { 0, NULL, 0, NULL }
2073 dissect_x2ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2074 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2075 ett_x2ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice,
2084 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_) {
2085 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2086 20, 20, FALSE, NULL);
2094 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_) {
2095 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2096 28, 28, FALSE, NULL);
2102 static const value_string x2ap_ENB_ID_vals[] = {
2103 { 0, "macro-eNB-ID" },
2104 { 1, "home-eNB-ID" },
2108 static const per_choice_t ENB_ID_choice[] = {
2109 { 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 },
2110 { 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 },
2111 { 0, NULL, 0, NULL }
2115 dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2116 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2117 ett_x2ap_ENB_ID, ENB_ID_choice,
2126 dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2127 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2128 16, 16, TRUE, NULL);
2134 static const per_sequence_t EPLMNs_sequence_of[1] = {
2135 { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2139 dissect_x2ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2140 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2141 ett_x2ap_EPLMNs, EPLMNs_sequence_of,
2142 1, maxnoofEPLMNs, FALSE);
2150 dissect_x2ap_E_RAB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2151 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2152 0U, 15U, NULL, TRUE);
2160 dissect_x2ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2161 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2162 0U, 255U, NULL, FALSE);
2168 static const per_sequence_t GBR_QosInformation_sequence[] = {
2169 { &hf_x2ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2170 { &hf_x2ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2171 { &hf_x2ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2172 { &hf_x2ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2173 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2174 { NULL, 0, 0, NULL }
2178 dissect_x2ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2179 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2180 ett_x2ap_GBR_QosInformation, GBR_QosInformation_sequence);
2186 static const per_sequence_t E_RAB_Level_QoS_Parameters_sequence[] = {
2187 { &hf_x2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_QCI },
2188 { &hf_x2ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AllocationAndRetentionPriority },
2189 { &hf_x2ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation },
2190 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2191 { NULL, 0, 0, NULL }
2195 dissect_x2ap_E_RAB_Level_QoS_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2196 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2197 ett_x2ap_E_RAB_Level_QoS_Parameters, E_RAB_Level_QoS_Parameters_sequence);
2203 static const per_sequence_t E_RAB_List_sequence_of[1] = {
2204 { &hf_x2ap_E_RAB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2208 dissect_x2ap_E_RAB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2209 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2210 ett_x2ap_E_RAB_List, E_RAB_List_sequence_of,
2211 1, maxnoofBearers, FALSE);
2217 static const per_sequence_t E_RAB_Item_sequence[] = {
2218 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
2219 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
2220 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2221 { NULL, 0, 0, NULL }
2225 dissect_x2ap_E_RAB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2226 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2227 ett_x2ap_E_RAB_Item, E_RAB_Item_sequence);
2235 dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2236 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2243 static const value_string x2ap_EventType_vals[] = {
2244 { 0, "change-of-serving-cell" },
2250 dissect_x2ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2251 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2252 1, NULL, TRUE, 0, NULL);
2258 static const value_string x2ap_ForbiddenInterRATs_vals[] = {
2263 { 4, "geranandutran" },
2264 { 5, "cdma2000andutran" },
2270 dissect_x2ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2271 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2272 4, NULL, TRUE, 2, NULL);
2278 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
2279 { &hf_x2ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
2283 dissect_x2ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2284 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2285 ett_x2ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
2286 1, maxnoofForbTACs, FALSE);
2292 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
2293 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2294 { &hf_x2ap_forbiddenTACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTACs },
2295 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2296 { NULL, 0, 0, NULL }
2300 dissect_x2ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2301 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2302 ett_x2ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
2308 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
2309 { &hf_x2ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTAs_Item },
2313 dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2314 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2315 ett_x2ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
2316 1, maxnoofEPLMNsPlusOne, FALSE);
2324 dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2325 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2332 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
2333 { &hf_x2ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LAC },
2337 dissect_x2ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2338 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2339 ett_x2ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
2340 1, maxnoofForbLACs, FALSE);
2346 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
2347 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2348 { &hf_x2ap_forbiddenLACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLACs },
2349 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2350 { NULL, 0, 0, NULL }
2354 dissect_x2ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2355 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2356 ett_x2ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
2362 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
2363 { &hf_x2ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLAs_Item },
2367 dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2368 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2369 ett_x2ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
2370 1, maxnoofEPLMNsPlusOne, FALSE);
2378 dissect_x2ap_Fourframes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2379 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2380 24, 24, FALSE, NULL);
2386 static const per_sequence_t GlobalENB_ID_sequence[] = {
2387 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2388 { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID },
2389 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2390 { NULL, 0, 0, NULL }
2394 dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2395 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2396 ett_x2ap_GlobalENB_ID, GlobalENB_ID_sequence);
2404 dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2405 #line 111 "../../asn1/x2ap/x2ap.cnf"
2406 tvbuff_t *parameter_tvb=NULL;
2407 proto_tree *subtree;
2410 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2411 1, 160, TRUE, ¶meter_tvb);
2415 /* Get the length */
2416 tvb_len = tvb_length(parameter_tvb);
2417 subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress);
2420 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, tvb_len, FALSE);
2424 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, tvb_len, FALSE);
2435 dissect_x2ap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2436 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2443 static const per_sequence_t GTPtunnelEndpoint_sequence[] = {
2444 { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress },
2445 { &hf_x2ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTP_TEI },
2446 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2447 { NULL, 0, 0, NULL }
2451 dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2452 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2453 ett_x2ap_GTPtunnelEndpoint, GTPtunnelEndpoint_sequence);
2461 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_) {
2462 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2469 static const per_sequence_t GU_Group_ID_sequence[] = {
2470 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2471 { &hf_x2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Group_ID },
2472 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2473 { NULL, 0, 0, NULL }
2477 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_) {
2478 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2479 ett_x2ap_GU_Group_ID, GU_Group_ID_sequence);
2485 static const per_sequence_t GUGroupIDList_sequence_of[1] = {
2486 { &hf_x2ap_GUGroupIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
2490 dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2491 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2492 ett_x2ap_GUGroupIDList, GUGroupIDList_sequence_of,
2493 1, maxPools, FALSE);
2501 dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2502 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2509 static const per_sequence_t GUMMEI_sequence[] = {
2510 { &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
2511 { &hf_x2ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
2512 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2513 { NULL, 0, 0, NULL }
2517 dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2518 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2519 ett_x2ap_GUMMEI, GUMMEI_sequence);
2525 static const value_string x2ap_HandoverReportType_vals[] = {
2526 { 0, "hoTooEarly" },
2527 { 1, "hoToWrongCell" },
2533 dissect_x2ap_HandoverReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2534 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2535 2, NULL, TRUE, 0, NULL);
2541 static const per_sequence_t HandoverRestrictionList_sequence[] = {
2542 { &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2543 { &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs },
2544 { &hf_x2ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenTAs },
2545 { &hf_x2ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenLAs },
2546 { &hf_x2ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenInterRATs },
2547 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2548 { NULL, 0, 0, NULL }
2552 dissect_x2ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2553 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2554 ett_x2ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
2560 static const value_string x2ap_LoadIndicator_vals[] = {
2562 { 1, "mediumLoad" },
2570 dissect_x2ap_LoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2571 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2572 4, NULL, TRUE, 0, NULL);
2578 static const per_sequence_t HWLoadIndicator_sequence[] = {
2579 { &hf_x2ap_dLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2580 { &hf_x2ap_uLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2581 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2582 { NULL, 0, 0, NULL }
2586 dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2587 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2588 ett_x2ap_HWLoadIndicator, HWLoadIndicator_sequence);
2594 static const value_string x2ap_InvokeIndication_vals[] = {
2595 { 0, "abs-information" },
2601 dissect_x2ap_InvokeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2602 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2603 1, NULL, TRUE, 0, NULL);
2611 dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2612 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2613 16, 16, TRUE, NULL);
2621 dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2622 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2631 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_) {
2632 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2633 0U, 4095U, NULL, FALSE);
2639 static const per_sequence_t LastVisitedEUTRANCellInformation_sequence[] = {
2640 { &hf_x2ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2641 { &hf_x2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellType },
2642 { &hf_x2ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Time_UE_StayedInCell },
2643 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2644 { NULL, 0, 0, NULL }
2648 dissect_x2ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2649 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2650 ett_x2ap_LastVisitedEUTRANCellInformation, LastVisitedEUTRANCellInformation_sequence);
2658 dissect_x2ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2659 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2660 NO_BOUND, NO_BOUND, FALSE, NULL);
2666 static const value_string x2ap_LastVisitedGERANCellInformation_vals[] = {
2671 static const per_choice_t LastVisitedGERANCellInformation_choice[] = {
2672 { 0, &hf_x2ap_undefined , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
2673 { 0, NULL, 0, NULL }
2677 dissect_x2ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2678 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2679 ett_x2ap_LastVisitedGERANCellInformation, LastVisitedGERANCellInformation_choice,
2686 static const value_string x2ap_LastVisitedCell_Item_vals[] = {
2687 { 0, "e-UTRAN-Cell" },
2688 { 1, "uTRAN-Cell" },
2689 { 2, "gERAN-Cell" },
2693 static const per_choice_t LastVisitedCell_Item_choice[] = {
2694 { 0, &hf_x2ap_e_UTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedEUTRANCellInformation },
2695 { 1, &hf_x2ap_uTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedUTRANCellInformation },
2696 { 2, &hf_x2ap_gERAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedGERANCellInformation },
2697 { 0, NULL, 0, NULL }
2701 dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2702 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2703 ett_x2ap_LastVisitedCell_Item, LastVisitedCell_Item_choice,
2710 static const value_string x2ap_ReportArea_vals[] = {
2717 dissect_x2ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2718 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2719 1, NULL, TRUE, 0, NULL);
2725 static const per_sequence_t LocationReportingInformation_sequence[] = {
2726 { &hf_x2ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EventType },
2727 { &hf_x2ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportArea },
2728 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2729 { NULL, 0, 0, NULL }
2733 dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2734 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2735 ett_x2ap_LocationReportingInformation, LocationReportingInformation_sequence);
2741 static const value_string x2ap_MDT_Activation_vals[] = {
2742 { 0, "immediate-MDT-only" },
2743 { 1, "immediate-MDT-and-Trace" },
2749 dissect_x2ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2750 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2751 2, NULL, TRUE, 0, NULL);
2759 dissect_x2ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2760 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2767 static const value_string x2ap_ReportingTriggerMDT_vals[] = {
2769 { 1, "a2eventtriggered" },
2775 dissect_x2ap_ReportingTriggerMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2776 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2777 2, NULL, TRUE, 0, NULL);
2785 dissect_x2ap_Threshold_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2786 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2787 0U, 97U, NULL, FALSE);
2795 dissect_x2ap_Threshold_RSRQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2796 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2797 0U, 34U, NULL, FALSE);
2803 static const value_string x2ap_MeasurementThresholdA2_vals[] = {
2804 { 0, "threshold-RSRP" },
2805 { 1, "threshold-RSRQ" },
2809 static const per_choice_t MeasurementThresholdA2_choice[] = {
2810 { 0, &hf_x2ap_threshold_RSRP , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRP },
2811 { 1, &hf_x2ap_threshold_RSRQ , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRQ },
2812 { 0, NULL, 0, NULL }
2816 dissect_x2ap_MeasurementThresholdA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2817 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2818 ett_x2ap_MeasurementThresholdA2, MeasurementThresholdA2_choice,
2825 static const per_sequence_t ThresholdEventA2_sequence[] = {
2826 { &hf_x2ap_measurementThreshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementThresholdA2 },
2827 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2828 { NULL, 0, 0, NULL }
2832 dissect_x2ap_ThresholdEventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2833 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2834 ett_x2ap_ThresholdEventA2, ThresholdEventA2_sequence);
2840 static const value_string x2ap_ReportIntervalMDT_vals[] = {
2859 dissect_x2ap_ReportIntervalMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2860 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2861 13, NULL, FALSE, 0, NULL);
2867 static const value_string x2ap_ReportAmountMDT_vals[] = {
2881 dissect_x2ap_ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2882 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2883 8, NULL, FALSE, 0, NULL);
2889 static const per_sequence_t PeriodicReportingMDT_sequence[] = {
2890 { &hf_x2ap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportIntervalMDT },
2891 { &hf_x2ap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportAmountMDT },
2892 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2893 { NULL, 0, 0, NULL }
2897 dissect_x2ap_PeriodicReportingMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2898 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2899 ett_x2ap_PeriodicReportingMDT, PeriodicReportingMDT_sequence);
2905 static const per_sequence_t MDT_Configuration_sequence[] = {
2906 { &hf_x2ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MDT_Activation },
2907 { &hf_x2ap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AreaScopeOfMDT },
2908 { &hf_x2ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementsToActivate },
2909 { &hf_x2ap_reportingTriggerMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportingTriggerMDT },
2910 { &hf_x2ap_thresholdeventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ThresholdEventA2 },
2911 { &hf_x2ap_periodicReportingMDT, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PeriodicReportingMDT },
2912 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2913 { NULL, 0, 0, NULL }
2917 dissect_x2ap_MDT_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2918 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2919 ett_x2ap_MDT_Configuration, MDT_Configuration_sequence);
2927 dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2928 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2929 1U, 4095U, NULL, TRUE);
2935 static const value_string x2ap_RadioframeAllocationPeriod_vals[] = {
2947 dissect_x2ap_RadioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2948 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2949 6, NULL, TRUE, 0, NULL);
2957 dissect_x2ap_RadioframeAllocationOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2958 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2959 0U, 7U, NULL, TRUE);
2967 dissect_x2ap_Oneframe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2968 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2975 static const value_string x2ap_SubframeAllocation_vals[] = {
2977 { 1, "fourframes" },
2981 static const per_choice_t SubframeAllocation_choice[] = {
2982 { 0, &hf_x2ap_oneframe , ASN1_EXTENSION_ROOT , dissect_x2ap_Oneframe },
2983 { 1, &hf_x2ap_fourframes , ASN1_EXTENSION_ROOT , dissect_x2ap_Fourframes },
2984 { 0, NULL, 0, NULL }
2988 dissect_x2ap_SubframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2989 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2990 ett_x2ap_SubframeAllocation, SubframeAllocation_choice,
2997 static const per_sequence_t MBSFN_Subframe_Info_sequence[] = {
2998 { &hf_x2ap_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationPeriod },
2999 { &hf_x2ap_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationOffset },
3000 { &hf_x2ap_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAllocation },
3001 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3002 { NULL, 0, 0, NULL }
3006 dissect_x2ap_MBSFN_Subframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3007 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3008 ett_x2ap_MBSFN_Subframe_Info, MBSFN_Subframe_Info_sequence);
3014 static const per_sequence_t MBSFN_Subframe_Infolist_sequence_of[1] = {
3015 { &hf_x2ap_MBSFN_Subframe_Infolist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_MBSFN_Subframe_Info },
3019 dissect_x2ap_MBSFN_Subframe_Infolist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3020 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3021 ett_x2ap_MBSFN_Subframe_Infolist, MBSFN_Subframe_Infolist_sequence_of,
3022 1, maxnoofMBSFN, FALSE);
3028 static const value_string x2ap_ManagementBasedMDTallowed_vals[] = {
3035 dissect_x2ap_ManagementBasedMDTallowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3036 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3037 1, NULL, TRUE, 0, NULL);
3045 dissect_x2ap_INTEGER_M20_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3046 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3047 -20, 20U, NULL, FALSE);
3053 static const per_sequence_t MobilityParametersModificationRange_sequence[] = {
3054 { &hf_x2ap_handoverTriggerChangeLowerLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
3055 { &hf_x2ap_handoverTriggerChangeUpperLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
3056 { NULL, 0, 0, NULL }
3060 dissect_x2ap_MobilityParametersModificationRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3061 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3062 ett_x2ap_MobilityParametersModificationRange, MobilityParametersModificationRange_sequence);
3068 static const per_sequence_t MobilityParametersInformation_sequence[] = {
3069 { &hf_x2ap_handoverTriggerChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
3070 { NULL, 0, 0, NULL }
3074 dissect_x2ap_MobilityParametersInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3075 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3076 ett_x2ap_MobilityParametersInformation, MobilityParametersInformation_sequence);
3084 dissect_x2ap_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3085 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3086 0U, 503U, NULL, TRUE);
3092 static const per_sequence_t Neighbour_Information_item_sequence[] = {
3093 { &hf_x2ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3094 { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI },
3095 { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
3096 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3097 { NULL, 0, 0, NULL }
3101 dissect_x2ap_Neighbour_Information_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3102 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3103 ett_x2ap_Neighbour_Information_item, Neighbour_Information_item_sequence);
3109 static const per_sequence_t Neighbour_Information_sequence_of[1] = {
3110 { &hf_x2ap_Neighbour_Information_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Neighbour_Information_item },
3114 dissect_x2ap_Neighbour_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3115 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3116 ett_x2ap_Neighbour_Information, Neighbour_Information_sequence_of,
3117 0, maxnoofNeighbours, FALSE);
3123 static const value_string x2ap_Number_of_Antennaports_vals[] = {
3132 dissect_x2ap_Number_of_Antennaports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3133 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3134 3, NULL, TRUE, 0, NULL);
3142 dissect_x2ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3143 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3144 0U, 837U, NULL, FALSE);
3152 dissect_x2ap_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3153 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3154 0U, 15U, NULL, FALSE);
3162 dissect_x2ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3163 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3171 dissect_x2ap_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3172 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3173 0U, 94U, NULL, FALSE);
3181 dissect_x2ap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3182 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3183 0U, 63U, NULL, FALSE);
3189 static const per_sequence_t PRACH_Configuration_sequence[] = {
3190 { &hf_x2ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_837 },
3191 { &hf_x2ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15 },
3192 { &hf_x2ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BOOLEAN },
3193 { &hf_x2ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_94 },
3194 { &hf_x2ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_63 },
3195 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3196 { NULL, 0, 0, NULL }
3200 dissect_x2ap_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3201 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3202 ett_x2ap_PRACH_Configuration, PRACH_Configuration_sequence);
3210 dissect_x2ap_UL_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3211 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3212 0U, 100U, NULL, FALSE);
3220 dissect_x2ap_UL_non_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3221 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3222 0U, 100U, NULL, FALSE);
3230 dissect_x2ap_UL_Total_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3231 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3232 0U, 100U, NULL, FALSE);
3238 static const per_sequence_t RadioResourceStatus_sequence[] = {
3239 { &hf_x2ap_dL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage },
3240 { &hf_x2ap_uL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage },
3241 { &hf_x2ap_dL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage },
3242 { &hf_x2ap_uL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage },
3243 { &hf_x2ap_dL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage },
3244 { &hf_x2ap_uL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage },
3245 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3246 { NULL, 0, 0, NULL }
3250 dissect_x2ap_RadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3251 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3252 ett_x2ap_RadioResourceStatus, RadioResourceStatus_sequence);
3260 dissect_x2ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3261 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3262 4096, 4096, FALSE, NULL);
3268 static const value_string x2ap_Registration_Request_vals[] = {
3276 dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3277 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3278 2, NULL, TRUE, 0, NULL);
3286 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_) {
3287 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3288 6, 110, TRUE, NULL);
3294 static const value_string x2ap_RNTP_Threshold_vals[] = {
3295 { 0, "minusInfinity" },
3296 { 1, "minusEleven" },
3299 { 4, "minusEight" },
3300 { 5, "minusSeven" },
3304 { 9, "minusThree" },
3316 dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3317 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3318 16, NULL, TRUE, 0, NULL);
3324 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_02_vals[] = {
3333 dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3334 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3335 3, NULL, TRUE, 0, NULL);
3343 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_) {
3344 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3345 0U, 3U, NULL, TRUE);
3353 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_) {
3354 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3355 0U, 4U, NULL, TRUE);
3361 static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = {
3362 { &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ },
3363 { &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold },
3364 { &hf_x2ap_numberOfCellSpecificAntennaPorts_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02 },
3365 { &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ },
3366 { &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ },
3367 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3368 { NULL, 0, 0, NULL }
3372 dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3373 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3374 ett_x2ap_RelativeNarrowbandTxPower, RelativeNarrowbandTxPower_sequence);
3382 dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3383 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3384 32, 32, FALSE, NULL);
3392 dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3393 #line 135 "../../asn1/x2ap/x2ap.cnf"
3394 tvbuff_t *parameter_tvb=NULL;
3396 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3397 NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
3401 dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, tree);
3409 static const value_string x2ap_RRCConnSetupIndicator_vals[] = {
3410 { 0, "rrcConnSetup" },
3416 dissect_x2ap_RRCConnSetupIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3417 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3418 1, NULL, TRUE, 0, NULL);
3424 static const per_sequence_t S1TNLLoadIndicator_sequence[] = {
3425 { &hf_x2ap_dLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
3426 { &hf_x2ap_uLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
3427 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3428 { NULL, 0, 0, NULL }
3432 dissect_x2ap_S1TNLLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3433 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3434 ett_x2ap_S1TNLLoadIndicator, S1TNLLoadIndicator_sequence);
3440 static const per_sequence_t ServedCell_Information_sequence[] = {
3441 { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI },
3442 { &hf_x2ap_cellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3443 { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
3444 { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item },
3445 { &hf_x2ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRA_Mode_Info },
3446 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3447 { NULL, 0, 0, NULL }
3451 dissect_x2ap_ServedCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3453 ett_x2ap_ServedCell_Information, ServedCell_Information_sequence);
3459 static const per_sequence_t ServedCells_item_sequence[] = {
3460 { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
3461 { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information },
3462 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3463 { NULL, 0, 0, NULL }
3467 dissect_x2ap_ServedCells_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3468 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3469 ett_x2ap_ServedCells_item, ServedCells_item_sequence);
3475 static const per_sequence_t ServedCells_sequence_of[1] = {
3476 { &hf_x2ap_ServedCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCells_item },
3480 dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3481 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3482 ett_x2ap_ServedCells, ServedCells_sequence_of,
3483 1, maxCellineNB, FALSE);
3491 dissect_x2ap_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3492 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3493 16, 16, FALSE, NULL);
3499 static const value_string x2ap_SRVCCOperationPossible_vals[] = {
3506 dissect_x2ap_SRVCCOperationPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3507 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3508 1, NULL, TRUE, 0, NULL);
3516 dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3517 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3518 1U, 256U, NULL, FALSE);
3526 dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3527 #line 91 "../../asn1/x2ap/x2ap.cnf"
3528 tvbuff_t *parameter_tvb=NULL;
3530 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3531 NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
3536 dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, tree);
3544 static const value_string x2ap_TimeToWait_vals[] = {
3556 dissect_x2ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3557 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3558 6, NULL, TRUE, 0, NULL);
3564 static const value_string x2ap_TraceDepth_vals[] = {
3568 { 3, "minimumWithoutVendorSpecificExtension" },
3569 { 4, "mediumWithoutVendorSpecificExtension" },
3570 { 5, "maximumWithoutVendorSpecificExtension" },
3576 dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3577 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3578 6, NULL, TRUE, 0, NULL);
3586 dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3587 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3588 1, 160, TRUE, NULL);
3594 static const per_sequence_t TraceActivation_sequence[] = {
3595 { &hf_x2ap_eUTRANTraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANTraceID },
3596 { &hf_x2ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_InterfacesToTrace },
3597 { &hf_x2ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceDepth },
3598 { &hf_x2ap_traceCollectionEntityIPAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceCollectionEntityIPAddress },
3599 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3600 { NULL, 0, 0, NULL }
3604 dissect_x2ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3605 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3606 ett_x2ap_TraceActivation, TraceActivation_sequence);
3612 static const per_sequence_t UE_HistoryInformation_sequence_of[1] = {
3613 { &hf_x2ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedCell_Item },
3617 dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3618 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3619 ett_x2ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of,
3620 1, maxnoofCells, FALSE);
3628 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_) {
3629 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3630 0U, 4294967295U, NULL, FALSE);
3638 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_) {
3639 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3640 0U, 4095U, NULL, FALSE);
3646 static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
3647 { &hf_x2ap_uEaggregateMaximumBitRateDownlink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
3648 { &hf_x2ap_uEaggregateMaximumBitRateUplink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
3649 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3650 { NULL, 0, 0, NULL }
3654 dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3655 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3656 ett_x2ap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
3662 static const per_sequence_t UESecurityCapabilities_sequence[] = {
3663 { &hf_x2ap_encryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EncryptionAlgorithms },
3664 { &hf_x2ap_integrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_IntegrityProtectionAlgorithms },
3665 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3666 { NULL, 0, 0, NULL }
3670 dissect_x2ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3671 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3672 ett_x2ap_UESecurityCapabilities, UESecurityCapabilities_sequence);
3678 static const value_string x2ap_UL_InterferenceOverloadIndication_Item_vals[] = {
3679 { 0, "high-interference" },
3680 { 1, "medium-interference" },
3681 { 2, "low-interference" },
3687 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_) {
3688 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3689 3, NULL, TRUE, 0, NULL);
3695 static const per_sequence_t UL_InterferenceOverloadIndication_sequence_of[1] = {
3696 { &hf_x2ap_UL_InterferenceOverloadIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication_Item },
3700 dissect_x2ap_UL_InterferenceOverloadIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3701 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3702 ett_x2ap_UL_InterferenceOverloadIndication, UL_InterferenceOverloadIndication_sequence_of,
3703 1, maxnoofPRBs, FALSE);
3711 dissect_x2ap_UL_HighInterferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3712 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3713 1, 110, TRUE, NULL);
3719 static const per_sequence_t UL_HighInterferenceIndicationInfo_Item_sequence[] = {
3720 { &hf_x2ap_target_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3721 { &hf_x2ap_ul_interferenceindication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndication },
3722 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3723 { NULL, 0, 0, NULL }
3727 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_) {
3728 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3729 ett_x2ap_UL_HighInterferenceIndicationInfo_Item, UL_HighInterferenceIndicationInfo_Item_sequence);
3735 static const per_sequence_t UL_HighInterferenceIndicationInfo_sequence_of[1] = {
3736 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndicationInfo_Item },
3740 dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3741 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3742 ett_x2ap_UL_HighInterferenceIndicationInfo, UL_HighInterferenceIndicationInfo_sequence_of,
3743 1, maxCellineNB, FALSE);
3751 dissect_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3752 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3753 NO_BOUND, NO_BOUND, FALSE, NULL);
3759 static const per_sequence_t HandoverRequest_sequence[] = {
3760 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3761 { NULL, 0, 0, NULL }
3765 dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3766 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3767 ett_x2ap_HandoverRequest, HandoverRequest_sequence);
3773 static const per_sequence_t E_RABs_ToBeSetup_List_sequence_of[1] = {
3774 { &hf_x2ap_E_RABs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3778 dissect_x2ap_E_RABs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3779 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3780 ett_x2ap_E_RABs_ToBeSetup_List, E_RABs_ToBeSetup_List_sequence_of,
3781 1, maxnoofBearers, FALSE);
3787 static const per_sequence_t UE_ContextInformation_sequence[] = {
3788 { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID },
3789 { &hf_x2ap_uESecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UESecurityCapabilities },
3790 { &hf_x2ap_aS_SecurityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AS_SecurityInformation },
3791 { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate },
3792 { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP },
3793 { &hf_x2ap_e_RABs_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABs_ToBeSetup_List },
3794 { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context },
3795 { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList },
3796 { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation },
3797 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3798 { NULL, 0, 0, NULL }
3802 dissect_x2ap_UE_ContextInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3803 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3804 ett_x2ap_UE_ContextInformation, UE_ContextInformation_sequence);
3810 static const per_sequence_t E_RABs_ToBeSetup_Item_sequence[] = {
3811 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3812 { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters },
3813 { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding },
3814 { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint },
3815 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3816 { NULL, 0, 0, NULL }
3820 dissect_x2ap_E_RABs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3821 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3822 ett_x2ap_E_RABs_ToBeSetup_Item, E_RABs_ToBeSetup_Item_sequence);
3828 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
3829 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3830 { NULL, 0, 0, NULL }
3834 dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3835 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3836 ett_x2ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
3842 static const per_sequence_t E_RABs_Admitted_List_sequence_of[1] = {
3843 { &hf_x2ap_E_RABs_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3847 dissect_x2ap_E_RABs_Admitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3848 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3849 ett_x2ap_E_RABs_Admitted_List, E_RABs_Admitted_List_sequence_of,
3850 1, maxnoofBearers, FALSE);
3856 static const per_sequence_t E_RABs_Admitted_Item_sequence[] = {
3857 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3858 { &hf_x2ap_uL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
3859 { &hf_x2ap_dL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
3860 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3861 { NULL, 0, 0, NULL }
3865 dissect_x2ap_E_RABs_Admitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3866 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3867 ett_x2ap_E_RABs_Admitted_Item, E_RABs_Admitted_Item_sequence);
3873 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
3874 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3875 { NULL, 0, 0, NULL }
3879 dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3880 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3881 ett_x2ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
3887 static const per_sequence_t HandoverReport_sequence[] = {
3888 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3889 { NULL, 0, 0, NULL }
3893 dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3894 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3895 ett_x2ap_HandoverReport, HandoverReport_sequence);
3901 static const per_sequence_t SNStatusTransfer_sequence[] = {
3902 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3903 { NULL, 0, 0, NULL }
3907 dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3908 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3909 ett_x2ap_SNStatusTransfer, SNStatusTransfer_sequence);
3915 static const per_sequence_t E_RABs_SubjectToStatusTransfer_List_sequence_of[1] = {
3916 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3920 dissect_x2ap_E_RABs_SubjectToStatusTransfer_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3921 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3922 ett_x2ap_E_RABs_SubjectToStatusTransfer_List, E_RABs_SubjectToStatusTransfer_List_sequence_of,
3923 1, maxnoofBearers, FALSE);
3929 static const per_sequence_t E_RABs_SubjectToStatusTransfer_Item_sequence[] = {
3930 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3931 { &hf_x2ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReceiveStatusofULPDCPSDUs },
3932 { &hf_x2ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
3933 { &hf_x2ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
3934 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3935 { NULL, 0, 0, NULL }
3939 dissect_x2ap_E_RABs_SubjectToStatusTransfer_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3940 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3941 ett_x2ap_E_RABs_SubjectToStatusTransfer_Item, E_RABs_SubjectToStatusTransfer_Item_sequence);
3947 static const per_sequence_t UEContextRelease_sequence[] = {
3948 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3949 { NULL, 0, 0, NULL }
3953 dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3954 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3955 ett_x2ap_UEContextRelease, UEContextRelease_sequence);
3961 static const per_sequence_t HandoverCancel_sequence[] = {
3962 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3963 { NULL, 0, 0, NULL }
3967 dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3968 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3969 ett_x2ap_HandoverCancel, HandoverCancel_sequence);
3975 static const per_sequence_t ErrorIndication_sequence[] = {
3976 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3977 { NULL, 0, 0, NULL }
3981 dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3982 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3983 ett_x2ap_ErrorIndication, ErrorIndication_sequence);
3989 static const per_sequence_t ResetRequest_sequence[] = {
3990 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3991 { NULL, 0, 0, NULL }
3995 dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3996 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3997 ett_x2ap_ResetRequest, ResetRequest_sequence);
4003 static const per_sequence_t ResetResponse_sequence[] = {
4004 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4005 { NULL, 0, 0, NULL }
4009 dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4010 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4011 ett_x2ap_ResetResponse, ResetResponse_sequence);
4017 static const per_sequence_t X2SetupRequest_sequence[] = {
4018 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4019 { NULL, 0, 0, NULL }
4023 dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4024 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4025 ett_x2ap_X2SetupRequest, X2SetupRequest_sequence);
4031 static const per_sequence_t X2SetupResponse_sequence[] = {
4032 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4033 { NULL, 0, 0, NULL }
4037 dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4038 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4039 ett_x2ap_X2SetupResponse, X2SetupResponse_sequence);
4045 static const per_sequence_t X2SetupFailure_sequence[] = {
4046 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4047 { NULL, 0, 0, NULL }
4051 dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4052 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4053 ett_x2ap_X2SetupFailure, X2SetupFailure_sequence);
4059 static const per_sequence_t LoadInformation_sequence[] = {
4060 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4061 { NULL, 0, 0, NULL }
4065 dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4066 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4067 ett_x2ap_LoadInformation, LoadInformation_sequence);
4073 static const per_sequence_t CellInformation_List_sequence_of[1] = {
4074 { &hf_x2ap_CellInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4078 dissect_x2ap_CellInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4079 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4080 ett_x2ap_CellInformation_List, CellInformation_List_sequence_of,
4081 1, maxCellineNB, FALSE);
4087 static const per_sequence_t CellInformation_Item_sequence[] = {
4088 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4089 { &hf_x2ap_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_InterferenceOverloadIndication },
4090 { &hf_x2ap_ul_HighInterferenceIndicationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_HighInterferenceIndicationInfo },
4091 { &hf_x2ap_relativeNarrowbandTxPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RelativeNarrowbandTxPower },
4092 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4093 { NULL, 0, 0, NULL }
4097 dissect_x2ap_CellInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4098 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4099 ett_x2ap_CellInformation_Item, CellInformation_Item_sequence);
4105 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
4106 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4107 { NULL, 0, 0, NULL }
4111 dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4112 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4113 ett_x2ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
4119 static const per_sequence_t ServedCellsToModify_Item_sequence[] = {
4120 { &hf_x2ap_old_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4121 { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
4122 { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information },
4123 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4124 { NULL, 0, 0, NULL }
4128 dissect_x2ap_ServedCellsToModify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4129 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4130 ett_x2ap_ServedCellsToModify_Item, ServedCellsToModify_Item_sequence);
4136 static const per_sequence_t ServedCellsToModify_sequence_of[1] = {
4137 { &hf_x2ap_ServedCellsToModify_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToModify_Item },
4141 dissect_x2ap_ServedCellsToModify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4142 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4143 ett_x2ap_ServedCellsToModify, ServedCellsToModify_sequence_of,
4144 1, maxCellineNB, FALSE);
4150 static const per_sequence_t Old_ECGIs_sequence_of[1] = {
4151 { &hf_x2ap_Old_ECGIs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4155 dissect_x2ap_Old_ECGIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4156 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4157 ett_x2ap_Old_ECGIs, Old_ECGIs_sequence_of,
4158 1, maxCellineNB, FALSE);
4164 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
4165 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4166 { NULL, 0, 0, NULL }
4170 dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4171 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4172 ett_x2ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
4178 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
4179 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4180 { NULL, 0, 0, NULL }
4184 dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4185 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4186 ett_x2ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
4192 static const per_sequence_t ResourceStatusRequest_sequence[] = {
4193 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4194 { NULL, 0, 0, NULL }
4198 dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4199 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4200 ett_x2ap_ResourceStatusRequest, ResourceStatusRequest_sequence);
4206 static const per_sequence_t CellToReport_List_sequence_of[1] = {
4207 { &hf_x2ap_CellToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4211 dissect_x2ap_CellToReport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4212 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4213 ett_x2ap_CellToReport_List, CellToReport_List_sequence_of,
4214 1, maxCellineNB, FALSE);
4220 static const per_sequence_t CellToReport_Item_sequence[] = {
4221 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4222 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4223 { NULL, 0, 0, NULL }
4227 dissect_x2ap_CellToReport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4229 ett_x2ap_CellToReport_Item, CellToReport_Item_sequence);
4235 static const value_string x2ap_ReportingPeriodicity_vals[] = {
4236 { 0, "one-thousand-ms" },
4237 { 1, "two-thousand-ms" },
4238 { 2, "five-thousand-ms" },
4239 { 3, "ten-thousand-ms" },
4245 dissect_x2ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4246 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4247 4, NULL, TRUE, 0, NULL);
4253 static const value_string x2ap_PartialSuccessIndicator_vals[] = {
4254 { 0, "partial-success-allowed" },
4260 dissect_x2ap_PartialSuccessIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4261 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4262 1, NULL, TRUE, 0, NULL);
4268 static const per_sequence_t ResourceStatusResponse_sequence[] = {
4269 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4270 { NULL, 0, 0, NULL }
4274 dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4275 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4276 ett_x2ap_ResourceStatusResponse, ResourceStatusResponse_sequence);
4282 static const per_sequence_t MeasurementInitiationResult_List_sequence_of[1] = {
4283 { &hf_x2ap_MeasurementInitiationResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4287 dissect_x2ap_MeasurementInitiationResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4288 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4289 ett_x2ap_MeasurementInitiationResult_List, MeasurementInitiationResult_List_sequence_of,
4290 1, maxCellineNB, FALSE);
4296 static const per_sequence_t MeasurementFailureCause_List_sequence_of[1] = {
4297 { &hf_x2ap_MeasurementFailureCause_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4301 dissect_x2ap_MeasurementFailureCause_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4302 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4303 ett_x2ap_MeasurementFailureCause_List, MeasurementFailureCause_List_sequence_of,
4304 1, maxFailedMeasObjects, FALSE);
4310 static const per_sequence_t MeasurementInitiationResult_Item_sequence[] = {
4311 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4312 { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeasurementFailureCause_List },
4313 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4314 { NULL, 0, 0, NULL }
4318 dissect_x2ap_MeasurementInitiationResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4319 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4320 ett_x2ap_MeasurementInitiationResult_Item, MeasurementInitiationResult_Item_sequence);
4326 static const per_sequence_t MeasurementFailureCause_Item_sequence[] = {
4327 { &hf_x2ap_measurementFailedReportCharacteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportCharacteristics },
4328 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
4329 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4330 { NULL, 0, 0, NULL }
4334 dissect_x2ap_MeasurementFailureCause_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4335 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4336 ett_x2ap_MeasurementFailureCause_Item, MeasurementFailureCause_Item_sequence);
4342 static const per_sequence_t ResourceStatusFailure_sequence[] = {
4343 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4344 { NULL, 0, 0, NULL }
4348 dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4349 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4350 ett_x2ap_ResourceStatusFailure, ResourceStatusFailure_sequence);
4356 static const per_sequence_t CompleteFailureCauseInformation_List_sequence_of[1] = {
4357 { &hf_x2ap_CompleteFailureCauseInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4361 dissect_x2ap_CompleteFailureCauseInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4362 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4363 ett_x2ap_CompleteFailureCauseInformation_List, CompleteFailureCauseInformation_List_sequence_of,
4364 1, maxCellineNB, FALSE);
4370 static const per_sequence_t CompleteFailureCauseInformation_Item_sequence[] = {
4371 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4372 { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementFailureCause_List },
4373 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4374 { NULL, 0, 0, NULL }
4378 dissect_x2ap_CompleteFailureCauseInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4379 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4380 ett_x2ap_CompleteFailureCauseInformation_Item, CompleteFailureCauseInformation_Item_sequence);
4386 static const per_sequence_t ResourceStatusUpdate_sequence[] = {
4387 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4388 { NULL, 0, 0, NULL }
4392 dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4393 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4394 ett_x2ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence);
4400 static const per_sequence_t CellMeasurementResult_List_sequence_of[1] = {
4401 { &hf_x2ap_CellMeasurementResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4405 dissect_x2ap_CellMeasurementResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4406 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4407 ett_x2ap_CellMeasurementResult_List, CellMeasurementResult_List_sequence_of,
4408 1, maxCellineNB, FALSE);
4414 static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
4415 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4416 { &hf_x2ap_hWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator },
4417 { &hf_x2ap_s1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator },
4418 { &hf_x2ap_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus },
4419 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4420 { NULL, 0, 0, NULL }
4424 dissect_x2ap_CellMeasurementResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4425 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4426 ett_x2ap_CellMeasurementResult_Item, CellMeasurementResult_Item_sequence);
4432 static const per_sequence_t PrivateMessage_sequence[] = {
4433 { &hf_x2ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Container },
4434 { NULL, 0, 0, NULL }
4438 dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4439 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4440 ett_x2ap_PrivateMessage, PrivateMessage_sequence);
4446 static const per_sequence_t MobilityChangeRequest_sequence[] = {
4447 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4448 { NULL, 0, 0, NULL }
4452 dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4453 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4454 ett_x2ap_MobilityChangeRequest, MobilityChangeRequest_sequence);
4460 static const per_sequence_t MobilityChangeAcknowledge_sequence[] = {
4461 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4462 { NULL, 0, 0, NULL }
4466 dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4467 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4468 ett_x2ap_MobilityChangeAcknowledge, MobilityChangeAcknowledge_sequence);
4474 static const per_sequence_t MobilityChangeFailure_sequence[] = {
4475 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4476 { NULL, 0, 0, NULL }
4480 dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4481 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4482 ett_x2ap_MobilityChangeFailure, MobilityChangeFailure_sequence);
4488 static const per_sequence_t RLFIndication_sequence[] = {
4489 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4490 { NULL, 0, 0, NULL }
4494 dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4495 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4496 ett_x2ap_RLFIndication, RLFIndication_sequence);
4502 static const per_sequence_t CellActivationRequest_sequence[] = {
4503 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4504 { NULL, 0, 0, NULL }
4508 dissect_x2ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4509 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4510 ett_x2ap_CellActivationRequest, CellActivationRequest_sequence);
4516 static const per_sequence_t ServedCellsToActivate_Item_sequence[] = {
4517 { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4518 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4519 { NULL, 0, 0, NULL }
4523 dissect_x2ap_ServedCellsToActivate_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4524 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4525 ett_x2ap_ServedCellsToActivate_Item, ServedCellsToActivate_Item_sequence);
4531 static const per_sequence_t ServedCellsToActivate_sequence_of[1] = {
4532 { &hf_x2ap_ServedCellsToActivate_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToActivate_Item },
4536 dissect_x2ap_ServedCellsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4537 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4538 ett_x2ap_ServedCellsToActivate, ServedCellsToActivate_sequence_of,
4539 1, maxCellineNB, FALSE);
4545 static const per_sequence_t CellActivationResponse_sequence[] = {
4546 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4547 { NULL, 0, 0, NULL }
4551 dissect_x2ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4552 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4553 ett_x2ap_CellActivationResponse, CellActivationResponse_sequence);
4559 static const per_sequence_t ActivatedCellList_Item_sequence[] = {
4560 { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4561 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4562 { NULL, 0, 0, NULL }
4566 dissect_x2ap_ActivatedCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4567 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4568 ett_x2ap_ActivatedCellList_Item, ActivatedCellList_Item_sequence);
4574 static const per_sequence_t ActivatedCellList_sequence_of[1] = {
4575 { &hf_x2ap_ActivatedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ActivatedCellList_Item },
4579 dissect_x2ap_ActivatedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4580 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4581 ett_x2ap_ActivatedCellList, ActivatedCellList_sequence_of,
4582 1, maxCellineNB, FALSE);
4588 static const per_sequence_t CellActivationFailure_sequence[] = {
4589 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4590 { NULL, 0, 0, NULL }
4594 dissect_x2ap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4595 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4596 ett_x2ap_CellActivationFailure, CellActivationFailure_sequence);
4604 dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4605 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
4611 static const per_sequence_t InitiatingMessage_sequence[] = {
4612 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
4613 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
4614 { &hf_x2ap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_InitiatingMessage_value },
4615 { NULL, 0, 0, NULL }
4619 dissect_x2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4620 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4621 ett_x2ap_InitiatingMessage, InitiatingMessage_sequence);
4629 dissect_x2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4630 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
4636 static const per_sequence_t SuccessfulOutcome_sequence[] = {
4637 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
4638 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
4639 { &hf_x2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SuccessfulOutcome_value },
4640 { NULL, 0, 0, NULL }
4644 dissect_x2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4645 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4646 ett_x2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
4654 dissect_x2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4655 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
4661 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
4662 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
4663 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
4664 { &hf_x2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UnsuccessfulOutcome_value },
4665 { NULL, 0, 0, NULL }
4669 dissect_x2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4670 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4671 ett_x2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
4677 static const value_string x2ap_X2AP_PDU_vals[] = {
4678 { 0, "initiatingMessage" },
4679 { 1, "successfulOutcome" },
4680 { 2, "unsuccessfulOutcome" },
4684 static const per_choice_t X2AP_PDU_choice[] = {
4685 { 0, &hf_x2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_x2ap_InitiatingMessage },
4686 { 1, &hf_x2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_SuccessfulOutcome },
4687 { 2, &hf_x2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_UnsuccessfulOutcome },
4688 { 0, NULL, 0, NULL }
4692 dissect_x2ap_X2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4693 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4694 ett_x2ap_X2AP_PDU, X2AP_PDU_choice,
4702 static int dissect_ABSInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4704 asn1_ctx_t asn1_ctx;
4705 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4706 offset = dissect_x2ap_ABSInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABSInformation_PDU);
4707 offset += 7; offset >>= 3;
4710 static int dissect_ABS_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4712 asn1_ctx_t asn1_ctx;
4713 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4714 offset = dissect_x2ap_ABS_Status(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABS_Status_PDU);
4715 offset += 7; offset >>= 3;
4718 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4720 asn1_ctx_t asn1_ctx;
4721 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4722 offset = dissect_x2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_x2ap_Cause_PDU);
4723 offset += 7; offset >>= 3;
4726 static int dissect_CompositeAvailableCapacityGroup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4728 asn1_ctx_t asn1_ctx;
4729 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4730 offset = dissect_x2ap_CompositeAvailableCapacityGroup(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompositeAvailableCapacityGroup_PDU);
4731 offset += 7; offset >>= 3;
4734 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4736 asn1_ctx_t asn1_ctx;
4737 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4738 offset = dissect_x2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_x2ap_CriticalityDiagnostics_PDU);
4739 offset += 7; offset >>= 3;
4742 static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4744 asn1_ctx_t asn1_ctx;
4745 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4746 offset = dissect_x2ap_CRNTI(tvb, offset, &asn1_ctx, tree, hf_x2ap_CRNTI_PDU);
4747 offset += 7; offset >>= 3;
4750 static int dissect_CSGMembershipStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4752 asn1_ctx_t asn1_ctx;
4753 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4754 offset = dissect_x2ap_CSGMembershipStatus(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSGMembershipStatus_PDU);
4755 offset += 7; offset >>= 3;
4758 static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4760 asn1_ctx_t asn1_ctx;
4761 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4762 offset = dissect_x2ap_CSG_Id(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSG_Id_PDU);
4763 offset += 7; offset >>= 3;
4766 static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4768 asn1_ctx_t asn1_ctx;
4769 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4770 offset = dissect_x2ap_DeactivationIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_DeactivationIndication_PDU);
4771 offset += 7; offset >>= 3;
4774 static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4776 asn1_ctx_t asn1_ctx;
4777 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4778 offset = dissect_x2ap_ECGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_ECGI_PDU);
4779 offset += 7; offset >>= 3;
4782 static int dissect_E_RAB_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4784 asn1_ctx_t asn1_ctx;
4785 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4786 offset = dissect_x2ap_E_RAB_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_List_PDU);
4787 offset += 7; offset >>= 3;
4790 static int dissect_E_RAB_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4792 asn1_ctx_t asn1_ctx;
4793 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4794 offset = dissect_x2ap_E_RAB_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_Item_PDU);
4795 offset += 7; offset >>= 3;
4798 static int dissect_GlobalENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4800 asn1_ctx_t asn1_ctx;
4801 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4802 offset = dissect_x2ap_GlobalENB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalENB_ID_PDU);
4803 offset += 7; offset >>= 3;
4806 static int dissect_GUGroupIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4808 asn1_ctx_t asn1_ctx;
4809 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4810 offset = dissect_x2ap_GUGroupIDList(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUGroupIDList_PDU);
4811 offset += 7; offset >>= 3;
4814 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4816 asn1_ctx_t asn1_ctx;
4817 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4818 offset = dissect_x2ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUMMEI_PDU);
4819 offset += 7; offset >>= 3;
4822 static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4824 asn1_ctx_t asn1_ctx;
4825 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4826 offset = dissect_x2ap_HandoverReportType(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReportType_PDU);
4827 offset += 7; offset >>= 3;
4830 static int dissect_InvokeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4832 asn1_ctx_t asn1_ctx;
4833 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4834 offset = dissect_x2ap_InvokeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_InvokeIndication_PDU);
4835 offset += 7; offset >>= 3;
4838 static int dissect_MDT_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4840 asn1_ctx_t asn1_ctx;
4841 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4842 offset = dissect_x2ap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_Configuration_PDU);
4843 offset += 7; offset >>= 3;
4846 static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4848 asn1_ctx_t asn1_ctx;
4849 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4850 offset = dissect_x2ap_Measurement_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_Measurement_ID_PDU);
4851 offset += 7; offset >>= 3;
4854 static int dissect_MBSFN_Subframe_Infolist_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4856 asn1_ctx_t asn1_ctx;
4857 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4858 offset = dissect_x2ap_MBSFN_Subframe_Infolist(tvb, offset, &asn1_ctx, tree, hf_x2ap_MBSFN_Subframe_Infolist_PDU);
4859 offset += 7; offset >>= 3;
4862 static int dissect_ManagementBasedMDTallowed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4864 asn1_ctx_t asn1_ctx;
4865 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4866 offset = dissect_x2ap_ManagementBasedMDTallowed(tvb, offset, &asn1_ctx, tree, hf_x2ap_ManagementBasedMDTallowed_PDU);
4867 offset += 7; offset >>= 3;
4870 static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4872 asn1_ctx_t asn1_ctx;
4873 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4874 offset = dissect_x2ap_MobilityParametersModificationRange(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersModificationRange_PDU);
4875 offset += 7; offset >>= 3;
4878 static int dissect_MobilityParametersInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4880 asn1_ctx_t asn1_ctx;
4881 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4882 offset = dissect_x2ap_MobilityParametersInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersInformation_PDU);
4883 offset += 7; offset >>= 3;
4886 static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4888 asn1_ctx_t asn1_ctx;
4889 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4890 offset = dissect_x2ap_Number_of_Antennaports(tvb, offset, &asn1_ctx, tree, hf_x2ap_Number_of_Antennaports_PDU);
4891 offset += 7; offset >>= 3;
4894 static int dissect_PCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4896 asn1_ctx_t asn1_ctx;
4897 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4898 offset = dissect_x2ap_PCI(tvb, offset, &asn1_ctx, tree, hf_x2ap_PCI_PDU);
4899 offset += 7; offset >>= 3;
4902 static int dissect_PRACH_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4904 asn1_ctx_t asn1_ctx;
4905 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4906 offset = dissect_x2ap_PRACH_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_PRACH_Configuration_PDU);
4907 offset += 7; offset >>= 3;
4910 static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4912 asn1_ctx_t asn1_ctx;
4913 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4914 offset = dissect_x2ap_Registration_Request(tvb, offset, &asn1_ctx, tree, hf_x2ap_Registration_Request_PDU);
4915 offset += 7; offset >>= 3;
4918 static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4920 asn1_ctx_t asn1_ctx;
4921 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4922 offset = dissect_x2ap_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportCharacteristics_PDU);
4923 offset += 7; offset >>= 3;
4926 static int dissect_RRCConnSetupIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4928 asn1_ctx_t asn1_ctx;
4929 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4930 offset = dissect_x2ap_RRCConnSetupIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCConnSetupIndicator_PDU);
4931 offset += 7; offset >>= 3;
4934 static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4936 asn1_ctx_t asn1_ctx;
4937 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4938 offset = dissect_x2ap_ServedCells(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCells_PDU);
4939 offset += 7; offset >>= 3;
4942 static int dissect_ShortMAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4944 asn1_ctx_t asn1_ctx;
4945 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4946 offset = dissect_x2ap_ShortMAC_I(tvb, offset, &asn1_ctx, tree, hf_x2ap_ShortMAC_I_PDU);
4947 offset += 7; offset >>= 3;
4950 static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4952 asn1_ctx_t asn1_ctx;
4953 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4954 offset = dissect_x2ap_SRVCCOperationPossible(tvb, offset, &asn1_ctx, tree, hf_x2ap_SRVCCOperationPossible_PDU);
4955 offset += 7; offset >>= 3;
4958 static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4960 asn1_ctx_t asn1_ctx;
4961 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4962 offset = dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU);
4963 offset += 7; offset >>= 3;
4966 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4968 asn1_ctx_t asn1_ctx;
4969 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4970 offset = dissect_x2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_x2ap_TimeToWait_PDU);
4971 offset += 7; offset >>= 3;
4974 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4976 asn1_ctx_t asn1_ctx;
4977 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4978 offset = dissect_x2ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceActivation_PDU);
4979 offset += 7; offset >>= 3;
4982 static int dissect_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4984 asn1_ctx_t asn1_ctx;
4985 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4986 offset = dissect_x2ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformation_PDU);
4987 offset += 7; offset >>= 3;
4990 static int dissect_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4992 asn1_ctx_t asn1_ctx;
4993 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4994 offset = dissect_x2ap_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_PDU);
4995 offset += 7; offset >>= 3;
4998 static int dissect_UE_RLF_Report_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5000 asn1_ctx_t asn1_ctx;
5001 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5002 offset = dissect_x2ap_UE_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_RLF_Report_Container_PDU);
5003 offset += 7; offset >>= 3;
5006 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5008 asn1_ctx_t asn1_ctx;
5009 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5010 offset = dissect_x2ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequest_PDU);
5011 offset += 7; offset >>= 3;
5014 static int dissect_UE_ContextInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5016 asn1_ctx_t asn1_ctx;
5017 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5018 offset = dissect_x2ap_UE_ContextInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_PDU);
5019 offset += 7; offset >>= 3;
5022 static int dissect_E_RABs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5024 asn1_ctx_t asn1_ctx;
5025 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5026 offset = dissect_x2ap_E_RABs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeSetup_Item_PDU);
5027 offset += 7; offset >>= 3;
5030 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5032 asn1_ctx_t asn1_ctx;
5033 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5034 offset = dissect_x2ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequestAcknowledge_PDU);
5035 offset += 7; offset >>= 3;
5038 static int dissect_E_RABs_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5040 asn1_ctx_t asn1_ctx;
5041 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5042 offset = dissect_x2ap_E_RABs_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_List_PDU);
5043 offset += 7; offset >>= 3;
5046 static int dissect_E_RABs_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5048 asn1_ctx_t asn1_ctx;
5049 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5050 offset = dissect_x2ap_E_RABs_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_Item_PDU);
5051 offset += 7; offset >>= 3;
5054 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5056 asn1_ctx_t asn1_ctx;
5057 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5058 offset = dissect_x2ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverPreparationFailure_PDU);
5059 offset += 7; offset >>= 3;
5062 static int dissect_HandoverReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5064 asn1_ctx_t asn1_ctx;
5065 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5066 offset = dissect_x2ap_HandoverReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReport_PDU);
5067 offset += 7; offset >>= 3;
5070 static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5072 asn1_ctx_t asn1_ctx;
5073 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5074 offset = dissect_x2ap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNStatusTransfer_PDU);
5075 offset += 7; offset >>= 3;
5078 static int dissect_E_RABs_SubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5080 asn1_ctx_t asn1_ctx;
5081 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5082 offset = dissect_x2ap_E_RABs_SubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU);
5083 offset += 7; offset >>= 3;
5086 static int dissect_E_RABs_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5088 asn1_ctx_t asn1_ctx;
5089 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5090 offset = dissect_x2ap_E_RABs_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU);
5091 offset += 7; offset >>= 3;
5094 static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5096 asn1_ctx_t asn1_ctx;
5097 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5098 offset = dissect_x2ap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEContextRelease_PDU);
5099 offset += 7; offset >>= 3;
5102 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5104 asn1_ctx_t asn1_ctx;
5105 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5106 offset = dissect_x2ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverCancel_PDU);
5107 offset += 7; offset >>= 3;
5110 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5112 asn1_ctx_t asn1_ctx;
5113 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5114 offset = dissect_x2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_ErrorIndication_PDU);
5115 offset += 7; offset >>= 3;
5118 static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5120 asn1_ctx_t asn1_ctx;
5121 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5122 offset = dissect_x2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetRequest_PDU);
5123 offset += 7; offset >>= 3;
5126 static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5128 asn1_ctx_t asn1_ctx;
5129 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5130 offset = dissect_x2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetResponse_PDU);
5131 offset += 7; offset >>= 3;
5134 static int dissect_X2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5136 asn1_ctx_t asn1_ctx;
5137 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5138 offset = dissect_x2ap_X2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupRequest_PDU);
5139 offset += 7; offset >>= 3;
5142 static int dissect_X2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5144 asn1_ctx_t asn1_ctx;
5145 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5146 offset = dissect_x2ap_X2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupResponse_PDU);
5147 offset += 7; offset >>= 3;
5150 static int dissect_X2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5152 asn1_ctx_t asn1_ctx;
5153 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5154 offset = dissect_x2ap_X2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupFailure_PDU);
5155 offset += 7; offset >>= 3;
5158 static int dissect_LoadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5160 asn1_ctx_t asn1_ctx;
5161 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5162 offset = dissect_x2ap_LoadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_LoadInformation_PDU);
5163 offset += 7; offset >>= 3;
5166 static int dissect_CellInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5168 asn1_ctx_t asn1_ctx;
5169 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5170 offset = dissect_x2ap_CellInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_List_PDU);
5171 offset += 7; offset >>= 3;
5174 static int dissect_CellInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5176 asn1_ctx_t asn1_ctx;
5177 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5178 offset = dissect_x2ap_CellInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_Item_PDU);
5179 offset += 7; offset >>= 3;
5182 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5184 asn1_ctx_t asn1_ctx;
5185 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5186 offset = dissect_x2ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdate_PDU);
5187 offset += 7; offset >>= 3;
5190 static int dissect_ServedCellsToModify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5192 asn1_ctx_t asn1_ctx;
5193 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5194 offset = dissect_x2ap_ServedCellsToModify(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToModify_PDU);
5195 offset += 7; offset >>= 3;
5198 static int dissect_Old_ECGIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5200 asn1_ctx_t asn1_ctx;
5201 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5202 offset = dissect_x2ap_Old_ECGIs(tvb, offset, &asn1_ctx, tree, hf_x2ap_Old_ECGIs_PDU);
5203 offset += 7; offset >>= 3;
5206 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5208 asn1_ctx_t asn1_ctx;
5209 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5210 offset = dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU);
5211 offset += 7; offset >>= 3;
5214 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5216 asn1_ctx_t asn1_ctx;
5217 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5218 offset = dissect_x2ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateFailure_PDU);
5219 offset += 7; offset >>= 3;
5222 static int dissect_ResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5224 asn1_ctx_t asn1_ctx;
5225 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5226 offset = dissect_x2ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusRequest_PDU);
5227 offset += 7; offset >>= 3;
5230 static int dissect_CellToReport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5232 asn1_ctx_t asn1_ctx;
5233 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5234 offset = dissect_x2ap_CellToReport_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_List_PDU);
5235 offset += 7; offset >>= 3;
5238 static int dissect_CellToReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5240 asn1_ctx_t asn1_ctx;
5241 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5242 offset = dissect_x2ap_CellToReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_Item_PDU);
5243 offset += 7; offset >>= 3;
5246 static int dissect_ReportingPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5248 asn1_ctx_t asn1_ctx;
5249 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5250 offset = dissect_x2ap_ReportingPeriodicity(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriodicity_PDU);
5251 offset += 7; offset >>= 3;
5254 static int dissect_PartialSuccessIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5256 asn1_ctx_t asn1_ctx;
5257 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5258 offset = dissect_x2ap_PartialSuccessIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PartialSuccessIndicator_PDU);
5259 offset += 7; offset >>= 3;
5262 static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5264 asn1_ctx_t asn1_ctx;
5265 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5266 offset = dissect_x2ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusResponse_PDU);
5267 offset += 7; offset >>= 3;
5270 static int dissect_MeasurementInitiationResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5272 asn1_ctx_t asn1_ctx;
5273 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5274 offset = dissect_x2ap_MeasurementInitiationResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_List_PDU);
5275 offset += 7; offset >>= 3;
5278 static int dissect_MeasurementInitiationResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5280 asn1_ctx_t asn1_ctx;
5281 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5282 offset = dissect_x2ap_MeasurementInitiationResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_Item_PDU);
5283 offset += 7; offset >>= 3;
5286 static int dissect_MeasurementFailureCause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5288 asn1_ctx_t asn1_ctx;
5289 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5290 offset = dissect_x2ap_MeasurementFailureCause_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementFailureCause_Item_PDU);
5291 offset += 7; offset >>= 3;
5294 static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5296 asn1_ctx_t asn1_ctx;
5297 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5298 offset = dissect_x2ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusFailure_PDU);
5299 offset += 7; offset >>= 3;
5302 static int dissect_CompleteFailureCauseInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5304 asn1_ctx_t asn1_ctx;
5305 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5306 offset = dissect_x2ap_CompleteFailureCauseInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_List_PDU);
5307 offset += 7; offset >>= 3;
5310 static int dissect_CompleteFailureCauseInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5312 asn1_ctx_t asn1_ctx;
5313 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5314 offset = dissect_x2ap_CompleteFailureCauseInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_Item_PDU);
5315 offset += 7; offset >>= 3;
5318 static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5320 asn1_ctx_t asn1_ctx;
5321 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5322 offset = dissect_x2ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusUpdate_PDU);
5323 offset += 7; offset >>= 3;
5326 static int dissect_CellMeasurementResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5328 asn1_ctx_t asn1_ctx;
5329 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5330 offset = dissect_x2ap_CellMeasurementResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_List_PDU);
5331 offset += 7; offset >>= 3;
5334 static int dissect_CellMeasurementResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5336 asn1_ctx_t asn1_ctx;
5337 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5338 offset = dissect_x2ap_CellMeasurementResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_Item_PDU);
5339 offset += 7; offset >>= 3;
5342 static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5344 asn1_ctx_t asn1_ctx;
5345 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5346 offset = dissect_x2ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_x2ap_PrivateMessage_PDU);
5347 offset += 7; offset >>= 3;
5350 static int dissect_MobilityChangeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5352 asn1_ctx_t asn1_ctx;
5353 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5354 offset = dissect_x2ap_MobilityChangeRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeRequest_PDU);
5355 offset += 7; offset >>= 3;
5358 static int dissect_MobilityChangeAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5360 asn1_ctx_t asn1_ctx;
5361 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5362 offset = dissect_x2ap_MobilityChangeAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeAcknowledge_PDU);
5363 offset += 7; offset >>= 3;
5366 static int dissect_MobilityChangeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5368 asn1_ctx_t asn1_ctx;
5369 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5370 offset = dissect_x2ap_MobilityChangeFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeFailure_PDU);
5371 offset += 7; offset >>= 3;
5374 static int dissect_RLFIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5376 asn1_ctx_t asn1_ctx;
5377 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5378 offset = dissect_x2ap_RLFIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLFIndication_PDU);
5379 offset += 7; offset >>= 3;
5382 static int dissect_CellActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5384 asn1_ctx_t asn1_ctx;
5385 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5386 offset = dissect_x2ap_CellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationRequest_PDU);
5387 offset += 7; offset >>= 3;
5390 static int dissect_ServedCellsToActivate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5392 asn1_ctx_t asn1_ctx;
5393 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5394 offset = dissect_x2ap_ServedCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToActivate_PDU);
5395 offset += 7; offset >>= 3;
5398 static int dissect_CellActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5400 asn1_ctx_t asn1_ctx;
5401 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5402 offset = dissect_x2ap_CellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationResponse_PDU);
5403 offset += 7; offset >>= 3;
5406 static int dissect_ActivatedCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5408 asn1_ctx_t asn1_ctx;
5409 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5410 offset = dissect_x2ap_ActivatedCellList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivatedCellList_PDU);
5411 offset += 7; offset >>= 3;
5414 static int dissect_CellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5416 asn1_ctx_t asn1_ctx;
5417 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5418 offset = dissect_x2ap_CellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationFailure_PDU);
5419 offset += 7; offset >>= 3;
5422 static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5423 asn1_ctx_t asn1_ctx;
5424 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5425 dissect_x2ap_X2AP_PDU(tvb, 0, &asn1_ctx, tree, hf_x2ap_X2AP_PDU_PDU);
5429 /*--- End of included file: packet-x2ap-fn.c ---*/
5430 #line 92 "../../asn1/x2ap/packet-x2ap-template.c"
5432 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5434 return (dissector_try_uint(x2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5437 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5439 return (dissector_try_uint(x2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5442 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5444 return (dissector_try_uint(x2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5447 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5449 return (dissector_try_uint(x2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5452 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5454 return (dissector_try_uint(x2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5458 dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5460 proto_item *x2ap_item = NULL;
5461 proto_tree *x2ap_tree = NULL;
5463 /* make entry in the Protocol column on summary display */
5464 col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP");
5466 /* create the x2ap protocol tree */
5467 x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, ENC_NA);
5468 x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap);
5470 dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree);
5473 /*--- proto_register_x2ap -------------------------------------------*/
5474 void proto_register_x2ap(void) {
5476 /* List of fields */
5478 static hf_register_info hf[] = {
5479 { &hf_x2ap_transportLayerAddressIPv4,
5480 { "transportLayerAddress(IPv4)", "x2ap.transportLayerAddressIPv4",
5481 FT_IPv4, BASE_NONE, NULL, 0,
5483 { &hf_x2ap_transportLayerAddressIPv6,
5484 { "transportLayerAddress(IPv6)", "x2ap.transportLayerAddressIPv6",
5485 FT_IPv4, BASE_NONE, NULL, 0,
5489 /*--- Included file: packet-x2ap-hfarr.c ---*/
5490 #line 1 "../../asn1/x2ap/packet-x2ap-hfarr.c"
5491 { &hf_x2ap_ABSInformation_PDU,
5492 { "ABSInformation", "x2ap.ABSInformation",
5493 FT_UINT32, BASE_DEC, VALS(x2ap_ABSInformation_vals), 0,
5495 { &hf_x2ap_ABS_Status_PDU,
5496 { "ABS-Status", "x2ap.ABS_Status",
5497 FT_NONE, BASE_NONE, NULL, 0,
5499 { &hf_x2ap_Cause_PDU,
5500 { "Cause", "x2ap.Cause",
5501 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
5503 { &hf_x2ap_CompositeAvailableCapacityGroup_PDU,
5504 { "CompositeAvailableCapacityGroup", "x2ap.CompositeAvailableCapacityGroup",
5505 FT_NONE, BASE_NONE, NULL, 0,
5507 { &hf_x2ap_CriticalityDiagnostics_PDU,
5508 { "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics",
5509 FT_NONE, BASE_NONE, NULL, 0,
5511 { &hf_x2ap_CRNTI_PDU,
5512 { "CRNTI", "x2ap.CRNTI",
5513 FT_BYTES, BASE_NONE, NULL, 0,
5515 { &hf_x2ap_CSGMembershipStatus_PDU,
5516 { "CSGMembershipStatus", "x2ap.CSGMembershipStatus",
5517 FT_UINT32, BASE_DEC, VALS(x2ap_CSGMembershipStatus_vals), 0,
5519 { &hf_x2ap_CSG_Id_PDU,
5520 { "CSG-Id", "x2ap.CSG_Id",
5521 FT_BYTES, BASE_NONE, NULL, 0,
5523 { &hf_x2ap_DeactivationIndication_PDU,
5524 { "DeactivationIndication", "x2ap.DeactivationIndication",
5525 FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0,
5527 { &hf_x2ap_ECGI_PDU,
5528 { "ECGI", "x2ap.ECGI",
5529 FT_NONE, BASE_NONE, NULL, 0,
5531 { &hf_x2ap_E_RAB_List_PDU,
5532 { "E-RAB-List", "x2ap.E_RAB_List",
5533 FT_UINT32, BASE_DEC, NULL, 0,
5535 { &hf_x2ap_E_RAB_Item_PDU,
5536 { "E-RAB-Item", "x2ap.E_RAB_Item",
5537 FT_NONE, BASE_NONE, NULL, 0,
5539 { &hf_x2ap_GlobalENB_ID_PDU,
5540 { "GlobalENB-ID", "x2ap.GlobalENB_ID",
5541 FT_NONE, BASE_NONE, NULL, 0,
5543 { &hf_x2ap_GUGroupIDList_PDU,
5544 { "GUGroupIDList", "x2ap.GUGroupIDList",
5545 FT_UINT32, BASE_DEC, NULL, 0,
5547 { &hf_x2ap_GUMMEI_PDU,
5548 { "GUMMEI", "x2ap.GUMMEI",
5549 FT_NONE, BASE_NONE, NULL, 0,
5551 { &hf_x2ap_HandoverReportType_PDU,
5552 { "HandoverReportType", "x2ap.HandoverReportType",
5553 FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0,
5555 { &hf_x2ap_InvokeIndication_PDU,
5556 { "InvokeIndication", "x2ap.InvokeIndication",
5557 FT_UINT32, BASE_DEC, VALS(x2ap_InvokeIndication_vals), 0,
5559 { &hf_x2ap_MDT_Configuration_PDU,
5560 { "MDT-Configuration", "x2ap.MDT_Configuration",
5561 FT_NONE, BASE_NONE, NULL, 0,
5563 { &hf_x2ap_Measurement_ID_PDU,
5564 { "Measurement-ID", "x2ap.Measurement_ID",
5565 FT_UINT32, BASE_DEC, NULL, 0,
5567 { &hf_x2ap_MBSFN_Subframe_Infolist_PDU,
5568 { "MBSFN-Subframe-Infolist", "x2ap.MBSFN_Subframe_Infolist",
5569 FT_UINT32, BASE_DEC, NULL, 0,
5571 { &hf_x2ap_ManagementBasedMDTallowed_PDU,
5572 { "ManagementBasedMDTallowed", "x2ap.ManagementBasedMDTallowed",
5573 FT_UINT32, BASE_DEC, VALS(x2ap_ManagementBasedMDTallowed_vals), 0,
5575 { &hf_x2ap_MobilityParametersModificationRange_PDU,
5576 { "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange",
5577 FT_NONE, BASE_NONE, NULL, 0,
5579 { &hf_x2ap_MobilityParametersInformation_PDU,
5580 { "MobilityParametersInformation", "x2ap.MobilityParametersInformation",
5581 FT_NONE, BASE_NONE, NULL, 0,
5583 { &hf_x2ap_Number_of_Antennaports_PDU,
5584 { "Number-of-Antennaports", "x2ap.Number_of_Antennaports",
5585 FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0,
5588 { "PCI", "x2ap.PCI",
5589 FT_UINT32, BASE_DEC, NULL, 0,
5591 { &hf_x2ap_PRACH_Configuration_PDU,
5592 { "PRACH-Configuration", "x2ap.PRACH_Configuration",
5593 FT_NONE, BASE_NONE, NULL, 0,
5595 { &hf_x2ap_Registration_Request_PDU,
5596 { "Registration-Request", "x2ap.Registration_Request",
5597 FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0,
5599 { &hf_x2ap_ReportCharacteristics_PDU,
5600 { "ReportCharacteristics", "x2ap.ReportCharacteristics",
5601 FT_BYTES, BASE_NONE, NULL, 0,
5603 { &hf_x2ap_RRCConnSetupIndicator_PDU,
5604 { "RRCConnSetupIndicator", "x2ap.RRCConnSetupIndicator",
5605 FT_UINT32, BASE_DEC, VALS(x2ap_RRCConnSetupIndicator_vals), 0,
5607 { &hf_x2ap_ServedCells_PDU,
5608 { "ServedCells", "x2ap.ServedCells",
5609 FT_UINT32, BASE_DEC, NULL, 0,
5611 { &hf_x2ap_ShortMAC_I_PDU,
5612 { "ShortMAC-I", "x2ap.ShortMAC_I",
5613 FT_BYTES, BASE_NONE, NULL, 0,
5615 { &hf_x2ap_SRVCCOperationPossible_PDU,
5616 { "SRVCCOperationPossible", "x2ap.SRVCCOperationPossible",
5617 FT_UINT32, BASE_DEC, VALS(x2ap_SRVCCOperationPossible_vals), 0,
5619 { &hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU,
5620 { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer",
5621 FT_BYTES, BASE_NONE, NULL, 0,
5623 { &hf_x2ap_TimeToWait_PDU,
5624 { "TimeToWait", "x2ap.TimeToWait",
5625 FT_UINT32, BASE_DEC, VALS(x2ap_TimeToWait_vals), 0,
5627 { &hf_x2ap_TraceActivation_PDU,
5628 { "TraceActivation", "x2ap.TraceActivation",
5629 FT_NONE, BASE_NONE, NULL, 0,
5631 { &hf_x2ap_UE_HistoryInformation_PDU,
5632 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation",
5633 FT_UINT32, BASE_DEC, NULL, 0,
5635 { &hf_x2ap_UE_X2AP_ID_PDU,
5636 { "UE-X2AP-ID", "x2ap.UE_X2AP_ID",
5637 FT_UINT32, BASE_DEC, NULL, 0,
5639 { &hf_x2ap_UE_RLF_Report_Container_PDU,
5640 { "UE-RLF-Report-Container", "x2ap.UE_RLF_Report_Container",
5641 FT_BYTES, BASE_NONE, NULL, 0,
5643 { &hf_x2ap_HandoverRequest_PDU,
5644 { "HandoverRequest", "x2ap.HandoverRequest",
5645 FT_NONE, BASE_NONE, NULL, 0,
5647 { &hf_x2ap_UE_ContextInformation_PDU,
5648 { "UE-ContextInformation", "x2ap.UE_ContextInformation",
5649 FT_NONE, BASE_NONE, NULL, 0,
5651 { &hf_x2ap_E_RABs_ToBeSetup_Item_PDU,
5652 { "E-RABs-ToBeSetup-Item", "x2ap.E_RABs_ToBeSetup_Item",
5653 FT_NONE, BASE_NONE, NULL, 0,
5655 { &hf_x2ap_HandoverRequestAcknowledge_PDU,
5656 { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge",
5657 FT_NONE, BASE_NONE, NULL, 0,
5659 { &hf_x2ap_E_RABs_Admitted_List_PDU,
5660 { "E-RABs-Admitted-List", "x2ap.E_RABs_Admitted_List",
5661 FT_UINT32, BASE_DEC, NULL, 0,
5663 { &hf_x2ap_E_RABs_Admitted_Item_PDU,
5664 { "E-RABs-Admitted-Item", "x2ap.E_RABs_Admitted_Item",
5665 FT_NONE, BASE_NONE, NULL, 0,
5667 { &hf_x2ap_HandoverPreparationFailure_PDU,
5668 { "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure",
5669 FT_NONE, BASE_NONE, NULL, 0,
5671 { &hf_x2ap_HandoverReport_PDU,
5672 { "HandoverReport", "x2ap.HandoverReport",
5673 FT_NONE, BASE_NONE, NULL, 0,
5675 { &hf_x2ap_SNStatusTransfer_PDU,
5676 { "SNStatusTransfer", "x2ap.SNStatusTransfer",
5677 FT_NONE, BASE_NONE, NULL, 0,
5679 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU,
5680 { "E-RABs-SubjectToStatusTransfer-List", "x2ap.E_RABs_SubjectToStatusTransfer_List",
5681 FT_UINT32, BASE_DEC, NULL, 0,
5683 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU,
5684 { "E-RABs-SubjectToStatusTransfer-Item", "x2ap.E_RABs_SubjectToStatusTransfer_Item",
5685 FT_NONE, BASE_NONE, NULL, 0,
5687 { &hf_x2ap_UEContextRelease_PDU,
5688 { "UEContextRelease", "x2ap.UEContextRelease",
5689 FT_NONE, BASE_NONE, NULL, 0,
5691 { &hf_x2ap_HandoverCancel_PDU,
5692 { "HandoverCancel", "x2ap.HandoverCancel",
5693 FT_NONE, BASE_NONE, NULL, 0,
5695 { &hf_x2ap_ErrorIndication_PDU,
5696 { "ErrorIndication", "x2ap.ErrorIndication",
5697 FT_NONE, BASE_NONE, NULL, 0,
5699 { &hf_x2ap_ResetRequest_PDU,
5700 { "ResetRequest", "x2ap.ResetRequest",
5701 FT_NONE, BASE_NONE, NULL, 0,
5703 { &hf_x2ap_ResetResponse_PDU,
5704 { "ResetResponse", "x2ap.ResetResponse",
5705 FT_NONE, BASE_NONE, NULL, 0,
5707 { &hf_x2ap_X2SetupRequest_PDU,
5708 { "X2SetupRequest", "x2ap.X2SetupRequest",
5709 FT_NONE, BASE_NONE, NULL, 0,
5711 { &hf_x2ap_X2SetupResponse_PDU,
5712 { "X2SetupResponse", "x2ap.X2SetupResponse",
5713 FT_NONE, BASE_NONE, NULL, 0,
5715 { &hf_x2ap_X2SetupFailure_PDU,
5716 { "X2SetupFailure", "x2ap.X2SetupFailure",
5717 FT_NONE, BASE_NONE, NULL, 0,
5719 { &hf_x2ap_LoadInformation_PDU,
5720 { "LoadInformation", "x2ap.LoadInformation",
5721 FT_NONE, BASE_NONE, NULL, 0,
5723 { &hf_x2ap_CellInformation_List_PDU,
5724 { "CellInformation-List", "x2ap.CellInformation_List",
5725 FT_UINT32, BASE_DEC, NULL, 0,
5727 { &hf_x2ap_CellInformation_Item_PDU,
5728 { "CellInformation-Item", "x2ap.CellInformation_Item",
5729 FT_NONE, BASE_NONE, NULL, 0,
5731 { &hf_x2ap_ENBConfigurationUpdate_PDU,
5732 { "ENBConfigurationUpdate", "x2ap.ENBConfigurationUpdate",
5733 FT_NONE, BASE_NONE, NULL, 0,
5735 { &hf_x2ap_ServedCellsToModify_PDU,
5736 { "ServedCellsToModify", "x2ap.ServedCellsToModify",
5737 FT_UINT32, BASE_DEC, NULL, 0,
5739 { &hf_x2ap_Old_ECGIs_PDU,
5740 { "Old-ECGIs", "x2ap.Old_ECGIs",
5741 FT_UINT32, BASE_DEC, NULL, 0,
5743 { &hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU,
5744 { "ENBConfigurationUpdateAcknowledge", "x2ap.ENBConfigurationUpdateAcknowledge",
5745 FT_NONE, BASE_NONE, NULL, 0,
5747 { &hf_x2ap_ENBConfigurationUpdateFailure_PDU,
5748 { "ENBConfigurationUpdateFailure", "x2ap.ENBConfigurationUpdateFailure",
5749 FT_NONE, BASE_NONE, NULL, 0,
5751 { &hf_x2ap_ResourceStatusRequest_PDU,
5752 { "ResourceStatusRequest", "x2ap.ResourceStatusRequest",
5753 FT_NONE, BASE_NONE, NULL, 0,
5755 { &hf_x2ap_CellToReport_List_PDU,
5756 { "CellToReport-List", "x2ap.CellToReport_List",
5757 FT_UINT32, BASE_DEC, NULL, 0,
5759 { &hf_x2ap_CellToReport_Item_PDU,
5760 { "CellToReport-Item", "x2ap.CellToReport_Item",
5761 FT_NONE, BASE_NONE, NULL, 0,
5763 { &hf_x2ap_ReportingPeriodicity_PDU,
5764 { "ReportingPeriodicity", "x2ap.ReportingPeriodicity",
5765 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_vals), 0,
5767 { &hf_x2ap_PartialSuccessIndicator_PDU,
5768 { "PartialSuccessIndicator", "x2ap.PartialSuccessIndicator",
5769 FT_UINT32, BASE_DEC, VALS(x2ap_PartialSuccessIndicator_vals), 0,
5771 { &hf_x2ap_ResourceStatusResponse_PDU,
5772 { "ResourceStatusResponse", "x2ap.ResourceStatusResponse",
5773 FT_NONE, BASE_NONE, NULL, 0,
5775 { &hf_x2ap_MeasurementInitiationResult_List_PDU,
5776 { "MeasurementInitiationResult-List", "x2ap.MeasurementInitiationResult_List",
5777 FT_UINT32, BASE_DEC, NULL, 0,
5779 { &hf_x2ap_MeasurementInitiationResult_Item_PDU,
5780 { "MeasurementInitiationResult-Item", "x2ap.MeasurementInitiationResult_Item",
5781 FT_NONE, BASE_NONE, NULL, 0,
5783 { &hf_x2ap_MeasurementFailureCause_Item_PDU,
5784 { "MeasurementFailureCause-Item", "x2ap.MeasurementFailureCause_Item",
5785 FT_NONE, BASE_NONE, NULL, 0,
5787 { &hf_x2ap_ResourceStatusFailure_PDU,
5788 { "ResourceStatusFailure", "x2ap.ResourceStatusFailure",
5789 FT_NONE, BASE_NONE, NULL, 0,
5791 { &hf_x2ap_CompleteFailureCauseInformation_List_PDU,
5792 { "CompleteFailureCauseInformation-List", "x2ap.CompleteFailureCauseInformation_List",
5793 FT_UINT32, BASE_DEC, NULL, 0,
5795 { &hf_x2ap_CompleteFailureCauseInformation_Item_PDU,
5796 { "CompleteFailureCauseInformation-Item", "x2ap.CompleteFailureCauseInformation_Item",
5797 FT_NONE, BASE_NONE, NULL, 0,
5799 { &hf_x2ap_ResourceStatusUpdate_PDU,
5800 { "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate",
5801 FT_NONE, BASE_NONE, NULL, 0,
5803 { &hf_x2ap_CellMeasurementResult_List_PDU,
5804 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List",
5805 FT_UINT32, BASE_DEC, NULL, 0,
5807 { &hf_x2ap_CellMeasurementResult_Item_PDU,
5808 { "CellMeasurementResult-Item", "x2ap.CellMeasurementResult_Item",
5809 FT_NONE, BASE_NONE, NULL, 0,
5811 { &hf_x2ap_PrivateMessage_PDU,
5812 { "PrivateMessage", "x2ap.PrivateMessage",
5813 FT_NONE, BASE_NONE, NULL, 0,
5815 { &hf_x2ap_MobilityChangeRequest_PDU,
5816 { "MobilityChangeRequest", "x2ap.MobilityChangeRequest",
5817 FT_NONE, BASE_NONE, NULL, 0,
5819 { &hf_x2ap_MobilityChangeAcknowledge_PDU,
5820 { "MobilityChangeAcknowledge", "x2ap.MobilityChangeAcknowledge",
5821 FT_NONE, BASE_NONE, NULL, 0,
5823 { &hf_x2ap_MobilityChangeFailure_PDU,
5824 { "MobilityChangeFailure", "x2ap.MobilityChangeFailure",
5825 FT_NONE, BASE_NONE, NULL, 0,
5827 { &hf_x2ap_RLFIndication_PDU,
5828 { "RLFIndication", "x2ap.RLFIndication",
5829 FT_NONE, BASE_NONE, NULL, 0,
5831 { &hf_x2ap_CellActivationRequest_PDU,
5832 { "CellActivationRequest", "x2ap.CellActivationRequest",
5833 FT_NONE, BASE_NONE, NULL, 0,
5835 { &hf_x2ap_ServedCellsToActivate_PDU,
5836 { "ServedCellsToActivate", "x2ap.ServedCellsToActivate",
5837 FT_UINT32, BASE_DEC, NULL, 0,
5839 { &hf_x2ap_CellActivationResponse_PDU,
5840 { "CellActivationResponse", "x2ap.CellActivationResponse",
5841 FT_NONE, BASE_NONE, NULL, 0,
5843 { &hf_x2ap_ActivatedCellList_PDU,
5844 { "ActivatedCellList", "x2ap.ActivatedCellList",
5845 FT_UINT32, BASE_DEC, NULL, 0,
5847 { &hf_x2ap_CellActivationFailure_PDU,
5848 { "CellActivationFailure", "x2ap.CellActivationFailure",
5849 FT_NONE, BASE_NONE, NULL, 0,
5851 { &hf_x2ap_X2AP_PDU_PDU,
5852 { "X2AP-PDU", "x2ap.X2AP_PDU",
5853 FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
5856 { "local", "x2ap.local",
5857 FT_UINT32, BASE_DEC, NULL, 0,
5858 "INTEGER_0_maxPrivateIEs", HFILL }},
5860 { "global", "x2ap.global",
5861 FT_OID, BASE_NONE, NULL, 0,
5862 "OBJECT_IDENTIFIER", HFILL }},
5863 { &hf_x2ap_ProtocolIE_Container_item,
5864 { "ProtocolIE-Field", "x2ap.ProtocolIE_Field",
5865 FT_NONE, BASE_NONE, NULL, 0,
5869 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
5870 "ProtocolIE_ID", HFILL }},
5871 { &hf_x2ap_criticality,
5872 { "criticality", "x2ap.criticality",
5873 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
5875 { &hf_x2ap_protocolIE_Field_value,
5876 { "value", "x2ap.value",
5877 FT_NONE, BASE_NONE, NULL, 0,
5878 "ProtocolIE_Field_value", HFILL }},
5879 { &hf_x2ap_ProtocolExtensionContainer_item,
5880 { "ProtocolExtensionField", "x2ap.ProtocolExtensionField",
5881 FT_NONE, BASE_NONE, NULL, 0,
5883 { &hf_x2ap_extension_id,
5885 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
5886 "ProtocolIE_ID", HFILL }},
5887 { &hf_x2ap_extensionValue,
5888 { "extensionValue", "x2ap.extensionValue",
5889 FT_NONE, BASE_NONE, NULL, 0,
5891 { &hf_x2ap_PrivateIE_Container_item,
5892 { "PrivateIE-Field", "x2ap.PrivateIE_Field",
5893 FT_NONE, BASE_NONE, NULL, 0,
5895 { &hf_x2ap_private_id,
5897 FT_UINT32, BASE_DEC, VALS(x2ap_PrivateIE_ID_vals), 0,
5898 "PrivateIE_ID", HFILL }},
5899 { &hf_x2ap_privateIE_Field_value,
5900 { "value", "x2ap.value",
5901 FT_NONE, BASE_NONE, NULL, 0,
5902 "PrivateIE_Field_value", HFILL }},
5904 { "fdd", "x2ap.fdd",
5905 FT_NONE, BASE_NONE, NULL, 0,
5906 "ABSInformationFDD", HFILL }},
5908 { "tdd", "x2ap.tdd",
5909 FT_NONE, BASE_NONE, NULL, 0,
5910 "ABSInformationTDD", HFILL }},
5911 { &hf_x2ap_abs_inactive,
5912 { "abs-inactive", "x2ap.abs_inactive",
5913 FT_NONE, BASE_NONE, NULL, 0,
5915 { &hf_x2ap_abs_pattern_info,
5916 { "abs-pattern-info", "x2ap.abs_pattern_info",
5917 FT_BYTES, BASE_NONE, NULL, 0,
5918 "BIT_STRING_SIZE_40", HFILL }},
5919 { &hf_x2ap_numberOfCellSpecificAntennaPorts,
5920 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
5921 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
5923 { &hf_x2ap_measurement_subset,
5924 { "measurement-subset", "x2ap.measurement_subset",
5925 FT_BYTES, BASE_NONE, NULL, 0,
5926 "BIT_STRING_SIZE_40", HFILL }},
5927 { &hf_x2ap_iE_Extensions,
5928 { "iE-Extensions", "x2ap.iE_Extensions",
5929 FT_UINT32, BASE_DEC, NULL, 0,
5930 "ProtocolExtensionContainer", HFILL }},
5931 { &hf_x2ap_abs_pattern_info_01,
5932 { "abs-pattern-info", "x2ap.abs_pattern_info",
5933 FT_BYTES, BASE_NONE, NULL, 0,
5934 "BIT_STRING_SIZE_1_70_", HFILL }},
5935 { &hf_x2ap_numberOfCellSpecificAntennaPorts_01,
5936 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
5937 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_01_vals), 0,
5938 "T_numberOfCellSpecificAntennaPorts_01", HFILL }},
5939 { &hf_x2ap_measurement_subset_01,
5940 { "measurement-subset", "x2ap.measurement_subset",
5941 FT_BYTES, BASE_NONE, NULL, 0,
5942 "BIT_STRING_SIZE_1_70_", HFILL }},
5943 { &hf_x2ap_dL_ABS_status,
5944 { "dL-ABS-status", "x2ap.dL_ABS_status",
5945 FT_UINT32, BASE_DEC, NULL, 0,
5947 { &hf_x2ap_usableABSInformation,
5948 { "usableABSInformation", "x2ap.usableABSInformation",
5949 FT_UINT32, BASE_DEC, VALS(x2ap_UsableABSInformation_vals), 0,
5951 { &hf_x2ap_key_eNodeB_star,
5952 { "key-eNodeB-star", "x2ap.key_eNodeB_star",
5953 FT_BYTES, BASE_NONE, NULL, 0,
5955 { &hf_x2ap_nextHopChainingCount,
5956 { "nextHopChainingCount", "x2ap.nextHopChainingCount",
5957 FT_UINT32, BASE_DEC, NULL, 0,
5959 { &hf_x2ap_priorityLevel,
5960 { "priorityLevel", "x2ap.priorityLevel",
5961 FT_UINT32, BASE_DEC, VALS(x2ap_PriorityLevel_vals), 0,
5963 { &hf_x2ap_pre_emptionCapability,
5964 { "pre-emptionCapability", "x2ap.pre_emptionCapability",
5965 FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionCapability_vals), 0,
5967 { &hf_x2ap_pre_emptionVulnerability,
5968 { "pre-emptionVulnerability", "x2ap.pre_emptionVulnerability",
5969 FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionVulnerability_vals), 0,
5971 { &hf_x2ap_cellBased,
5972 { "cellBased", "x2ap.cellBased",
5973 FT_NONE, BASE_NONE, NULL, 0,
5974 "CellBasedMDT", HFILL }},
5976 { "tABased", "x2ap.tABased",
5977 FT_NONE, BASE_NONE, NULL, 0,
5978 "TABasedMDT", HFILL }},
5979 { &hf_x2ap_pLMNWide,
5980 { "pLMNWide", "x2ap.pLMNWide",
5981 FT_NONE, BASE_NONE, NULL, 0,
5983 { &hf_x2ap_BroadcastPLMNs_Item_item,
5984 { "PLMN-Identity", "x2ap.PLMN_Identity",
5985 FT_BYTES, BASE_NONE, NULL, 0,
5987 { &hf_x2ap_radioNetwork,
5988 { "radioNetwork", "x2ap.radioNetwork",
5989 FT_UINT32, BASE_DEC, VALS(x2ap_CauseRadioNetwork_vals), 0,
5990 "CauseRadioNetwork", HFILL }},
5991 { &hf_x2ap_transport,
5992 { "transport", "x2ap.transport",
5993 FT_UINT32, BASE_DEC, VALS(x2ap_CauseTransport_vals), 0,
5994 "CauseTransport", HFILL }},
5995 { &hf_x2ap_protocol,
5996 { "protocol", "x2ap.protocol",
5997 FT_UINT32, BASE_DEC, VALS(x2ap_CauseProtocol_vals), 0,
5998 "CauseProtocol", HFILL }},
6000 { "misc", "x2ap.misc",
6001 FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0,
6002 "CauseMisc", HFILL }},
6003 { &hf_x2ap_cellIdListforMDT,
6004 { "cellIdListforMDT", "x2ap.cellIdListforMDT",
6005 FT_UINT32, BASE_DEC, NULL, 0,
6007 { &hf_x2ap_CellIdListforMDT_item,
6008 { "ECGI", "x2ap.ECGI",
6009 FT_NONE, BASE_NONE, NULL, 0,
6011 { &hf_x2ap_cell_Size,
6012 { "cell-Size", "x2ap.cell_Size",
6013 FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Size_vals), 0,
6015 { &hf_x2ap_dL_CompositeAvailableCapacity,
6016 { "dL-CompositeAvailableCapacity", "x2ap.dL_CompositeAvailableCapacity",
6017 FT_NONE, BASE_NONE, NULL, 0,
6018 "CompositeAvailableCapacity", HFILL }},
6019 { &hf_x2ap_uL_CompositeAvailableCapacity,
6020 { "uL-CompositeAvailableCapacity", "x2ap.uL_CompositeAvailableCapacity",
6021 FT_NONE, BASE_NONE, NULL, 0,
6022 "CompositeAvailableCapacity", HFILL }},
6023 { &hf_x2ap_cellCapacityClassValue,
6024 { "cellCapacityClassValue", "x2ap.cellCapacityClassValue",
6025 FT_UINT32, BASE_DEC, NULL, 0,
6027 { &hf_x2ap_capacityValue,
6028 { "capacityValue", "x2ap.capacityValue",
6029 FT_UINT32, BASE_DEC, NULL, 0,
6032 { "pDCP-SN", "x2ap.pDCP_SN",
6033 FT_UINT32, BASE_DEC, NULL, 0,
6036 { "hFN", "x2ap.hFN",
6037 FT_UINT32, BASE_DEC, NULL, 0,
6039 { &hf_x2ap_procedureCode,
6040 { "procedureCode", "x2ap.procedureCode",
6041 FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureCode_vals), 0,
6043 { &hf_x2ap_triggeringMessage,
6044 { "triggeringMessage", "x2ap.triggeringMessage",
6045 FT_UINT32, BASE_DEC, VALS(x2ap_TriggeringMessage_vals), 0,
6047 { &hf_x2ap_procedureCriticality,
6048 { "procedureCriticality", "x2ap.procedureCriticality",
6049 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
6050 "Criticality", HFILL }},
6051 { &hf_x2ap_iEsCriticalityDiagnostics,
6052 { "iEsCriticalityDiagnostics", "x2ap.iEsCriticalityDiagnostics",
6053 FT_UINT32, BASE_DEC, NULL, 0,
6054 "CriticalityDiagnostics_IE_List", HFILL }},
6055 { &hf_x2ap_CriticalityDiagnostics_IE_List_item,
6056 { "CriticalityDiagnostics-IE-List item", "x2ap.CriticalityDiagnostics_IE_List_item",
6057 FT_NONE, BASE_NONE, NULL, 0,
6059 { &hf_x2ap_iECriticality,
6060 { "iECriticality", "x2ap.iECriticality",
6061 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
6062 "Criticality", HFILL }},
6064 { "iE-ID", "x2ap.iE_ID",
6065 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
6066 "ProtocolIE_ID", HFILL }},
6067 { &hf_x2ap_typeOfError,
6068 { "typeOfError", "x2ap.typeOfError",
6069 FT_UINT32, BASE_DEC, VALS(x2ap_TypeOfError_vals), 0,
6071 { &hf_x2ap_uL_EARFCN,
6072 { "uL-EARFCN", "x2ap.uL_EARFCN",
6073 FT_UINT32, BASE_DEC, NULL, 0,
6075 { &hf_x2ap_dL_EARFCN,
6076 { "dL-EARFCN", "x2ap.dL_EARFCN",
6077 FT_UINT32, BASE_DEC, NULL, 0,
6079 { &hf_x2ap_uL_Transmission_Bandwidth,
6080 { "uL-Transmission-Bandwidth", "x2ap.uL_Transmission_Bandwidth",
6081 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
6082 "Transmission_Bandwidth", HFILL }},
6083 { &hf_x2ap_dL_Transmission_Bandwidth,
6084 { "dL-Transmission-Bandwidth", "x2ap.dL_Transmission_Bandwidth",
6085 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
6086 "Transmission_Bandwidth", HFILL }},
6088 { "eARFCN", "x2ap.eARFCN",
6089 FT_UINT32, BASE_DEC, NULL, 0,
6091 { &hf_x2ap_transmission_Bandwidth,
6092 { "transmission-Bandwidth", "x2ap.transmission_Bandwidth",
6093 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
6095 { &hf_x2ap_subframeAssignment,
6096 { "subframeAssignment", "x2ap.subframeAssignment",
6097 FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAssignment_vals), 0,
6099 { &hf_x2ap_specialSubframe_Info,
6100 { "specialSubframe-Info", "x2ap.specialSubframe_Info",
6101 FT_NONE, BASE_NONE, NULL, 0,
6104 { "fDD", "x2ap.fDD",
6105 FT_NONE, BASE_NONE, NULL, 0,
6106 "FDD_Info", HFILL }},
6108 { "tDD", "x2ap.tDD",
6109 FT_NONE, BASE_NONE, NULL, 0,
6110 "TDD_Info", HFILL }},
6111 { &hf_x2ap_pLMN_Identity,
6112 { "pLMN-Identity", "x2ap.pLMN_Identity",
6113 FT_BYTES, BASE_NONE, NULL, 0,
6115 { &hf_x2ap_eUTRANcellIdentifier,
6116 { "eUTRANcellIdentifier", "x2ap.eUTRANcellIdentifier",
6117 FT_BYTES, BASE_NONE, NULL, 0,
6119 { &hf_x2ap_macro_eNB_ID,
6120 { "macro-eNB-ID", "x2ap.macro_eNB_ID",
6121 FT_BYTES, BASE_NONE, NULL, 0,
6122 "BIT_STRING_SIZE_20", HFILL }},
6123 { &hf_x2ap_home_eNB_ID,
6124 { "home-eNB-ID", "x2ap.home_eNB_ID",
6125 FT_BYTES, BASE_NONE, NULL, 0,
6126 "BIT_STRING_SIZE_28", HFILL }},
6127 { &hf_x2ap_EPLMNs_item,
6128 { "PLMN-Identity", "x2ap.PLMN_Identity",
6129 FT_BYTES, BASE_NONE, NULL, 0,
6132 { "qCI", "x2ap.qCI",
6133 FT_UINT32, BASE_DEC, NULL, 0,
6135 { &hf_x2ap_allocationAndRetentionPriority,
6136 { "allocationAndRetentionPriority", "x2ap.allocationAndRetentionPriority",
6137 FT_NONE, BASE_NONE, NULL, 0,
6139 { &hf_x2ap_gbrQosInformation,
6140 { "gbrQosInformation", "x2ap.gbrQosInformation",
6141 FT_NONE, BASE_NONE, NULL, 0,
6142 "GBR_QosInformation", HFILL }},
6143 { &hf_x2ap_E_RAB_List_item,
6144 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6145 FT_NONE, BASE_NONE, NULL, 0,
6147 { &hf_x2ap_e_RAB_ID,
6148 { "e-RAB-ID", "x2ap.e_RAB_ID",
6149 FT_UINT32, BASE_DEC, NULL, 0,
6152 { "cause", "x2ap.cause",
6153 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
6155 { &hf_x2ap_ForbiddenTAs_item,
6156 { "ForbiddenTAs-Item", "x2ap.ForbiddenTAs_Item",
6157 FT_NONE, BASE_NONE, NULL, 0,
6159 { &hf_x2ap_forbiddenTACs,
6160 { "forbiddenTACs", "x2ap.forbiddenTACs",
6161 FT_UINT32, BASE_DEC, NULL, 0,
6163 { &hf_x2ap_ForbiddenTACs_item,
6164 { "TAC", "x2ap.TAC",
6165 FT_BYTES, BASE_NONE, NULL, 0,
6167 { &hf_x2ap_ForbiddenLAs_item,
6168 { "ForbiddenLAs-Item", "x2ap.ForbiddenLAs_Item",
6169 FT_NONE, BASE_NONE, NULL, 0,
6171 { &hf_x2ap_forbiddenLACs,
6172 { "forbiddenLACs", "x2ap.forbiddenLACs",
6173 FT_UINT32, BASE_DEC, NULL, 0,
6175 { &hf_x2ap_ForbiddenLACs_item,
6176 { "LAC", "x2ap.LAC",
6177 FT_BYTES, BASE_NONE, NULL, 0,
6179 { &hf_x2ap_e_RAB_MaximumBitrateDL,
6180 { "e-RAB-MaximumBitrateDL", "x2ap.e_RAB_MaximumBitrateDL",
6181 FT_UINT64, BASE_DEC, NULL, 0,
6182 "BitRate", HFILL }},
6183 { &hf_x2ap_e_RAB_MaximumBitrateUL,
6184 { "e-RAB-MaximumBitrateUL", "x2ap.e_RAB_MaximumBitrateUL",
6185 FT_UINT64, BASE_DEC, NULL, 0,
6186 "BitRate", HFILL }},
6187 { &hf_x2ap_e_RAB_GuaranteedBitrateDL,
6188 { "e-RAB-GuaranteedBitrateDL", "x2ap.e_RAB_GuaranteedBitrateDL",
6189 FT_UINT64, BASE_DEC, NULL, 0,
6190 "BitRate", HFILL }},
6191 { &hf_x2ap_e_RAB_GuaranteedBitrateUL,
6192 { "e-RAB-GuaranteedBitrateUL", "x2ap.e_RAB_GuaranteedBitrateUL",
6193 FT_UINT64, BASE_DEC, NULL, 0,
6194 "BitRate", HFILL }},
6196 { "eNB-ID", "x2ap.eNB_ID",
6197 FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0,
6199 { &hf_x2ap_transportLayerAddress,
6200 { "transportLayerAddress", "x2ap.transportLayerAddress",
6201 FT_BYTES, BASE_NONE, NULL, 0,
6203 { &hf_x2ap_gTP_TEID,
6204 { "gTP-TEID", "x2ap.gTP_TEID",
6205 FT_BYTES, BASE_NONE, NULL, 0,
6206 "GTP_TEI", HFILL }},
6207 { &hf_x2ap_GUGroupIDList_item,
6208 { "GU-Group-ID", "x2ap.GU_Group_ID",
6209 FT_NONE, BASE_NONE, NULL, 0,
6211 { &hf_x2ap_mME_Group_ID,
6212 { "mME-Group-ID", "x2ap.mME_Group_ID",
6213 FT_BYTES, BASE_NONE, NULL, 0,
6215 { &hf_x2ap_gU_Group_ID,
6216 { "gU-Group-ID", "x2ap.gU_Group_ID",
6217 FT_NONE, BASE_NONE, NULL, 0,
6219 { &hf_x2ap_mME_Code,
6220 { "mME-Code", "x2ap.mME_Code",
6221 FT_BYTES, BASE_NONE, NULL, 0,
6223 { &hf_x2ap_servingPLMN,
6224 { "servingPLMN", "x2ap.servingPLMN",
6225 FT_BYTES, BASE_NONE, NULL, 0,
6226 "PLMN_Identity", HFILL }},
6227 { &hf_x2ap_equivalentPLMNs,
6228 { "equivalentPLMNs", "x2ap.equivalentPLMNs",
6229 FT_UINT32, BASE_DEC, NULL, 0,
6231 { &hf_x2ap_forbiddenTAs,
6232 { "forbiddenTAs", "x2ap.forbiddenTAs",
6233 FT_UINT32, BASE_DEC, NULL, 0,
6235 { &hf_x2ap_forbiddenLAs,
6236 { "forbiddenLAs", "x2ap.forbiddenLAs",
6237 FT_UINT32, BASE_DEC, NULL, 0,
6239 { &hf_x2ap_forbiddenInterRATs,
6240 { "forbiddenInterRATs", "x2ap.forbiddenInterRATs",
6241 FT_UINT32, BASE_DEC, VALS(x2ap_ForbiddenInterRATs_vals), 0,
6243 { &hf_x2ap_dLHWLoadIndicator,
6244 { "dLHWLoadIndicator", "x2ap.dLHWLoadIndicator",
6245 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6246 "LoadIndicator", HFILL }},
6247 { &hf_x2ap_uLHWLoadIndicator,
6248 { "uLHWLoadIndicator", "x2ap.uLHWLoadIndicator",
6249 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6250 "LoadIndicator", HFILL }},
6251 { &hf_x2ap_e_UTRAN_Cell,
6252 { "e-UTRAN-Cell", "x2ap.e_UTRAN_Cell",
6253 FT_NONE, BASE_NONE, NULL, 0,
6254 "LastVisitedEUTRANCellInformation", HFILL }},
6255 { &hf_x2ap_uTRAN_Cell,
6256 { "uTRAN-Cell", "x2ap.uTRAN_Cell",
6257 FT_BYTES, BASE_NONE, NULL, 0,
6258 "LastVisitedUTRANCellInformation", HFILL }},
6259 { &hf_x2ap_gERAN_Cell,
6260 { "gERAN-Cell", "x2ap.gERAN_Cell",
6261 FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedGERANCellInformation_vals), 0,
6262 "LastVisitedGERANCellInformation", HFILL }},
6263 { &hf_x2ap_global_Cell_ID,
6264 { "global-Cell-ID", "x2ap.global_Cell_ID",
6265 FT_NONE, BASE_NONE, NULL, 0,
6267 { &hf_x2ap_cellType,
6268 { "cellType", "x2ap.cellType",
6269 FT_NONE, BASE_NONE, NULL, 0,
6271 { &hf_x2ap_time_UE_StayedInCell,
6272 { "time-UE-StayedInCell", "x2ap.time_UE_StayedInCell",
6273 FT_UINT32, BASE_DEC, NULL, 0,
6275 { &hf_x2ap_undefined,
6276 { "undefined", "x2ap.undefined",
6277 FT_NONE, BASE_NONE, NULL, 0,
6279 { &hf_x2ap_eventType,
6280 { "eventType", "x2ap.eventType",
6281 FT_UINT32, BASE_DEC, VALS(x2ap_EventType_vals), 0,
6283 { &hf_x2ap_reportArea,
6284 { "reportArea", "x2ap.reportArea",
6285 FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
6287 { &hf_x2ap_mdt_Activation,
6288 { "mdt-Activation", "x2ap.mdt_Activation",
6289 FT_UINT32, BASE_DEC, VALS(x2ap_MDT_Activation_vals), 0,
6291 { &hf_x2ap_areaScopeOfMDT,
6292 { "areaScopeOfMDT", "x2ap.areaScopeOfMDT",
6293 FT_UINT32, BASE_DEC, VALS(x2ap_AreaScopeOfMDT_vals), 0,
6295 { &hf_x2ap_measurementsToActivate,
6296 { "measurementsToActivate", "x2ap.measurementsToActivate",
6297 FT_BYTES, BASE_NONE, NULL, 0,
6299 { &hf_x2ap_reportingTriggerMDT,
6300 { "reportingTriggerMDT", "x2ap.reportingTriggerMDT",
6301 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingTriggerMDT_vals), 0,
6303 { &hf_x2ap_thresholdeventA2,
6304 { "thresholdeventA2", "x2ap.thresholdeventA2",
6305 FT_NONE, BASE_NONE, NULL, 0,
6307 { &hf_x2ap_periodicReportingMDT,
6308 { "periodicReportingMDT", "x2ap.periodicReportingMDT",
6309 FT_NONE, BASE_NONE, NULL, 0,
6311 { &hf_x2ap_threshold_RSRP,
6312 { "threshold-RSRP", "x2ap.threshold_RSRP",
6313 FT_UINT32, BASE_DEC, NULL, 0,
6315 { &hf_x2ap_threshold_RSRQ,
6316 { "threshold-RSRQ", "x2ap.threshold_RSRQ",
6317 FT_UINT32, BASE_DEC, NULL, 0,
6319 { &hf_x2ap_MBSFN_Subframe_Infolist_item,
6320 { "MBSFN-Subframe-Info", "x2ap.MBSFN_Subframe_Info",
6321 FT_NONE, BASE_NONE, NULL, 0,
6323 { &hf_x2ap_radioframeAllocationPeriod,
6324 { "radioframeAllocationPeriod", "x2ap.radioframeAllocationPeriod",
6325 FT_UINT32, BASE_DEC, VALS(x2ap_RadioframeAllocationPeriod_vals), 0,
6327 { &hf_x2ap_radioframeAllocationOffset,
6328 { "radioframeAllocationOffset", "x2ap.radioframeAllocationOffset",
6329 FT_UINT32, BASE_DEC, NULL, 0,
6331 { &hf_x2ap_subframeAllocation,
6332 { "subframeAllocation", "x2ap.subframeAllocation",
6333 FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAllocation_vals), 0,
6335 { &hf_x2ap_handoverTriggerChangeLowerLimit,
6336 { "handoverTriggerChangeLowerLimit", "x2ap.handoverTriggerChangeLowerLimit",
6337 FT_INT32, BASE_DEC, NULL, 0,
6338 "INTEGER_M20_20", HFILL }},
6339 { &hf_x2ap_handoverTriggerChangeUpperLimit,
6340 { "handoverTriggerChangeUpperLimit", "x2ap.handoverTriggerChangeUpperLimit",
6341 FT_INT32, BASE_DEC, NULL, 0,
6342 "INTEGER_M20_20", HFILL }},
6343 { &hf_x2ap_handoverTriggerChange,
6344 { "handoverTriggerChange", "x2ap.handoverTriggerChange",
6345 FT_INT32, BASE_DEC, NULL, 0,
6346 "INTEGER_M20_20", HFILL }},
6347 { &hf_x2ap_Neighbour_Information_item,
6348 { "Neighbour-Information item", "x2ap.Neighbour_Information_item",
6349 FT_NONE, BASE_NONE, NULL, 0,
6352 { "eCGI", "x2ap.eCGI",
6353 FT_NONE, BASE_NONE, NULL, 0,
6356 { "pCI", "x2ap.pCI",
6357 FT_UINT32, BASE_DEC, NULL, 0,
6359 { &hf_x2ap_reportInterval,
6360 { "reportInterval", "x2ap.reportInterval",
6361 FT_UINT32, BASE_DEC, VALS(x2ap_ReportIntervalMDT_vals), 0,
6362 "ReportIntervalMDT", HFILL }},
6363 { &hf_x2ap_reportAmount,
6364 { "reportAmount", "x2ap.reportAmount",
6365 FT_UINT32, BASE_DEC, VALS(x2ap_ReportAmountMDT_vals), 0,
6366 "ReportAmountMDT", HFILL }},
6367 { &hf_x2ap_rootSequenceIndex,
6368 { "rootSequenceIndex", "x2ap.rootSequenceIndex",
6369 FT_UINT32, BASE_DEC, NULL, 0,
6370 "INTEGER_0_837", HFILL }},
6371 { &hf_x2ap_zeroCorrelationIndex,
6372 { "zeroCorrelationIndex", "x2ap.zeroCorrelationIndex",
6373 FT_UINT32, BASE_DEC, NULL, 0,
6374 "INTEGER_0_15", HFILL }},
6375 { &hf_x2ap_highSpeedFlag,
6376 { "highSpeedFlag", "x2ap.highSpeedFlag",
6377 FT_BOOLEAN, BASE_NONE, NULL, 0,
6378 "BOOLEAN", HFILL }},
6379 { &hf_x2ap_prach_FreqOffset,
6380 { "prach-FreqOffset", "x2ap.prach_FreqOffset",
6381 FT_UINT32, BASE_DEC, NULL, 0,
6382 "INTEGER_0_94", HFILL }},
6383 { &hf_x2ap_prach_ConfigIndex,
6384 { "prach-ConfigIndex", "x2ap.prach_ConfigIndex",
6385 FT_UINT32, BASE_DEC, NULL, 0,
6386 "INTEGER_0_63", HFILL }},
6387 { &hf_x2ap_dL_GBR_PRB_usage,
6388 { "dL-GBR-PRB-usage", "x2ap.dL_GBR_PRB_usage",
6389 FT_UINT32, BASE_DEC, NULL, 0,
6391 { &hf_x2ap_uL_GBR_PRB_usage,
6392 { "uL-GBR-PRB-usage", "x2ap.uL_GBR_PRB_usage",
6393 FT_UINT32, BASE_DEC, NULL, 0,
6395 { &hf_x2ap_dL_non_GBR_PRB_usage,
6396 { "dL-non-GBR-PRB-usage", "x2ap.dL_non_GBR_PRB_usage",
6397 FT_UINT32, BASE_DEC, NULL, 0,
6399 { &hf_x2ap_uL_non_GBR_PRB_usage,
6400 { "uL-non-GBR-PRB-usage", "x2ap.uL_non_GBR_PRB_usage",
6401 FT_UINT32, BASE_DEC, NULL, 0,
6403 { &hf_x2ap_dL_Total_PRB_usage,
6404 { "dL-Total-PRB-usage", "x2ap.dL_Total_PRB_usage",
6405 FT_UINT32, BASE_DEC, NULL, 0,
6407 { &hf_x2ap_uL_Total_PRB_usage,
6408 { "uL-Total-PRB-usage", "x2ap.uL_Total_PRB_usage",
6409 FT_UINT32, BASE_DEC, NULL, 0,
6411 { &hf_x2ap_rNTP_PerPRB,
6412 { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
6413 FT_BYTES, BASE_NONE, NULL, 0,
6414 "BIT_STRING_SIZE_6_110_", HFILL }},
6415 { &hf_x2ap_rNTP_Threshold,
6416 { "rNTP-Threshold", "x2ap.rNTP_Threshold",
6417 FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
6419 { &hf_x2ap_numberOfCellSpecificAntennaPorts_02,
6420 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
6421 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_02_vals), 0,
6422 "T_numberOfCellSpecificAntennaPorts_02", HFILL }},
6424 { "p-B", "x2ap.p_B",
6425 FT_UINT32, BASE_DEC, NULL, 0,
6426 "INTEGER_0_3_", HFILL }},
6427 { &hf_x2ap_pDCCH_InterferenceImpact,
6428 { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
6429 FT_UINT32, BASE_DEC, NULL, 0,
6430 "INTEGER_0_4_", HFILL }},
6431 { &hf_x2ap_dLS1TNLLoadIndicator,
6432 { "dLS1TNLLoadIndicator", "x2ap.dLS1TNLLoadIndicator",
6433 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6434 "LoadIndicator", HFILL }},
6435 { &hf_x2ap_uLS1TNLLoadIndicator,
6436 { "uLS1TNLLoadIndicator", "x2ap.uLS1TNLLoadIndicator",
6437 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6438 "LoadIndicator", HFILL }},
6439 { &hf_x2ap_ServedCells_item,
6440 { "ServedCells item", "x2ap.ServedCells_item",
6441 FT_NONE, BASE_NONE, NULL, 0,
6443 { &hf_x2ap_servedCellInfo,
6444 { "servedCellInfo", "x2ap.servedCellInfo",
6445 FT_NONE, BASE_NONE, NULL, 0,
6446 "ServedCell_Information", HFILL }},
6447 { &hf_x2ap_neighbour_Info,
6448 { "neighbour-Info", "x2ap.neighbour_Info",
6449 FT_UINT32, BASE_DEC, NULL, 0,
6450 "Neighbour_Information", HFILL }},
6452 { "cellId", "x2ap.cellId",
6453 FT_NONE, BASE_NONE, NULL, 0,
6456 { "tAC", "x2ap.tAC",
6457 FT_BYTES, BASE_NONE, NULL, 0,
6459 { &hf_x2ap_broadcastPLMNs,
6460 { "broadcastPLMNs", "x2ap.broadcastPLMNs",
6461 FT_UINT32, BASE_DEC, NULL, 0,
6462 "BroadcastPLMNs_Item", HFILL }},
6463 { &hf_x2ap_eUTRA_Mode_Info,
6464 { "eUTRA-Mode-Info", "x2ap.eUTRA_Mode_Info",
6465 FT_UINT32, BASE_DEC, VALS(x2ap_EUTRA_Mode_Info_vals), 0,
6467 { &hf_x2ap_specialSubframePatterns,
6468 { "specialSubframePatterns", "x2ap.specialSubframePatterns",
6469 FT_UINT32, BASE_DEC, VALS(x2ap_SpecialSubframePatterns_vals), 0,
6471 { &hf_x2ap_cyclicPrefixDL,
6472 { "cyclicPrefixDL", "x2ap.cyclicPrefixDL",
6473 FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixDL_vals), 0,
6475 { &hf_x2ap_cyclicPrefixUL,
6476 { "cyclicPrefixUL", "x2ap.cyclicPrefixUL",
6477 FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixUL_vals), 0,
6479 { &hf_x2ap_oneframe,
6480 { "oneframe", "x2ap.oneframe",
6481 FT_BYTES, BASE_NONE, NULL, 0,
6483 { &hf_x2ap_fourframes,
6484 { "fourframes", "x2ap.fourframes",
6485 FT_BYTES, BASE_NONE, NULL, 0,
6487 { &hf_x2ap_tAListforMDT,
6488 { "tAListforMDT", "x2ap.tAListforMDT",
6489 FT_UINT32, BASE_DEC, NULL, 0,
6491 { &hf_x2ap_TAListforMDT_item,
6492 { "TAC", "x2ap.TAC",
6493 FT_BYTES, BASE_NONE, NULL, 0,
6495 { &hf_x2ap_measurementThreshold,
6496 { "measurementThreshold", "x2ap.measurementThreshold",
6497 FT_UINT32, BASE_DEC, VALS(x2ap_MeasurementThresholdA2_vals), 0,
6498 "MeasurementThresholdA2", HFILL }},
6499 { &hf_x2ap_eUTRANTraceID,
6500 { "eUTRANTraceID", "x2ap.eUTRANTraceID",
6501 FT_BYTES, BASE_NONE, NULL, 0,
6503 { &hf_x2ap_interfacesToTrace,
6504 { "interfacesToTrace", "x2ap.interfacesToTrace",
6505 FT_BYTES, BASE_NONE, NULL, 0,
6507 { &hf_x2ap_traceDepth,
6508 { "traceDepth", "x2ap.traceDepth",
6509 FT_UINT32, BASE_DEC, VALS(x2ap_TraceDepth_vals), 0,
6511 { &hf_x2ap_traceCollectionEntityIPAddress,
6512 { "traceCollectionEntityIPAddress", "x2ap.traceCollectionEntityIPAddress",
6513 FT_BYTES, BASE_NONE, NULL, 0,
6515 { &hf_x2ap_UE_HistoryInformation_item,
6516 { "LastVisitedCell-Item", "x2ap.LastVisitedCell_Item",
6517 FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedCell_Item_vals), 0,
6519 { &hf_x2ap_uEaggregateMaximumBitRateDownlink,
6520 { "uEaggregateMaximumBitRateDownlink", "x2ap.uEaggregateMaximumBitRateDownlink",
6521 FT_UINT64, BASE_DEC, NULL, 0,
6522 "BitRate", HFILL }},
6523 { &hf_x2ap_uEaggregateMaximumBitRateUplink,
6524 { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink",
6525 FT_UINT64, BASE_DEC, NULL, 0,
6526 "BitRate", HFILL }},
6527 { &hf_x2ap_encryptionAlgorithms,
6528 { "encryptionAlgorithms", "x2ap.encryptionAlgorithms",
6529 FT_BYTES, BASE_NONE, NULL, 0,
6531 { &hf_x2ap_integrityProtectionAlgorithms,
6532 { "integrityProtectionAlgorithms", "x2ap.integrityProtectionAlgorithms",
6533 FT_BYTES, BASE_NONE, NULL, 0,
6535 { &hf_x2ap_UL_InterferenceOverloadIndication_item,
6536 { "UL-InterferenceOverloadIndication-Item", "x2ap.UL_InterferenceOverloadIndication_Item",
6537 FT_UINT32, BASE_DEC, VALS(x2ap_UL_InterferenceOverloadIndication_Item_vals), 0,
6539 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item,
6540 { "UL-HighInterferenceIndicationInfo-Item", "x2ap.UL_HighInterferenceIndicationInfo_Item",
6541 FT_NONE, BASE_NONE, NULL, 0,
6543 { &hf_x2ap_target_Cell_ID,
6544 { "target-Cell-ID", "x2ap.target_Cell_ID",
6545 FT_NONE, BASE_NONE, NULL, 0,
6547 { &hf_x2ap_ul_interferenceindication,
6548 { "ul-interferenceindication", "x2ap.ul_interferenceindication",
6549 FT_BYTES, BASE_NONE, NULL, 0,
6550 "UL_HighInterferenceIndication", HFILL }},
6552 { "fdd", "x2ap.fdd",
6553 FT_NONE, BASE_NONE, NULL, 0,
6554 "UsableABSInformationFDD", HFILL }},
6556 { "tdd", "x2ap.tdd",
6557 FT_NONE, BASE_NONE, NULL, 0,
6558 "UsableABSInformationTDD", HFILL }},
6559 { &hf_x2ap_usable_abs_pattern_info,
6560 { "usable-abs-pattern-info", "x2ap.usable_abs_pattern_info",
6561 FT_BYTES, BASE_NONE, NULL, 0,
6562 "BIT_STRING_SIZE_40", HFILL }},
6563 { &hf_x2ap_usaable_abs_pattern_info,
6564 { "usaable-abs-pattern-info", "x2ap.usaable_abs_pattern_info",
6565 FT_BYTES, BASE_NONE, NULL, 0,
6566 "BIT_STRING_SIZE_1_70_", HFILL }},
6567 { &hf_x2ap_protocolIEs,
6568 { "protocolIEs", "x2ap.protocolIEs",
6569 FT_UINT32, BASE_DEC, NULL, 0,
6570 "ProtocolIE_Container", HFILL }},
6571 { &hf_x2ap_mME_UE_S1AP_ID,
6572 { "mME-UE-S1AP-ID", "x2ap.mME_UE_S1AP_ID",
6573 FT_UINT32, BASE_DEC, NULL, 0,
6574 "UE_S1AP_ID", HFILL }},
6575 { &hf_x2ap_uESecurityCapabilities,
6576 { "uESecurityCapabilities", "x2ap.uESecurityCapabilities",
6577 FT_NONE, BASE_NONE, NULL, 0,
6579 { &hf_x2ap_aS_SecurityInformation,
6580 { "aS-SecurityInformation", "x2ap.aS_SecurityInformation",
6581 FT_NONE, BASE_NONE, NULL, 0,
6583 { &hf_x2ap_uEaggregateMaximumBitRate,
6584 { "uEaggregateMaximumBitRate", "x2ap.uEaggregateMaximumBitRate",
6585 FT_NONE, BASE_NONE, NULL, 0,
6587 { &hf_x2ap_subscriberProfileIDforRFP,
6588 { "subscriberProfileIDforRFP", "x2ap.subscriberProfileIDforRFP",
6589 FT_UINT32, BASE_DEC, NULL, 0,
6591 { &hf_x2ap_e_RABs_ToBeSetup_List,
6592 { "e-RABs-ToBeSetup-List", "x2ap.e_RABs_ToBeSetup_List",
6593 FT_UINT32, BASE_DEC, NULL, 0,
6595 { &hf_x2ap_rRC_Context,
6596 { "rRC-Context", "x2ap.rRC_Context",
6597 FT_BYTES, BASE_NONE, NULL, 0,
6599 { &hf_x2ap_handoverRestrictionList,
6600 { "handoverRestrictionList", "x2ap.handoverRestrictionList",
6601 FT_NONE, BASE_NONE, NULL, 0,
6603 { &hf_x2ap_locationReportingInformation,
6604 { "locationReportingInformation", "x2ap.locationReportingInformation",
6605 FT_NONE, BASE_NONE, NULL, 0,
6607 { &hf_x2ap_E_RABs_ToBeSetup_List_item,
6608 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6609 FT_NONE, BASE_NONE, NULL, 0,
6611 { &hf_x2ap_e_RAB_Level_QoS_Parameters,
6612 { "e-RAB-Level-QoS-Parameters", "x2ap.e_RAB_Level_QoS_Parameters",
6613 FT_NONE, BASE_NONE, NULL, 0,
6615 { &hf_x2ap_dL_Forwarding,
6616 { "dL-Forwarding", "x2ap.dL_Forwarding",
6617 FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0,
6619 { &hf_x2ap_uL_GTPtunnelEndpoint,
6620 { "uL-GTPtunnelEndpoint", "x2ap.uL_GTPtunnelEndpoint",
6621 FT_NONE, BASE_NONE, NULL, 0,
6622 "GTPtunnelEndpoint", HFILL }},
6623 { &hf_x2ap_E_RABs_Admitted_List_item,
6624 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6625 FT_NONE, BASE_NONE, NULL, 0,
6627 { &hf_x2ap_uL_GTP_TunnelEndpoint,
6628 { "uL-GTP-TunnelEndpoint", "x2ap.uL_GTP_TunnelEndpoint",
6629 FT_NONE, BASE_NONE, NULL, 0,
6630 "GTPtunnelEndpoint", HFILL }},
6631 { &hf_x2ap_dL_GTP_TunnelEndpoint,
6632 { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint",
6633 FT_NONE, BASE_NONE, NULL, 0,
6634 "GTPtunnelEndpoint", HFILL }},
6635 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item,
6636 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6637 FT_NONE, BASE_NONE, NULL, 0,
6639 { &hf_x2ap_receiveStatusofULPDCPSDUs,
6640 { "receiveStatusofULPDCPSDUs", "x2ap.receiveStatusofULPDCPSDUs",
6641 FT_BYTES, BASE_NONE, NULL, 0,
6643 { &hf_x2ap_uL_COUNTvalue,
6644 { "uL-COUNTvalue", "x2ap.uL_COUNTvalue",
6645 FT_NONE, BASE_NONE, NULL, 0,
6646 "COUNTvalue", HFILL }},
6647 { &hf_x2ap_dL_COUNTvalue,
6648 { "dL-COUNTvalue", "x2ap.dL_COUNTvalue",
6649 FT_NONE, BASE_NONE, NULL, 0,
6650 "COUNTvalue", HFILL }},
6651 { &hf_x2ap_CellInformation_List_item,
6652 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6653 FT_NONE, BASE_NONE, NULL, 0,
6656 { "cell-ID", "x2ap.cell_ID",
6657 FT_NONE, BASE_NONE, NULL, 0,
6659 { &hf_x2ap_ul_InterferenceOverloadIndication,
6660 { "ul-InterferenceOverloadIndication", "x2ap.ul_InterferenceOverloadIndication",
6661 FT_UINT32, BASE_DEC, NULL, 0,
6663 { &hf_x2ap_ul_HighInterferenceIndicationInfo,
6664 { "ul-HighInterferenceIndicationInfo", "x2ap.ul_HighInterferenceIndicationInfo",
6665 FT_UINT32, BASE_DEC, NULL, 0,
6667 { &hf_x2ap_relativeNarrowbandTxPower,
6668 { "relativeNarrowbandTxPower", "x2ap.relativeNarrowbandTxPower",
6669 FT_NONE, BASE_NONE, NULL, 0,
6671 { &hf_x2ap_ServedCellsToModify_item,
6672 { "ServedCellsToModify-Item", "x2ap.ServedCellsToModify_Item",
6673 FT_NONE, BASE_NONE, NULL, 0,
6675 { &hf_x2ap_old_ecgi,
6676 { "old-ecgi", "x2ap.old_ecgi",
6677 FT_NONE, BASE_NONE, NULL, 0,
6679 { &hf_x2ap_Old_ECGIs_item,
6680 { "ECGI", "x2ap.ECGI",
6681 FT_NONE, BASE_NONE, NULL, 0,
6683 { &hf_x2ap_CellToReport_List_item,
6684 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6685 FT_NONE, BASE_NONE, NULL, 0,
6687 { &hf_x2ap_MeasurementInitiationResult_List_item,
6688 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6689 FT_NONE, BASE_NONE, NULL, 0,
6691 { &hf_x2ap_measurementFailureCause_List,
6692 { "measurementFailureCause-List", "x2ap.measurementFailureCause_List",
6693 FT_UINT32, BASE_DEC, NULL, 0,
6695 { &hf_x2ap_MeasurementFailureCause_List_item,
6696 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6697 FT_NONE, BASE_NONE, NULL, 0,
6699 { &hf_x2ap_measurementFailedReportCharacteristics,
6700 { "measurementFailedReportCharacteristics", "x2ap.measurementFailedReportCharacteristics",
6701 FT_BYTES, BASE_NONE, NULL, 0,
6702 "ReportCharacteristics", HFILL }},
6703 { &hf_x2ap_CompleteFailureCauseInformation_List_item,
6704 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6705 FT_NONE, BASE_NONE, NULL, 0,
6707 { &hf_x2ap_CellMeasurementResult_List_item,
6708 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
6709 FT_NONE, BASE_NONE, NULL, 0,
6711 { &hf_x2ap_hWLoadIndicator,
6712 { "hWLoadIndicator", "x2ap.hWLoadIndicator",
6713 FT_NONE, BASE_NONE, NULL, 0,
6715 { &hf_x2ap_s1TNLLoadIndicator,
6716 { "s1TNLLoadIndicator", "x2ap.s1TNLLoadIndicator",
6717 FT_NONE, BASE_NONE, NULL, 0,
6719 { &hf_x2ap_radioResourceStatus,
6720 { "radioResourceStatus", "x2ap.radioResourceStatus",
6721 FT_NONE, BASE_NONE, NULL, 0,
6723 { &hf_x2ap_privateIEs,
6724 { "privateIEs", "x2ap.privateIEs",
6725 FT_UINT32, BASE_DEC, NULL, 0,
6726 "PrivateIE_Container", HFILL }},
6727 { &hf_x2ap_ServedCellsToActivate_item,
6728 { "ServedCellsToActivate-Item", "x2ap.ServedCellsToActivate_Item",
6729 FT_NONE, BASE_NONE, NULL, 0,
6732 { "ecgi", "x2ap.ecgi",
6733 FT_NONE, BASE_NONE, NULL, 0,
6735 { &hf_x2ap_ActivatedCellList_item,
6736 { "ActivatedCellList-Item", "x2ap.ActivatedCellList_Item",
6737 FT_NONE, BASE_NONE, NULL, 0,
6739 { &hf_x2ap_initiatingMessage,
6740 { "initiatingMessage", "x2ap.initiatingMessage",
6741 FT_NONE, BASE_NONE, NULL, 0,
6743 { &hf_x2ap_successfulOutcome,
6744 { "successfulOutcome", "x2ap.successfulOutcome",
6745 FT_NONE, BASE_NONE, NULL, 0,
6747 { &hf_x2ap_unsuccessfulOutcome,
6748 { "unsuccessfulOutcome", "x2ap.unsuccessfulOutcome",
6749 FT_NONE, BASE_NONE, NULL, 0,
6751 { &hf_x2ap_initiatingMessage_value,
6752 { "value", "x2ap.value",
6753 FT_NONE, BASE_NONE, NULL, 0,
6754 "InitiatingMessage_value", HFILL }},
6755 { &hf_x2ap_successfulOutcome_value,
6756 { "value", "x2ap.value",
6757 FT_NONE, BASE_NONE, NULL, 0,
6758 "SuccessfulOutcome_value", HFILL }},
6760 { "value", "x2ap.value",
6761 FT_NONE, BASE_NONE, NULL, 0,
6762 "UnsuccessfulOutcome_value", HFILL }},
6764 /*--- End of included file: packet-x2ap-hfarr.c ---*/
6765 #line 150 "../../asn1/x2ap/packet-x2ap-template.c"
6768 /* List of subtrees */
6769 static gint *ett[] = {
6771 &ett_x2ap_TransportLayerAddress,
6773 /*--- Included file: packet-x2ap-ettarr.c ---*/
6774 #line 1 "../../asn1/x2ap/packet-x2ap-ettarr.c"
6775 &ett_x2ap_PrivateIE_ID,
6776 &ett_x2ap_ProtocolIE_Container,
6777 &ett_x2ap_ProtocolIE_Field,
6778 &ett_x2ap_ProtocolExtensionContainer,
6779 &ett_x2ap_ProtocolExtensionField,
6780 &ett_x2ap_PrivateIE_Container,
6781 &ett_x2ap_PrivateIE_Field,
6782 &ett_x2ap_ABSInformation,
6783 &ett_x2ap_ABSInformationFDD,
6784 &ett_x2ap_ABSInformationTDD,
6785 &ett_x2ap_ABS_Status,
6786 &ett_x2ap_AS_SecurityInformation,
6787 &ett_x2ap_AllocationAndRetentionPriority,
6788 &ett_x2ap_AreaScopeOfMDT,
6789 &ett_x2ap_BroadcastPLMNs_Item,
6791 &ett_x2ap_CellBasedMDT,
6792 &ett_x2ap_CellIdListforMDT,
6794 &ett_x2ap_CompositeAvailableCapacityGroup,
6795 &ett_x2ap_CompositeAvailableCapacity,
6796 &ett_x2ap_COUNTvalue,
6797 &ett_x2ap_CriticalityDiagnostics,
6798 &ett_x2ap_CriticalityDiagnostics_IE_List,
6799 &ett_x2ap_CriticalityDiagnostics_IE_List_item,
6802 &ett_x2ap_EUTRA_Mode_Info,
6806 &ett_x2ap_E_RAB_Level_QoS_Parameters,
6807 &ett_x2ap_E_RAB_List,
6808 &ett_x2ap_E_RAB_Item,
6809 &ett_x2ap_ForbiddenTAs,
6810 &ett_x2ap_ForbiddenTAs_Item,
6811 &ett_x2ap_ForbiddenTACs,
6812 &ett_x2ap_ForbiddenLAs,
6813 &ett_x2ap_ForbiddenLAs_Item,
6814 &ett_x2ap_ForbiddenLACs,
6815 &ett_x2ap_GBR_QosInformation,
6816 &ett_x2ap_GlobalENB_ID,
6817 &ett_x2ap_GTPtunnelEndpoint,
6818 &ett_x2ap_GUGroupIDList,
6819 &ett_x2ap_GU_Group_ID,
6821 &ett_x2ap_HandoverRestrictionList,
6822 &ett_x2ap_HWLoadIndicator,
6823 &ett_x2ap_LastVisitedCell_Item,
6824 &ett_x2ap_LastVisitedEUTRANCellInformation,
6825 &ett_x2ap_LastVisitedGERANCellInformation,
6826 &ett_x2ap_LocationReportingInformation,
6827 &ett_x2ap_MDT_Configuration,
6828 &ett_x2ap_MeasurementThresholdA2,
6829 &ett_x2ap_MBSFN_Subframe_Infolist,
6830 &ett_x2ap_MBSFN_Subframe_Info,
6831 &ett_x2ap_MobilityParametersModificationRange,
6832 &ett_x2ap_MobilityParametersInformation,
6833 &ett_x2ap_Neighbour_Information,
6834 &ett_x2ap_Neighbour_Information_item,
6835 &ett_x2ap_PeriodicReportingMDT,
6836 &ett_x2ap_PRACH_Configuration,
6837 &ett_x2ap_RadioResourceStatus,
6838 &ett_x2ap_RelativeNarrowbandTxPower,
6839 &ett_x2ap_S1TNLLoadIndicator,
6840 &ett_x2ap_ServedCells,
6841 &ett_x2ap_ServedCells_item,
6842 &ett_x2ap_ServedCell_Information,
6843 &ett_x2ap_SpecialSubframe_Info,
6844 &ett_x2ap_SubframeAllocation,
6845 &ett_x2ap_TABasedMDT,
6846 &ett_x2ap_TAListforMDT,
6847 &ett_x2ap_ThresholdEventA2,
6848 &ett_x2ap_TraceActivation,
6849 &ett_x2ap_UE_HistoryInformation,
6850 &ett_x2ap_UEAggregateMaximumBitRate,
6851 &ett_x2ap_UESecurityCapabilities,
6852 &ett_x2ap_UL_InterferenceOverloadIndication,
6853 &ett_x2ap_UL_HighInterferenceIndicationInfo,
6854 &ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
6855 &ett_x2ap_UsableABSInformation,
6856 &ett_x2ap_UsableABSInformationFDD,
6857 &ett_x2ap_UsableABSInformationTDD,
6858 &ett_x2ap_HandoverRequest,
6859 &ett_x2ap_UE_ContextInformation,
6860 &ett_x2ap_E_RABs_ToBeSetup_List,
6861 &ett_x2ap_E_RABs_ToBeSetup_Item,
6862 &ett_x2ap_HandoverRequestAcknowledge,
6863 &ett_x2ap_E_RABs_Admitted_List,
6864 &ett_x2ap_E_RABs_Admitted_Item,
6865 &ett_x2ap_HandoverPreparationFailure,
6866 &ett_x2ap_HandoverReport,
6867 &ett_x2ap_SNStatusTransfer,
6868 &ett_x2ap_E_RABs_SubjectToStatusTransfer_List,
6869 &ett_x2ap_E_RABs_SubjectToStatusTransfer_Item,
6870 &ett_x2ap_UEContextRelease,
6871 &ett_x2ap_HandoverCancel,
6872 &ett_x2ap_ErrorIndication,
6873 &ett_x2ap_ResetRequest,
6874 &ett_x2ap_ResetResponse,
6875 &ett_x2ap_X2SetupRequest,
6876 &ett_x2ap_X2SetupResponse,
6877 &ett_x2ap_X2SetupFailure,
6878 &ett_x2ap_LoadInformation,
6879 &ett_x2ap_CellInformation_List,
6880 &ett_x2ap_CellInformation_Item,
6881 &ett_x2ap_ENBConfigurationUpdate,
6882 &ett_x2ap_ServedCellsToModify,
6883 &ett_x2ap_ServedCellsToModify_Item,
6884 &ett_x2ap_Old_ECGIs,
6885 &ett_x2ap_ENBConfigurationUpdateAcknowledge,
6886 &ett_x2ap_ENBConfigurationUpdateFailure,
6887 &ett_x2ap_ResourceStatusRequest,
6888 &ett_x2ap_CellToReport_List,
6889 &ett_x2ap_CellToReport_Item,
6890 &ett_x2ap_ResourceStatusResponse,
6891 &ett_x2ap_MeasurementInitiationResult_List,
6892 &ett_x2ap_MeasurementInitiationResult_Item,
6893 &ett_x2ap_MeasurementFailureCause_List,
6894 &ett_x2ap_MeasurementFailureCause_Item,
6895 &ett_x2ap_ResourceStatusFailure,
6896 &ett_x2ap_CompleteFailureCauseInformation_List,
6897 &ett_x2ap_CompleteFailureCauseInformation_Item,
6898 &ett_x2ap_ResourceStatusUpdate,
6899 &ett_x2ap_CellMeasurementResult_List,
6900 &ett_x2ap_CellMeasurementResult_Item,
6901 &ett_x2ap_PrivateMessage,
6902 &ett_x2ap_MobilityChangeRequest,
6903 &ett_x2ap_MobilityChangeAcknowledge,
6904 &ett_x2ap_MobilityChangeFailure,
6905 &ett_x2ap_RLFIndication,
6906 &ett_x2ap_CellActivationRequest,
6907 &ett_x2ap_ServedCellsToActivate,
6908 &ett_x2ap_ServedCellsToActivate_Item,
6909 &ett_x2ap_CellActivationResponse,
6910 &ett_x2ap_ActivatedCellList,
6911 &ett_x2ap_ActivatedCellList_Item,
6912 &ett_x2ap_CellActivationFailure,
6914 &ett_x2ap_InitiatingMessage,
6915 &ett_x2ap_SuccessfulOutcome,
6916 &ett_x2ap_UnsuccessfulOutcome,
6918 /*--- End of included file: packet-x2ap-ettarr.c ---*/
6919 #line 157 "../../asn1/x2ap/packet-x2ap-template.c"
6922 module_t *x2ap_module;
6924 /* Register protocol */
6925 proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
6926 /* Register fields and subtrees */
6927 proto_register_field_array(proto_x2ap, hf, array_length(hf));
6928 proto_register_subtree_array(ett, array_length(ett));
6930 /* Register dissector */
6931 register_dissector("x2ap", dissect_x2ap, proto_x2ap);
6933 /* Register dissector tables */
6934 x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
6935 x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
6936 x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC);
6937 x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC);
6938 x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC);
6940 /* Register configuration options for ports */
6941 x2ap_module = prefs_register_protocol(proto_x2ap, proto_reg_handoff_x2ap);
6943 prefs_register_uint_preference(x2ap_module, "sctp.port",
6945 "Set the SCTP port for X2AP messages",
6952 /*--- proto_reg_handoff_x2ap ---------------------------------------*/
6954 proto_reg_handoff_x2ap(void)
6956 dissector_handle_t x2ap_handle;
6957 static gboolean Initialized=FALSE;
6958 static guint SctpPort;
6960 x2ap_handle = find_dissector("x2ap");
6962 dissector_add_handle("sctp.port", x2ap_handle); /* for "decode-as" */
6963 dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle);
6966 /*--- Included file: packet-x2ap-dis-tab.c ---*/
6967 #line 1 "../../asn1/x2ap/packet-x2ap-dis-tab.c"
6968 dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_Item, new_create_dissector_handle(dissect_E_RABs_Admitted_Item_PDU, proto_x2ap));
6969 dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_List, new_create_dissector_handle(dissect_E_RABs_Admitted_List_PDU, proto_x2ap));
6970 dissector_add_uint("x2ap.ies", id_E_RAB_Item, new_create_dissector_handle(dissect_E_RAB_Item_PDU, proto_x2ap));
6971 dissector_add_uint("x2ap.ies", id_E_RABs_NotAdmitted_List, new_create_dissector_handle(dissect_E_RAB_List_PDU, proto_x2ap));
6972 dissector_add_uint("x2ap.ies", id_E_RABs_ToBeSetup_Item, new_create_dissector_handle(dissect_E_RABs_ToBeSetup_Item_PDU, proto_x2ap));
6973 dissector_add_uint("x2ap.ies", id_Cause, new_create_dissector_handle(dissect_Cause_PDU, proto_x2ap));
6974 dissector_add_uint("x2ap.ies", id_CellInformation, new_create_dissector_handle(dissect_CellInformation_List_PDU, proto_x2ap));
6975 dissector_add_uint("x2ap.ies", id_CellInformation_Item, new_create_dissector_handle(dissect_CellInformation_Item_PDU, proto_x2ap));
6976 dissector_add_uint("x2ap.ies", id_New_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
6977 dissector_add_uint("x2ap.ies", id_Old_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
6978 dissector_add_uint("x2ap.ies", id_TargetCell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
6979 dissector_add_uint("x2ap.ies", id_TargeteNBtoSource_eNBTransparentContainer, new_create_dissector_handle(dissect_TargeteNBtoSource_eNBTransparentContainer_PDU, proto_x2ap));
6980 dissector_add_uint("x2ap.ies", id_TraceActivation, new_create_dissector_handle(dissect_TraceActivation_PDU, proto_x2ap));
6981 dissector_add_uint("x2ap.ies", id_UE_ContextInformation, new_create_dissector_handle(dissect_UE_ContextInformation_PDU, proto_x2ap));
6982 dissector_add_uint("x2ap.ies", id_UE_HistoryInformation, new_create_dissector_handle(dissect_UE_HistoryInformation_PDU, proto_x2ap));
6983 dissector_add_uint("x2ap.ies", id_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
6984 dissector_add_uint("x2ap.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_x2ap));
6985 dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_List, new_create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_List_PDU, proto_x2ap));
6986 dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_Item, new_create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_Item_PDU, proto_x2ap));
6987 dissector_add_uint("x2ap.ies", id_ServedCells, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
6988 dissector_add_uint("x2ap.ies", id_GlobalENB_ID, new_create_dissector_handle(dissect_GlobalENB_ID_PDU, proto_x2ap));
6989 dissector_add_uint("x2ap.ies", id_TimeToWait, new_create_dissector_handle(dissect_TimeToWait_PDU, proto_x2ap));
6990 dissector_add_uint("x2ap.ies", id_GUMMEI_ID, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_x2ap));
6991 dissector_add_uint("x2ap.ies", id_GUGroupIDList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
6992 dissector_add_uint("x2ap.ies", id_ServedCellsToAdd, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
6993 dissector_add_uint("x2ap.ies", id_ServedCellsToModify, new_create_dissector_handle(dissect_ServedCellsToModify_PDU, proto_x2ap));
6994 dissector_add_uint("x2ap.ies", id_ServedCellsToDelete, new_create_dissector_handle(dissect_Old_ECGIs_PDU, proto_x2ap));
6995 dissector_add_uint("x2ap.ies", id_Registration_Request, new_create_dissector_handle(dissect_Registration_Request_PDU, proto_x2ap));
6996 dissector_add_uint("x2ap.ies", id_CellToReport, new_create_dissector_handle(dissect_CellToReport_List_PDU, proto_x2ap));
6997 dissector_add_uint("x2ap.ies", id_ReportingPeriodicity, new_create_dissector_handle(dissect_ReportingPeriodicity_PDU, proto_x2ap));
6998 dissector_add_uint("x2ap.ies", id_CellToReport_Item, new_create_dissector_handle(dissect_CellToReport_Item_PDU, proto_x2ap));
6999 dissector_add_uint("x2ap.ies", id_CellMeasurementResult, new_create_dissector_handle(dissect_CellMeasurementResult_List_PDU, proto_x2ap));
7000 dissector_add_uint("x2ap.ies", id_CellMeasurementResult_Item, new_create_dissector_handle(dissect_CellMeasurementResult_Item_PDU, proto_x2ap));
7001 dissector_add_uint("x2ap.ies", id_GUGroupIDToAddList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
7002 dissector_add_uint("x2ap.ies", id_GUGroupIDToDeleteList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
7003 dissector_add_uint("x2ap.ies", id_SRVCCOperationPossible, new_create_dissector_handle(dissect_SRVCCOperationPossible_PDU, proto_x2ap));
7004 dissector_add_uint("x2ap.ies", id_ReportCharacteristics, new_create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_x2ap));
7005 dissector_add_uint("x2ap.ies", id_ENB1_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
7006 dissector_add_uint("x2ap.ies", id_ENB2_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
7007 dissector_add_uint("x2ap.ies", id_ENB1_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7008 dissector_add_uint("x2ap.ies", id_ENB2_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7009 dissector_add_uint("x2ap.ies", id_ENB2_Proposed_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
7010 dissector_add_uint("x2ap.ies", id_ENB1_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
7011 dissector_add_uint("x2ap.ies", id_ENB2_Mobility_Parameters_Modification_Range, new_create_dissector_handle(dissect_MobilityParametersModificationRange_PDU, proto_x2ap));
7012 dissector_add_uint("x2ap.ies", id_FailureCellPCI, new_create_dissector_handle(dissect_PCI_PDU, proto_x2ap));
7013 dissector_add_uint("x2ap.ies", id_Re_establishmentCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7014 dissector_add_uint("x2ap.ies", id_FailureCellCRNTI, new_create_dissector_handle(dissect_CRNTI_PDU, proto_x2ap));
7015 dissector_add_uint("x2ap.ies", id_ShortMAC_I, new_create_dissector_handle(dissect_ShortMAC_I_PDU, proto_x2ap));
7016 dissector_add_uint("x2ap.ies", id_SourceCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7017 dissector_add_uint("x2ap.ies", id_FailureCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7018 dissector_add_uint("x2ap.ies", id_HandoverReportType, new_create_dissector_handle(dissect_HandoverReportType_PDU, proto_x2ap));
7019 dissector_add_uint("x2ap.ies", id_UE_RLF_Report_Container, new_create_dissector_handle(dissect_UE_RLF_Report_Container_PDU, proto_x2ap));
7020 dissector_add_uint("x2ap.ies", id_ServedCellsToActivate, new_create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_x2ap));
7021 dissector_add_uint("x2ap.ies", id_ActivatedCellList, new_create_dissector_handle(dissect_ActivatedCellList_PDU, proto_x2ap));
7022 dissector_add_uint("x2ap.ies", id_PartialSuccessIndicator, new_create_dissector_handle(dissect_PartialSuccessIndicator_PDU, proto_x2ap));
7023 dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_List, new_create_dissector_handle(dissect_MeasurementInitiationResult_List_PDU, proto_x2ap));
7024 dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_Item, new_create_dissector_handle(dissect_MeasurementInitiationResult_Item_PDU, proto_x2ap));
7025 dissector_add_uint("x2ap.ies", id_MeasurementFailureCause_Item, new_create_dissector_handle(dissect_MeasurementFailureCause_Item_PDU, proto_x2ap));
7026 dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_List, new_create_dissector_handle(dissect_CompleteFailureCauseInformation_List_PDU, proto_x2ap));
7027 dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_Item, new_create_dissector_handle(dissect_CompleteFailureCauseInformation_Item_PDU, proto_x2ap));
7028 dissector_add_uint("x2ap.ies", id_CSGMembershipStatus, new_create_dissector_handle(dissect_CSGMembershipStatus_PDU, proto_x2ap));
7029 dissector_add_uint("x2ap.ies", id_RRCConnSetupIndicator, new_create_dissector_handle(dissect_RRCConnSetupIndicator_PDU, proto_x2ap));
7030 dissector_add_uint("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
7031 dissector_add_uint("x2ap.extension", id_CompositeAvailableCapacityGroup, new_create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
7032 dissector_add_uint("x2ap.extension", id_PRACH_Configuration, new_create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
7033 dissector_add_uint("x2ap.extension", id_MBSFN_Subframe_Info, new_create_dissector_handle(dissect_MBSFN_Subframe_Infolist_PDU, proto_x2ap));
7034 dissector_add_uint("x2ap.extension", id_DeactivationIndication, new_create_dissector_handle(dissect_DeactivationIndication_PDU, proto_x2ap));
7035 dissector_add_uint("x2ap.extension", id_ABSInformation, new_create_dissector_handle(dissect_ABSInformation_PDU, proto_x2ap));
7036 dissector_add_uint("x2ap.extension", id_InvokeIndication, new_create_dissector_handle(dissect_InvokeIndication_PDU, proto_x2ap));
7037 dissector_add_uint("x2ap.extension", id_ABS_Status, new_create_dissector_handle(dissect_ABS_Status_PDU, proto_x2ap));
7038 dissector_add_uint("x2ap.extension", id_CSG_Id, new_create_dissector_handle(dissect_CSG_Id_PDU, proto_x2ap));
7039 dissector_add_uint("x2ap.extension", id_MDTConfiguration, new_create_dissector_handle(dissect_MDT_Configuration_PDU, proto_x2ap));
7040 dissector_add_uint("x2ap.extension", id_ManagementBasedMDTallowed, new_create_dissector_handle(dissect_ManagementBasedMDTallowed_PDU, proto_x2ap));
7041 dissector_add_uint("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
7042 dissector_add_uint("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
7043 dissector_add_uint("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
7044 dissector_add_uint("x2ap.proc.imsg", id_snStatusTransfer, new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap));
7045 dissector_add_uint("x2ap.proc.imsg", id_uEContextRelease, new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap));
7046 dissector_add_uint("x2ap.proc.imsg", id_handoverCancel, new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap));
7047 dissector_add_uint("x2ap.proc.imsg", id_errorIndication, new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap));
7048 dissector_add_uint("x2ap.proc.imsg", id_reset, new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap));
7049 dissector_add_uint("x2ap.proc.sout", id_reset, new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap));
7050 dissector_add_uint("x2ap.proc.imsg", id_x2Setup, new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap));
7051 dissector_add_uint("x2ap.proc.sout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap));
7052 dissector_add_uint("x2ap.proc.uout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap));
7053 dissector_add_uint("x2ap.proc.imsg", id_loadIndication, new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap));
7054 dissector_add_uint("x2ap.proc.imsg", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap));
7055 dissector_add_uint("x2ap.proc.sout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap));
7056 dissector_add_uint("x2ap.proc.uout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap));
7057 dissector_add_uint("x2ap.proc.imsg", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap));
7058 dissector_add_uint("x2ap.proc.sout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap));
7059 dissector_add_uint("x2ap.proc.uout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap));
7060 dissector_add_uint("x2ap.proc.imsg", id_resourceStatusReporting, new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap));
7061 dissector_add_uint("x2ap.proc.imsg", id_privateMessage, new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap));
7062 dissector_add_uint("x2ap.proc.imsg", id_handoverReport, new_create_dissector_handle(dissect_HandoverReport_PDU, proto_x2ap));
7063 dissector_add_uint("x2ap.proc.imsg", id_rLFIndication, new_create_dissector_handle(dissect_RLFIndication_PDU, proto_x2ap));
7064 dissector_add_uint("x2ap.proc.imsg", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeRequest_PDU, proto_x2ap));
7065 dissector_add_uint("x2ap.proc.sout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeAcknowledge_PDU, proto_x2ap));
7066 dissector_add_uint("x2ap.proc.uout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeFailure_PDU, proto_x2ap));
7067 dissector_add_uint("x2ap.proc.imsg", id_cellActivation, new_create_dissector_handle(dissect_CellActivationRequest_PDU, proto_x2ap));
7068 dissector_add_uint("x2ap.proc.sout", id_cellActivation, new_create_dissector_handle(dissect_CellActivationResponse_PDU, proto_x2ap));
7069 dissector_add_uint("x2ap.proc.uout", id_cellActivation, new_create_dissector_handle(dissect_CellActivationFailure_PDU, proto_x2ap));
7072 /*--- End of included file: packet-x2ap-dis-tab.c ---*/
7073 #line 203 "../../asn1/x2ap/packet-x2ap-template.c"
7075 if (SctpPort != 0) {
7076 dissector_delete_uint("sctp.port", SctpPort, x2ap_handle);
7080 SctpPort=gbl_x2apSctpPort;
7081 if (SctpPort != 0) {
7082 dissector_add_uint("sctp.port", SctpPort, x2ap_handle);