HACK: 2nd try to match RowsetProperties
[wireshark-wip.git] / epan / dissectors / packet-x2ap.c
blob2ce583a5bbb39992be23e90ca79cedf4711f0217
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-x2ap.c */
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"
9 /* packet-x2ap.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>
15 * $Id$
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
35 * Ref:
36 * 3GPP TS 36.423 V9.2.0 (2010-03)
39 #include "config.h"
41 #include <glib.h>
42 #include <epan/packet.h>
44 #include <epan/asn1.h>
45 #include <epan/prefs.h>
46 #include <epan/sctpppids.h>
48 #include "packet-per.h"
49 #include "packet-e212.h"
50 #include "packet-lte-rrc.h"
52 #ifdef _MSC_VER
53 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
54 #pragma warning(disable:4146)
55 #endif
57 #define PNAME "EUTRAN X2 Application Protocol (X2AP)"
58 #define PSNAME "X2AP"
59 #define PFNAME "x2ap"
61 void proto_register_x2ap(void);
63 /* Dissector will use SCTP PPID 27 or SCTP port. IANA assigned port = 36422 */
64 #define SCTP_PORT_X2AP 36422
67 /*--- Included file: packet-x2ap-val.h ---*/
68 #line 1 "../../asn1/x2ap/packet-x2ap-val.h"
69 #define maxPrivateIEs 65535
70 #define maxProtocolExtensions 65535
71 #define maxProtocolIEs 65535
72 #define maxEARFCN 65535
73 #define maxInterfaces 16
74 #define maxCellineNB 256
75 #define maxnoofBearers 256
76 #define maxNrOfErrors 256
77 #define maxnoofPDCP_SN 16
78 #define maxnoofEPLMNs 15
79 #define maxnoofEPLMNsPlusOne 16
80 #define maxnoofForbLACs 4096
81 #define maxnoofForbTACs 4096
82 #define maxnoofBPLMNs 6
83 #define maxnoofNeighbours 512
84 #define maxnoofPRBs 110
85 #define maxPools 16
86 #define maxnoofCells 16
87 #define maxnoofMBSFN 8
88 #define maxFailedMeasObjects 32
89 #define maxnoofCellIDforMDT 32
90 #define maxnoofTAforMDT 8
92 typedef enum _ProcedureCode_enum {
93 id_handoverPreparation = 0,
94 id_handoverCancel = 1,
95 id_loadIndication = 2,
96 id_errorIndication = 3,
97 id_snStatusTransfer = 4,
98 id_uEContextRelease = 5,
99 id_x2Setup = 6,
100 id_reset = 7,
101 id_eNBConfigurationUpdate = 8,
102 id_resourceStatusReportingInitiation = 9,
103 id_resourceStatusReporting = 10,
104 id_privateMessage = 11,
105 id_mobilitySettingsChange = 12,
106 id_rLFIndication = 13,
107 id_handoverReport = 14,
108 id_cellActivation = 15
109 } ProcedureCode_enum;
111 typedef enum _ProtocolIE_ID_enum {
112 id_E_RABs_Admitted_Item = 0,
113 id_E_RABs_Admitted_List = 1,
114 id_E_RAB_Item = 2,
115 id_E_RABs_NotAdmitted_List = 3,
116 id_E_RABs_ToBeSetup_Item = 4,
117 id_Cause = 5,
118 id_CellInformation = 6,
119 id_CellInformation_Item = 7,
120 id_New_eNB_UE_X2AP_ID = 9,
121 id_Old_eNB_UE_X2AP_ID = 10,
122 id_TargetCell_ID = 11,
123 id_TargeteNBtoSource_eNBTransparentContainer = 12,
124 id_TraceActivation = 13,
125 id_UE_ContextInformation = 14,
126 id_UE_HistoryInformation = 15,
127 id_UE_X2AP_ID = 16,
128 id_CriticalityDiagnostics = 17,
129 id_E_RABs_SubjectToStatusTransfer_List = 18,
130 id_E_RABs_SubjectToStatusTransfer_Item = 19,
131 id_ServedCells = 20,
132 id_GlobalENB_ID = 21,
133 id_TimeToWait = 22,
134 id_GUMMEI_ID = 23,
135 id_GUGroupIDList = 24,
136 id_ServedCellsToAdd = 25,
137 id_ServedCellsToModify = 26,
138 id_ServedCellsToDelete = 27,
139 id_Registration_Request = 28,
140 id_CellToReport = 29,
141 id_ReportingPeriodicity = 30,
142 id_CellToReport_Item = 31,
143 id_CellMeasurementResult = 32,
144 id_CellMeasurementResult_Item = 33,
145 id_GUGroupIDToAddList = 34,
146 id_GUGroupIDToDeleteList = 35,
147 id_SRVCCOperationPossible = 36,
148 id_Measurement_ID = 37,
149 id_ReportCharacteristics = 38,
150 id_ENB1_Measurement_ID = 39,
151 id_ENB2_Measurement_ID = 40,
152 id_Number_of_Antennaports = 41,
153 id_CompositeAvailableCapacityGroup = 42,
154 id_ENB1_Cell_ID = 43,
155 id_ENB2_Cell_ID = 44,
156 id_ENB2_Proposed_Mobility_Parameters = 45,
157 id_ENB1_Mobility_Parameters = 46,
158 id_ENB2_Mobility_Parameters_Modification_Range = 47,
159 id_FailureCellPCI = 48,
160 id_Re_establishmentCellECGI = 49,
161 id_FailureCellCRNTI = 50,
162 id_ShortMAC_I = 51,
163 id_SourceCellECGI = 52,
164 id_FailureCellECGI = 53,
165 id_HandoverReportType = 54,
166 id_PRACH_Configuration = 55,
167 id_MBSFN_Subframe_Info = 56,
168 id_ServedCellsToActivate = 57,
169 id_ActivatedCellList = 58,
170 id_DeactivationIndication = 59,
171 id_UE_RLF_Report_Container = 60,
172 id_ABSInformation = 61,
173 id_InvokeIndication = 62,
174 id_ABS_Status = 63,
175 id_PartialSuccessIndicator = 64,
176 id_MeasurementInitiationResult_List = 65,
177 id_MeasurementInitiationResult_Item = 66,
178 id_MeasurementFailureCause_Item = 67,
179 id_CompleteFailureCauseInformation_List = 68,
180 id_CompleteFailureCauseInformation_Item = 69,
181 id_CSG_Id = 70,
182 id_CSGMembershipStatus = 71,
183 id_MDTConfiguration = 72,
184 id_ManagementBasedMDTallowed = 74,
185 id_RRCConnSetupIndicator = 75
186 } ProtocolIE_ID_enum;
188 /*--- End of included file: packet-x2ap-val.h ---*/
189 #line 59 "../../asn1/x2ap/packet-x2ap-template.c"
191 /* Initialize the protocol and registered fields */
192 static int proto_x2ap = -1;
193 static int hf_x2ap_transportLayerAddressIPv4 = -1;
194 static int hf_x2ap_transportLayerAddressIPv6 = -1;
196 /*--- Included file: packet-x2ap-hf.c ---*/
197 #line 1 "../../asn1/x2ap/packet-x2ap-hf.c"
198 static int hf_x2ap_ABSInformation_PDU = -1; /* ABSInformation */
199 static int hf_x2ap_ABS_Status_PDU = -1; /* ABS_Status */
200 static int hf_x2ap_Cause_PDU = -1; /* Cause */
201 static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */
202 static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
203 static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */
204 static int hf_x2ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */
205 static int hf_x2ap_CSG_Id_PDU = -1; /* CSG_Id */
206 static int hf_x2ap_DeactivationIndication_PDU = -1; /* DeactivationIndication */
207 static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
208 static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */
209 static int hf_x2ap_E_RAB_Item_PDU = -1; /* E_RAB_Item */
210 static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
211 static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
212 static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
213 static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */
214 static int hf_x2ap_InvokeIndication_PDU = -1; /* InvokeIndication */
215 static int hf_x2ap_MDT_Configuration_PDU = -1; /* MDT_Configuration */
216 static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */
217 static int hf_x2ap_MBSFN_Subframe_Infolist_PDU = -1; /* MBSFN_Subframe_Infolist */
218 static int hf_x2ap_ManagementBasedMDTallowed_PDU = -1; /* ManagementBasedMDTallowed */
219 static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */
220 static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */
221 static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */
222 static int hf_x2ap_PCI_PDU = -1; /* PCI */
223 static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */
224 static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
225 static int hf_x2ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */
226 static int hf_x2ap_RRCConnSetupIndicator_PDU = -1; /* RRCConnSetupIndicator */
227 static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
228 static int hf_x2ap_ShortMAC_I_PDU = -1; /* ShortMAC_I */
229 static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */
230 static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */
231 static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
232 static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */
233 static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */
234 static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */
235 static int hf_x2ap_UE_RLF_Report_Container_PDU = -1; /* UE_RLF_Report_Container */
236 static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
237 static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
238 static int hf_x2ap_E_RABs_ToBeSetup_Item_PDU = -1; /* E_RABs_ToBeSetup_Item */
239 static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
240 static int hf_x2ap_E_RABs_Admitted_List_PDU = -1; /* E_RABs_Admitted_List */
241 static int hf_x2ap_E_RABs_Admitted_Item_PDU = -1; /* E_RABs_Admitted_Item */
242 static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
243 static int hf_x2ap_HandoverReport_PDU = -1; /* HandoverReport */
244 static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
245 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU = -1; /* E_RABs_SubjectToStatusTransfer_List */
246 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU = -1; /* E_RABs_SubjectToStatusTransfer_Item */
247 static int hf_x2ap_UEContextRelease_PDU = -1; /* UEContextRelease */
248 static int hf_x2ap_HandoverCancel_PDU = -1; /* HandoverCancel */
249 static int hf_x2ap_ErrorIndication_PDU = -1; /* ErrorIndication */
250 static int hf_x2ap_ResetRequest_PDU = -1; /* ResetRequest */
251 static int hf_x2ap_ResetResponse_PDU = -1; /* ResetResponse */
252 static int hf_x2ap_X2SetupRequest_PDU = -1; /* X2SetupRequest */
253 static int hf_x2ap_X2SetupResponse_PDU = -1; /* X2SetupResponse */
254 static int hf_x2ap_X2SetupFailure_PDU = -1; /* X2SetupFailure */
255 static int hf_x2ap_LoadInformation_PDU = -1; /* LoadInformation */
256 static int hf_x2ap_CellInformation_List_PDU = -1; /* CellInformation_List */
257 static int hf_x2ap_CellInformation_Item_PDU = -1; /* CellInformation_Item */
258 static int hf_x2ap_ENBConfigurationUpdate_PDU = -1; /* ENBConfigurationUpdate */
259 static int hf_x2ap_ServedCellsToModify_PDU = -1; /* ServedCellsToModify */
260 static int hf_x2ap_Old_ECGIs_PDU = -1; /* Old_ECGIs */
261 static int hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU = -1; /* ENBConfigurationUpdateAcknowledge */
262 static int hf_x2ap_ENBConfigurationUpdateFailure_PDU = -1; /* ENBConfigurationUpdateFailure */
263 static int hf_x2ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */
264 static int hf_x2ap_CellToReport_List_PDU = -1; /* CellToReport_List */
265 static int hf_x2ap_CellToReport_Item_PDU = -1; /* CellToReport_Item */
266 static int hf_x2ap_ReportingPeriodicity_PDU = -1; /* ReportingPeriodicity */
267 static int hf_x2ap_PartialSuccessIndicator_PDU = -1; /* PartialSuccessIndicator */
268 static int hf_x2ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */
269 static int hf_x2ap_MeasurementInitiationResult_List_PDU = -1; /* MeasurementInitiationResult_List */
270 static int hf_x2ap_MeasurementInitiationResult_Item_PDU = -1; /* MeasurementInitiationResult_Item */
271 static int hf_x2ap_MeasurementFailureCause_Item_PDU = -1; /* MeasurementFailureCause_Item */
272 static int hf_x2ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */
273 static int hf_x2ap_CompleteFailureCauseInformation_List_PDU = -1; /* CompleteFailureCauseInformation_List */
274 static int hf_x2ap_CompleteFailureCauseInformation_Item_PDU = -1; /* CompleteFailureCauseInformation_Item */
275 static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
276 static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
277 static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
278 static int hf_x2ap_PrivateMessage_PDU = -1; /* PrivateMessage */
279 static int hf_x2ap_MobilityChangeRequest_PDU = -1; /* MobilityChangeRequest */
280 static int hf_x2ap_MobilityChangeAcknowledge_PDU = -1; /* MobilityChangeAcknowledge */
281 static int hf_x2ap_MobilityChangeFailure_PDU = -1; /* MobilityChangeFailure */
282 static int hf_x2ap_RLFIndication_PDU = -1; /* RLFIndication */
283 static int hf_x2ap_CellActivationRequest_PDU = -1; /* CellActivationRequest */
284 static int hf_x2ap_ServedCellsToActivate_PDU = -1; /* ServedCellsToActivate */
285 static int hf_x2ap_CellActivationResponse_PDU = -1; /* CellActivationResponse */
286 static int hf_x2ap_ActivatedCellList_PDU = -1; /* ActivatedCellList */
287 static int hf_x2ap_CellActivationFailure_PDU = -1; /* CellActivationFailure */
288 static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
289 static int hf_x2ap_local = -1; /* INTEGER_0_maxPrivateIEs */
290 static int hf_x2ap_global = -1; /* OBJECT_IDENTIFIER */
291 static int hf_x2ap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
292 static int hf_x2ap_id = -1; /* ProtocolIE_ID */
293 static int hf_x2ap_criticality = -1; /* Criticality */
294 static int hf_x2ap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
295 static int hf_x2ap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
296 static int hf_x2ap_extension_id = -1; /* ProtocolIE_ID */
297 static int hf_x2ap_extensionValue = -1; /* T_extensionValue */
298 static int hf_x2ap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
299 static int hf_x2ap_private_id = -1; /* PrivateIE_ID */
300 static int hf_x2ap_privateIE_Field_value = -1; /* PrivateIE_Field_value */
301 static int hf_x2ap_fdd = -1; /* ABSInformationFDD */
302 static int hf_x2ap_tdd = -1; /* ABSInformationTDD */
303 static int hf_x2ap_abs_inactive = -1; /* NULL */
304 static int hf_x2ap_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */
305 static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
306 static int hf_x2ap_measurement_subset = -1; /* BIT_STRING_SIZE_40 */
307 static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
308 static int hf_x2ap_abs_pattern_info_01 = -1; /* BIT_STRING_SIZE_1_70_ */
309 static int hf_x2ap_numberOfCellSpecificAntennaPorts_01 = -1; /* T_numberOfCellSpecificAntennaPorts_01 */
310 static int hf_x2ap_measurement_subset_01 = -1; /* BIT_STRING_SIZE_1_70_ */
311 static int hf_x2ap_dL_ABS_status = -1; /* DL_ABS_status */
312 static int hf_x2ap_usableABSInformation = -1; /* UsableABSInformation */
313 static int hf_x2ap_key_eNodeB_star = -1; /* Key_eNodeB_Star */
314 static int hf_x2ap_nextHopChainingCount = -1; /* NextHopChainingCount */
315 static int hf_x2ap_priorityLevel = -1; /* PriorityLevel */
316 static int hf_x2ap_pre_emptionCapability = -1; /* Pre_emptionCapability */
317 static int hf_x2ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */
318 static int hf_x2ap_cellBased = -1; /* CellBasedMDT */
319 static int hf_x2ap_tABased = -1; /* TABasedMDT */
320 static int hf_x2ap_pLMNWide = -1; /* NULL */
321 static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */
322 static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */
323 static int hf_x2ap_transport = -1; /* CauseTransport */
324 static int hf_x2ap_protocol = -1; /* CauseProtocol */
325 static int hf_x2ap_misc = -1; /* CauseMisc */
326 static int hf_x2ap_cellIdListforMDT = -1; /* CellIdListforMDT */
327 static int hf_x2ap_CellIdListforMDT_item = -1; /* ECGI */
328 static int hf_x2ap_cell_Size = -1; /* Cell_Size */
329 static int hf_x2ap_dL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
330 static int hf_x2ap_uL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
331 static int hf_x2ap_cellCapacityClassValue = -1; /* CellCapacityClassValue */
332 static int hf_x2ap_capacityValue = -1; /* CapacityValue */
333 static int hf_x2ap_pDCP_SN = -1; /* PDCP_SN */
334 static int hf_x2ap_hFN = -1; /* HFN */
335 static int hf_x2ap_procedureCode = -1; /* ProcedureCode */
336 static int hf_x2ap_triggeringMessage = -1; /* TriggeringMessage */
337 static int hf_x2ap_procedureCriticality = -1; /* Criticality */
338 static int hf_x2ap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
339 static int hf_x2ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
340 static int hf_x2ap_iECriticality = -1; /* Criticality */
341 static int hf_x2ap_iE_ID = -1; /* ProtocolIE_ID */
342 static int hf_x2ap_typeOfError = -1; /* TypeOfError */
343 static int hf_x2ap_uL_EARFCN = -1; /* EARFCN */
344 static int hf_x2ap_dL_EARFCN = -1; /* EARFCN */
345 static int hf_x2ap_uL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */
346 static int hf_x2ap_dL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */
347 static int hf_x2ap_eARFCN = -1; /* EARFCN */
348 static int hf_x2ap_transmission_Bandwidth = -1; /* Transmission_Bandwidth */
349 static int hf_x2ap_subframeAssignment = -1; /* SubframeAssignment */
350 static int hf_x2ap_specialSubframe_Info = -1; /* SpecialSubframe_Info */
351 static int hf_x2ap_fDD = -1; /* FDD_Info */
352 static int hf_x2ap_tDD = -1; /* TDD_Info */
353 static int hf_x2ap_pLMN_Identity = -1; /* PLMN_Identity */
354 static int hf_x2ap_eUTRANcellIdentifier = -1; /* EUTRANCellIdentifier */
355 static int hf_x2ap_macro_eNB_ID = -1; /* BIT_STRING_SIZE_20 */
356 static int hf_x2ap_home_eNB_ID = -1; /* BIT_STRING_SIZE_28 */
357 static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */
358 static int hf_x2ap_qCI = -1; /* QCI */
359 static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
360 static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */
361 static int hf_x2ap_E_RAB_List_item = -1; /* ProtocolIE_Single_Container */
362 static int hf_x2ap_e_RAB_ID = -1; /* E_RAB_ID */
363 static int hf_x2ap_cause = -1; /* Cause */
364 static int hf_x2ap_ForbiddenTAs_item = -1; /* ForbiddenTAs_Item */
365 static int hf_x2ap_forbiddenTACs = -1; /* ForbiddenTACs */
366 static int hf_x2ap_ForbiddenTACs_item = -1; /* TAC */
367 static int hf_x2ap_ForbiddenLAs_item = -1; /* ForbiddenLAs_Item */
368 static int hf_x2ap_forbiddenLACs = -1; /* ForbiddenLACs */
369 static int hf_x2ap_ForbiddenLACs_item = -1; /* LAC */
370 static int hf_x2ap_e_RAB_MaximumBitrateDL = -1; /* BitRate */
371 static int hf_x2ap_e_RAB_MaximumBitrateUL = -1; /* BitRate */
372 static int hf_x2ap_e_RAB_GuaranteedBitrateDL = -1; /* BitRate */
373 static int hf_x2ap_e_RAB_GuaranteedBitrateUL = -1; /* BitRate */
374 static int hf_x2ap_eNB_ID = -1; /* ENB_ID */
375 static int hf_x2ap_transportLayerAddress = -1; /* TransportLayerAddress */
376 static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */
377 static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */
378 static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */
379 static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */
380 static int hf_x2ap_mME_Code = -1; /* MME_Code */
381 static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */
382 static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */
383 static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */
384 static int hf_x2ap_forbiddenLAs = -1; /* ForbiddenLAs */
385 static int hf_x2ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */
386 static int hf_x2ap_dLHWLoadIndicator = -1; /* LoadIndicator */
387 static int hf_x2ap_uLHWLoadIndicator = -1; /* LoadIndicator */
388 static int hf_x2ap_e_UTRAN_Cell = -1; /* LastVisitedEUTRANCellInformation */
389 static int hf_x2ap_uTRAN_Cell = -1; /* LastVisitedUTRANCellInformation */
390 static int hf_x2ap_gERAN_Cell = -1; /* LastVisitedGERANCellInformation */
391 static int hf_x2ap_global_Cell_ID = -1; /* ECGI */
392 static int hf_x2ap_cellType = -1; /* CellType */
393 static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
394 static int hf_x2ap_undefined = -1; /* NULL */
395 static int hf_x2ap_eventType = -1; /* EventType */
396 static int hf_x2ap_reportArea = -1; /* ReportArea */
397 static int hf_x2ap_mdt_Activation = -1; /* MDT_Activation */
398 static int hf_x2ap_areaScopeOfMDT = -1; /* AreaScopeOfMDT */
399 static int hf_x2ap_measurementsToActivate = -1; /* MeasurementsToActivate */
400 static int hf_x2ap_reportingTriggerMDT = -1; /* ReportingTriggerMDT */
401 static int hf_x2ap_thresholdeventA2 = -1; /* ThresholdEventA2 */
402 static int hf_x2ap_periodicReportingMDT = -1; /* PeriodicReportingMDT */
403 static int hf_x2ap_threshold_RSRP = -1; /* Threshold_RSRP */
404 static int hf_x2ap_threshold_RSRQ = -1; /* Threshold_RSRQ */
405 static int hf_x2ap_MBSFN_Subframe_Infolist_item = -1; /* MBSFN_Subframe_Info */
406 static int hf_x2ap_radioframeAllocationPeriod = -1; /* RadioframeAllocationPeriod */
407 static int hf_x2ap_radioframeAllocationOffset = -1; /* RadioframeAllocationOffset */
408 static int hf_x2ap_subframeAllocation = -1; /* SubframeAllocation */
409 static int hf_x2ap_handoverTriggerChangeLowerLimit = -1; /* INTEGER_M20_20 */
410 static int hf_x2ap_handoverTriggerChangeUpperLimit = -1; /* INTEGER_M20_20 */
411 static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */
412 static int hf_x2ap_Neighbour_Information_item = -1; /* Neighbour_Information_item */
413 static int hf_x2ap_eCGI = -1; /* ECGI */
414 static int hf_x2ap_pCI = -1; /* PCI */
415 static int hf_x2ap_reportInterval = -1; /* ReportIntervalMDT */
416 static int hf_x2ap_reportAmount = -1; /* ReportAmountMDT */
417 static int hf_x2ap_rootSequenceIndex = -1; /* INTEGER_0_837 */
418 static int hf_x2ap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
419 static int hf_x2ap_highSpeedFlag = -1; /* BOOLEAN */
420 static int hf_x2ap_prach_FreqOffset = -1; /* INTEGER_0_94 */
421 static int hf_x2ap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
422 static int hf_x2ap_dL_GBR_PRB_usage = -1; /* DL_GBR_PRB_usage */
423 static int hf_x2ap_uL_GBR_PRB_usage = -1; /* UL_GBR_PRB_usage */
424 static int hf_x2ap_dL_non_GBR_PRB_usage = -1; /* DL_non_GBR_PRB_usage */
425 static int hf_x2ap_uL_non_GBR_PRB_usage = -1; /* UL_non_GBR_PRB_usage */
426 static int hf_x2ap_dL_Total_PRB_usage = -1; /* DL_Total_PRB_usage */
427 static int hf_x2ap_uL_Total_PRB_usage = -1; /* UL_Total_PRB_usage */
428 static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
429 static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
430 static int hf_x2ap_numberOfCellSpecificAntennaPorts_02 = -1; /* T_numberOfCellSpecificAntennaPorts_02 */
431 static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
432 static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
433 static int hf_x2ap_dLS1TNLLoadIndicator = -1; /* LoadIndicator */
434 static int hf_x2ap_uLS1TNLLoadIndicator = -1; /* LoadIndicator */
435 static int hf_x2ap_ServedCells_item = -1; /* ServedCells_item */
436 static int hf_x2ap_servedCellInfo = -1; /* ServedCell_Information */
437 static int hf_x2ap_neighbour_Info = -1; /* Neighbour_Information */
438 static int hf_x2ap_cellId = -1; /* ECGI */
439 static int hf_x2ap_tAC = -1; /* TAC */
440 static int hf_x2ap_broadcastPLMNs = -1; /* BroadcastPLMNs_Item */
441 static int hf_x2ap_eUTRA_Mode_Info = -1; /* EUTRA_Mode_Info */
442 static int hf_x2ap_specialSubframePatterns = -1; /* SpecialSubframePatterns */
443 static int hf_x2ap_cyclicPrefixDL = -1; /* CyclicPrefixDL */
444 static int hf_x2ap_cyclicPrefixUL = -1; /* CyclicPrefixUL */
445 static int hf_x2ap_oneframe = -1; /* Oneframe */
446 static int hf_x2ap_fourframes = -1; /* Fourframes */
447 static int hf_x2ap_tAListforMDT = -1; /* TAListforMDT */
448 static int hf_x2ap_TAListforMDT_item = -1; /* TAC */
449 static int hf_x2ap_measurementThreshold = -1; /* MeasurementThresholdA2 */
450 static int hf_x2ap_eUTRANTraceID = -1; /* EUTRANTraceID */
451 static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
452 static int hf_x2ap_traceDepth = -1; /* TraceDepth */
453 static int hf_x2ap_traceCollectionEntityIPAddress = -1; /* TraceCollectionEntityIPAddress */
454 static int hf_x2ap_UE_HistoryInformation_item = -1; /* LastVisitedCell_Item */
455 static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */
456 static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */
457 static int hf_x2ap_encryptionAlgorithms = -1; /* EncryptionAlgorithms */
458 static int hf_x2ap_integrityProtectionAlgorithms = -1; /* IntegrityProtectionAlgorithms */
459 static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_InterferenceOverloadIndication_Item */
460 static int hf_x2ap_UL_HighInterferenceIndicationInfo_item = -1; /* UL_HighInterferenceIndicationInfo_Item */
461 static int hf_x2ap_target_Cell_ID = -1; /* ECGI */
462 static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndication */
463 static int hf_x2ap_fdd_01 = -1; /* UsableABSInformationFDD */
464 static int hf_x2ap_tdd_01 = -1; /* UsableABSInformationTDD */
465 static int hf_x2ap_usable_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */
466 static int hf_x2ap_usaable_abs_pattern_info = -1; /* BIT_STRING_SIZE_1_70_ */
467 static int hf_x2ap_protocolIEs = -1; /* ProtocolIE_Container */
468 static int hf_x2ap_mME_UE_S1AP_ID = -1; /* UE_S1AP_ID */
469 static int hf_x2ap_uESecurityCapabilities = -1; /* UESecurityCapabilities */
470 static int hf_x2ap_aS_SecurityInformation = -1; /* AS_SecurityInformation */
471 static int hf_x2ap_uEaggregateMaximumBitRate = -1; /* UEAggregateMaximumBitRate */
472 static int hf_x2ap_subscriberProfileIDforRFP = -1; /* SubscriberProfileIDforRFP */
473 static int hf_x2ap_e_RABs_ToBeSetup_List = -1; /* E_RABs_ToBeSetup_List */
474 static int hf_x2ap_rRC_Context = -1; /* RRC_Context */
475 static int hf_x2ap_handoverRestrictionList = -1; /* HandoverRestrictionList */
476 static int hf_x2ap_locationReportingInformation = -1; /* LocationReportingInformation */
477 static int hf_x2ap_E_RABs_ToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
478 static int hf_x2ap_e_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */
479 static int hf_x2ap_dL_Forwarding = -1; /* DL_Forwarding */
480 static int hf_x2ap_uL_GTPtunnelEndpoint = -1; /* GTPtunnelEndpoint */
481 static int hf_x2ap_E_RABs_Admitted_List_item = -1; /* ProtocolIE_Single_Container */
482 static int hf_x2ap_uL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
483 static int hf_x2ap_dL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
484 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
485 static int hf_x2ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */
486 static int hf_x2ap_uL_COUNTvalue = -1; /* COUNTvalue */
487 static int hf_x2ap_dL_COUNTvalue = -1; /* COUNTvalue */
488 static int hf_x2ap_CellInformation_List_item = -1; /* ProtocolIE_Single_Container */
489 static int hf_x2ap_cell_ID = -1; /* ECGI */
490 static int hf_x2ap_ul_InterferenceOverloadIndication = -1; /* UL_InterferenceOverloadIndication */
491 static int hf_x2ap_ul_HighInterferenceIndicationInfo = -1; /* UL_HighInterferenceIndicationInfo */
492 static int hf_x2ap_relativeNarrowbandTxPower = -1; /* RelativeNarrowbandTxPower */
493 static int hf_x2ap_ServedCellsToModify_item = -1; /* ServedCellsToModify_Item */
494 static int hf_x2ap_old_ecgi = -1; /* ECGI */
495 static int hf_x2ap_Old_ECGIs_item = -1; /* ECGI */
496 static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container */
497 static int hf_x2ap_MeasurementInitiationResult_List_item = -1; /* ProtocolIE_Single_Container */
498 static int hf_x2ap_measurementFailureCause_List = -1; /* MeasurementFailureCause_List */
499 static int hf_x2ap_MeasurementFailureCause_List_item = -1; /* ProtocolIE_Single_Container */
500 static int hf_x2ap_measurementFailedReportCharacteristics = -1; /* ReportCharacteristics */
501 static int hf_x2ap_CompleteFailureCauseInformation_List_item = -1; /* ProtocolIE_Single_Container */
502 static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
503 static int hf_x2ap_hWLoadIndicator = -1; /* HWLoadIndicator */
504 static int hf_x2ap_s1TNLLoadIndicator = -1; /* S1TNLLoadIndicator */
505 static int hf_x2ap_radioResourceStatus = -1; /* RadioResourceStatus */
506 static int hf_x2ap_privateIEs = -1; /* PrivateIE_Container */
507 static int hf_x2ap_ServedCellsToActivate_item = -1; /* ServedCellsToActivate_Item */
508 static int hf_x2ap_ecgi = -1; /* ECGI */
509 static int hf_x2ap_ActivatedCellList_item = -1; /* ActivatedCellList_Item */
510 static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */
511 static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */
512 static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
513 static int hf_x2ap_initiatingMessage_value = -1; /* InitiatingMessage_value */
514 static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
515 static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
517 /*--- End of included file: packet-x2ap-hf.c ---*/
518 #line 65 "../../asn1/x2ap/packet-x2ap-template.c"
520 /* Initialize the subtree pointers */
521 static int ett_x2ap = -1;
522 static int ett_x2ap_TransportLayerAddress = -1;
524 /*--- Included file: packet-x2ap-ett.c ---*/
525 #line 1 "../../asn1/x2ap/packet-x2ap-ett.c"
526 static gint ett_x2ap_PrivateIE_ID = -1;
527 static gint ett_x2ap_ProtocolIE_Container = -1;
528 static gint ett_x2ap_ProtocolIE_Field = -1;
529 static gint ett_x2ap_ProtocolExtensionContainer = -1;
530 static gint ett_x2ap_ProtocolExtensionField = -1;
531 static gint ett_x2ap_PrivateIE_Container = -1;
532 static gint ett_x2ap_PrivateIE_Field = -1;
533 static gint ett_x2ap_ABSInformation = -1;
534 static gint ett_x2ap_ABSInformationFDD = -1;
535 static gint ett_x2ap_ABSInformationTDD = -1;
536 static gint ett_x2ap_ABS_Status = -1;
537 static gint ett_x2ap_AS_SecurityInformation = -1;
538 static gint ett_x2ap_AllocationAndRetentionPriority = -1;
539 static gint ett_x2ap_AreaScopeOfMDT = -1;
540 static gint ett_x2ap_BroadcastPLMNs_Item = -1;
541 static gint ett_x2ap_Cause = -1;
542 static gint ett_x2ap_CellBasedMDT = -1;
543 static gint ett_x2ap_CellIdListforMDT = -1;
544 static gint ett_x2ap_CellType = -1;
545 static gint ett_x2ap_CompositeAvailableCapacityGroup = -1;
546 static gint ett_x2ap_CompositeAvailableCapacity = -1;
547 static gint ett_x2ap_COUNTvalue = -1;
548 static gint ett_x2ap_CriticalityDiagnostics = -1;
549 static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1;
550 static gint ett_x2ap_CriticalityDiagnostics_IE_List_item = -1;
551 static gint ett_x2ap_FDD_Info = -1;
552 static gint ett_x2ap_TDD_Info = -1;
553 static gint ett_x2ap_EUTRA_Mode_Info = -1;
554 static gint ett_x2ap_ECGI = -1;
555 static gint ett_x2ap_ENB_ID = -1;
556 static gint ett_x2ap_EPLMNs = -1;
557 static gint ett_x2ap_E_RAB_Level_QoS_Parameters = -1;
558 static gint ett_x2ap_E_RAB_List = -1;
559 static gint ett_x2ap_E_RAB_Item = -1;
560 static gint ett_x2ap_ForbiddenTAs = -1;
561 static gint ett_x2ap_ForbiddenTAs_Item = -1;
562 static gint ett_x2ap_ForbiddenTACs = -1;
563 static gint ett_x2ap_ForbiddenLAs = -1;
564 static gint ett_x2ap_ForbiddenLAs_Item = -1;
565 static gint ett_x2ap_ForbiddenLACs = -1;
566 static gint ett_x2ap_GBR_QosInformation = -1;
567 static gint ett_x2ap_GlobalENB_ID = -1;
568 static gint ett_x2ap_GTPtunnelEndpoint = -1;
569 static gint ett_x2ap_GUGroupIDList = -1;
570 static gint ett_x2ap_GU_Group_ID = -1;
571 static gint ett_x2ap_GUMMEI = -1;
572 static gint ett_x2ap_HandoverRestrictionList = -1;
573 static gint ett_x2ap_HWLoadIndicator = -1;
574 static gint ett_x2ap_LastVisitedCell_Item = -1;
575 static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1;
576 static gint ett_x2ap_LastVisitedGERANCellInformation = -1;
577 static gint ett_x2ap_LocationReportingInformation = -1;
578 static gint ett_x2ap_MDT_Configuration = -1;
579 static gint ett_x2ap_MeasurementThresholdA2 = -1;
580 static gint ett_x2ap_MBSFN_Subframe_Infolist = -1;
581 static gint ett_x2ap_MBSFN_Subframe_Info = -1;
582 static gint ett_x2ap_MobilityParametersModificationRange = -1;
583 static gint ett_x2ap_MobilityParametersInformation = -1;
584 static gint ett_x2ap_Neighbour_Information = -1;
585 static gint ett_x2ap_Neighbour_Information_item = -1;
586 static gint ett_x2ap_PeriodicReportingMDT = -1;
587 static gint ett_x2ap_PRACH_Configuration = -1;
588 static gint ett_x2ap_RadioResourceStatus = -1;
589 static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
590 static gint ett_x2ap_S1TNLLoadIndicator = -1;
591 static gint ett_x2ap_ServedCells = -1;
592 static gint ett_x2ap_ServedCells_item = -1;
593 static gint ett_x2ap_ServedCell_Information = -1;
594 static gint ett_x2ap_SpecialSubframe_Info = -1;
595 static gint ett_x2ap_SubframeAllocation = -1;
596 static gint ett_x2ap_TABasedMDT = -1;
597 static gint ett_x2ap_TAListforMDT = -1;
598 static gint ett_x2ap_ThresholdEventA2 = -1;
599 static gint ett_x2ap_TraceActivation = -1;
600 static gint ett_x2ap_UE_HistoryInformation = -1;
601 static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
602 static gint ett_x2ap_UESecurityCapabilities = -1;
603 static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
604 static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
605 static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
606 static gint ett_x2ap_UsableABSInformation = -1;
607 static gint ett_x2ap_UsableABSInformationFDD = -1;
608 static gint ett_x2ap_UsableABSInformationTDD = -1;
609 static gint ett_x2ap_HandoverRequest = -1;
610 static gint ett_x2ap_UE_ContextInformation = -1;
611 static gint ett_x2ap_E_RABs_ToBeSetup_List = -1;
612 static gint ett_x2ap_E_RABs_ToBeSetup_Item = -1;
613 static gint ett_x2ap_HandoverRequestAcknowledge = -1;
614 static gint ett_x2ap_E_RABs_Admitted_List = -1;
615 static gint ett_x2ap_E_RABs_Admitted_Item = -1;
616 static gint ett_x2ap_HandoverPreparationFailure = -1;
617 static gint ett_x2ap_HandoverReport = -1;
618 static gint ett_x2ap_SNStatusTransfer = -1;
619 static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_List = -1;
620 static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_Item = -1;
621 static gint ett_x2ap_UEContextRelease = -1;
622 static gint ett_x2ap_HandoverCancel = -1;
623 static gint ett_x2ap_ErrorIndication = -1;
624 static gint ett_x2ap_ResetRequest = -1;
625 static gint ett_x2ap_ResetResponse = -1;
626 static gint ett_x2ap_X2SetupRequest = -1;
627 static gint ett_x2ap_X2SetupResponse = -1;
628 static gint ett_x2ap_X2SetupFailure = -1;
629 static gint ett_x2ap_LoadInformation = -1;
630 static gint ett_x2ap_CellInformation_List = -1;
631 static gint ett_x2ap_CellInformation_Item = -1;
632 static gint ett_x2ap_ENBConfigurationUpdate = -1;
633 static gint ett_x2ap_ServedCellsToModify = -1;
634 static gint ett_x2ap_ServedCellsToModify_Item = -1;
635 static gint ett_x2ap_Old_ECGIs = -1;
636 static gint ett_x2ap_ENBConfigurationUpdateAcknowledge = -1;
637 static gint ett_x2ap_ENBConfigurationUpdateFailure = -1;
638 static gint ett_x2ap_ResourceStatusRequest = -1;
639 static gint ett_x2ap_CellToReport_List = -1;
640 static gint ett_x2ap_CellToReport_Item = -1;
641 static gint ett_x2ap_ResourceStatusResponse = -1;
642 static gint ett_x2ap_MeasurementInitiationResult_List = -1;
643 static gint ett_x2ap_MeasurementInitiationResult_Item = -1;
644 static gint ett_x2ap_MeasurementFailureCause_List = -1;
645 static gint ett_x2ap_MeasurementFailureCause_Item = -1;
646 static gint ett_x2ap_ResourceStatusFailure = -1;
647 static gint ett_x2ap_CompleteFailureCauseInformation_List = -1;
648 static gint ett_x2ap_CompleteFailureCauseInformation_Item = -1;
649 static gint ett_x2ap_ResourceStatusUpdate = -1;
650 static gint ett_x2ap_CellMeasurementResult_List = -1;
651 static gint ett_x2ap_CellMeasurementResult_Item = -1;
652 static gint ett_x2ap_PrivateMessage = -1;
653 static gint ett_x2ap_MobilityChangeRequest = -1;
654 static gint ett_x2ap_MobilityChangeAcknowledge = -1;
655 static gint ett_x2ap_MobilityChangeFailure = -1;
656 static gint ett_x2ap_RLFIndication = -1;
657 static gint ett_x2ap_CellActivationRequest = -1;
658 static gint ett_x2ap_ServedCellsToActivate = -1;
659 static gint ett_x2ap_ServedCellsToActivate_Item = -1;
660 static gint ett_x2ap_CellActivationResponse = -1;
661 static gint ett_x2ap_ActivatedCellList = -1;
662 static gint ett_x2ap_ActivatedCellList_Item = -1;
663 static gint ett_x2ap_CellActivationFailure = -1;
664 static gint ett_x2ap_X2AP_PDU = -1;
665 static gint ett_x2ap_InitiatingMessage = -1;
666 static gint ett_x2ap_SuccessfulOutcome = -1;
667 static gint ett_x2ap_UnsuccessfulOutcome = -1;
669 /*--- End of included file: packet-x2ap-ett.c ---*/
670 #line 70 "../../asn1/x2ap/packet-x2ap-template.c"
672 /* Global variables */
673 static guint32 ProcedureCode;
674 static guint32 ProtocolIE_ID;
675 static guint gbl_x2apSctpPort=SCTP_PORT_X2AP;
677 /* Dissector tables */
678 static dissector_table_t x2ap_ies_dissector_table;
679 static dissector_table_t x2ap_extension_dissector_table;
680 static dissector_table_t x2ap_proc_imsg_dissector_table;
681 static dissector_table_t x2ap_proc_sout_dissector_table;
682 static dissector_table_t x2ap_proc_uout_dissector_table;
684 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
685 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
686 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
687 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
688 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
689 void proto_reg_handoff_x2ap(void);
692 /*--- Included file: packet-x2ap-fn.c ---*/
693 #line 1 "../../asn1/x2ap/packet-x2ap-fn.c"
695 static const value_string x2ap_Criticality_vals[] = {
696 { 0, "reject" },
697 { 1, "ignore" },
698 { 2, "notify" },
699 { 0, NULL }
703 static int
704 dissect_x2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
705 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
706 3, NULL, FALSE, 0, NULL);
708 return offset;
713 static int
714 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_) {
715 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
716 0U, maxPrivateIEs, NULL, FALSE);
718 return offset;
723 static int
724 dissect_x2ap_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
725 offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
727 return offset;
731 static const value_string x2ap_PrivateIE_ID_vals[] = {
732 { 0, "local" },
733 { 1, "global" },
734 { 0, NULL }
737 static const per_choice_t PrivateIE_ID_choice[] = {
738 { 0, &hf_x2ap_local , ASN1_NO_EXTENSIONS , dissect_x2ap_INTEGER_0_maxPrivateIEs },
739 { 1, &hf_x2ap_global , ASN1_NO_EXTENSIONS , dissect_x2ap_OBJECT_IDENTIFIER },
740 { 0, NULL, 0, NULL }
743 static int
744 dissect_x2ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
745 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
746 ett_x2ap_PrivateIE_ID, PrivateIE_ID_choice,
747 NULL);
749 return offset;
753 static const value_string x2ap_ProcedureCode_vals[] = {
754 { id_handoverPreparation, "id-handoverPreparation" },
755 { id_handoverCancel, "id-handoverCancel" },
756 { id_loadIndication, "id-loadIndication" },
757 { id_errorIndication, "id-errorIndication" },
758 { id_snStatusTransfer, "id-snStatusTransfer" },
759 { id_uEContextRelease, "id-uEContextRelease" },
760 { id_x2Setup, "id-x2Setup" },
761 { id_reset, "id-reset" },
762 { id_eNBConfigurationUpdate, "id-eNBConfigurationUpdate" },
763 { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" },
764 { id_resourceStatusReporting, "id-resourceStatusReporting" },
765 { id_privateMessage, "id-privateMessage" },
766 { id_mobilitySettingsChange, "id-mobilitySettingsChange" },
767 { id_rLFIndication, "id-rLFIndication" },
768 { id_handoverReport, "id-handoverReport" },
769 { id_cellActivation, "id-cellActivation" },
770 { 0, NULL }
774 static int
775 dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
776 #line 67 "../../asn1/x2ap/x2ap.cnf"
777 ProcedureCode = 0xFFFF;
779 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
780 0U, 255U, &ProcedureCode, FALSE);
782 #line 61 "../../asn1/x2ap/x2ap.cnf"
783 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
784 val_to_str(ProcedureCode, x2ap_ProcedureCode_vals,
785 "unknown message"));
787 return offset;
791 static const value_string x2ap_ProtocolIE_ID_vals[] = {
792 { id_E_RABs_Admitted_Item, "id-E-RABs-Admitted-Item" },
793 { id_E_RABs_Admitted_List, "id-E-RABs-Admitted-List" },
794 { id_E_RAB_Item, "id-E-RAB-Item" },
795 { id_E_RABs_NotAdmitted_List, "id-E-RABs-NotAdmitted-List" },
796 { id_E_RABs_ToBeSetup_Item, "id-E-RABs-ToBeSetup-Item" },
797 { id_Cause, "id-Cause" },
798 { id_CellInformation, "id-CellInformation" },
799 { id_CellInformation_Item, "id-CellInformation-Item" },
800 { id_New_eNB_UE_X2AP_ID, "id-New-eNB-UE-X2AP-ID" },
801 { id_Old_eNB_UE_X2AP_ID, "id-Old-eNB-UE-X2AP-ID" },
802 { id_TargetCell_ID, "id-TargetCell-ID" },
803 { id_TargeteNBtoSource_eNBTransparentContainer, "id-TargeteNBtoSource-eNBTransparentContainer" },
804 { id_TraceActivation, "id-TraceActivation" },
805 { id_UE_ContextInformation, "id-UE-ContextInformation" },
806 { id_UE_HistoryInformation, "id-UE-HistoryInformation" },
807 { id_UE_X2AP_ID, "id-UE-X2AP-ID" },
808 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
809 { id_E_RABs_SubjectToStatusTransfer_List, "id-E-RABs-SubjectToStatusTransfer-List" },
810 { id_E_RABs_SubjectToStatusTransfer_Item, "id-E-RABs-SubjectToStatusTransfer-Item" },
811 { id_ServedCells, "id-ServedCells" },
812 { id_GlobalENB_ID, "id-GlobalENB-ID" },
813 { id_TimeToWait, "id-TimeToWait" },
814 { id_GUMMEI_ID, "id-GUMMEI-ID" },
815 { id_GUGroupIDList, "id-GUGroupIDList" },
816 { id_ServedCellsToAdd, "id-ServedCellsToAdd" },
817 { id_ServedCellsToModify, "id-ServedCellsToModify" },
818 { id_ServedCellsToDelete, "id-ServedCellsToDelete" },
819 { id_Registration_Request, "id-Registration-Request" },
820 { id_CellToReport, "id-CellToReport" },
821 { id_ReportingPeriodicity, "id-ReportingPeriodicity" },
822 { id_CellToReport_Item, "id-CellToReport-Item" },
823 { id_CellMeasurementResult, "id-CellMeasurementResult" },
824 { id_CellMeasurementResult_Item, "id-CellMeasurementResult-Item" },
825 { id_GUGroupIDToAddList, "id-GUGroupIDToAddList" },
826 { id_GUGroupIDToDeleteList, "id-GUGroupIDToDeleteList" },
827 { id_SRVCCOperationPossible, "id-SRVCCOperationPossible" },
828 { id_Measurement_ID, "id-Measurement-ID" },
829 { id_ReportCharacteristics, "id-ReportCharacteristics" },
830 { id_ENB1_Measurement_ID, "id-ENB1-Measurement-ID" },
831 { id_ENB2_Measurement_ID, "id-ENB2-Measurement-ID" },
832 { id_Number_of_Antennaports, "id-Number-of-Antennaports" },
833 { id_CompositeAvailableCapacityGroup, "id-CompositeAvailableCapacityGroup" },
834 { id_ENB1_Cell_ID, "id-ENB1-Cell-ID" },
835 { id_ENB2_Cell_ID, "id-ENB2-Cell-ID" },
836 { id_ENB2_Proposed_Mobility_Parameters, "id-ENB2-Proposed-Mobility-Parameters" },
837 { id_ENB1_Mobility_Parameters, "id-ENB1-Mobility-Parameters" },
838 { id_ENB2_Mobility_Parameters_Modification_Range, "id-ENB2-Mobility-Parameters-Modification-Range" },
839 { id_FailureCellPCI, "id-FailureCellPCI" },
840 { id_Re_establishmentCellECGI, "id-Re-establishmentCellECGI" },
841 { id_FailureCellCRNTI, "id-FailureCellCRNTI" },
842 { id_ShortMAC_I, "id-ShortMAC-I" },
843 { id_SourceCellECGI, "id-SourceCellECGI" },
844 { id_FailureCellECGI, "id-FailureCellECGI" },
845 { id_HandoverReportType, "id-HandoverReportType" },
846 { id_PRACH_Configuration, "id-PRACH-Configuration" },
847 { id_MBSFN_Subframe_Info, "id-MBSFN-Subframe-Info" },
848 { id_ServedCellsToActivate, "id-ServedCellsToActivate" },
849 { id_ActivatedCellList, "id-ActivatedCellList" },
850 { id_DeactivationIndication, "id-DeactivationIndication" },
851 { id_UE_RLF_Report_Container, "id-UE-RLF-Report-Container" },
852 { id_ABSInformation, "id-ABSInformation" },
853 { id_InvokeIndication, "id-InvokeIndication" },
854 { id_ABS_Status, "id-ABS-Status" },
855 { id_PartialSuccessIndicator, "id-PartialSuccessIndicator" },
856 { id_MeasurementInitiationResult_List, "id-MeasurementInitiationResult-List" },
857 { id_MeasurementInitiationResult_Item, "id-MeasurementInitiationResult-Item" },
858 { id_MeasurementFailureCause_Item, "id-MeasurementFailureCause-Item" },
859 { id_CompleteFailureCauseInformation_List, "id-CompleteFailureCauseInformation-List" },
860 { id_CompleteFailureCauseInformation_Item, "id-CompleteFailureCauseInformation-Item" },
861 { id_CSG_Id, "id-CSG-Id" },
862 { id_CSGMembershipStatus, "id-CSGMembershipStatus" },
863 { id_MDTConfiguration, "id-MDTConfiguration" },
864 { id_ManagementBasedMDTallowed, "id-ManagementBasedMDTallowed" },
865 { id_RRCConnSetupIndicator, "id-RRCConnSetupIndicator" },
866 { 0, NULL }
870 static int
871 dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
872 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
873 0U, maxProtocolIEs, &ProtocolIE_ID, FALSE);
875 #line 50 "../../asn1/x2ap/x2ap.cnf"
876 if (tree) {
877 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)"));
880 return offset;
884 static const value_string x2ap_TriggeringMessage_vals[] = {
885 { 0, "initiating-message" },
886 { 1, "successful-outcome" },
887 { 2, "unsuccessful-outcome" },
888 { 0, NULL }
892 static int
893 dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
894 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
895 3, NULL, FALSE, 0, NULL);
897 return offset;
902 static int
903 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_) {
904 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
906 return offset;
910 static const per_sequence_t ProtocolIE_Field_sequence[] = {
911 { &hf_x2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
912 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
913 { &hf_x2ap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field_value },
914 { NULL, 0, 0, NULL }
917 static int
918 dissect_x2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
919 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
920 ett_x2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
922 return offset;
926 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
927 { &hf_x2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field },
930 static int
931 dissect_x2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
932 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
933 ett_x2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
934 0, maxProtocolIEs, FALSE);
936 return offset;
941 static int
942 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_) {
943 offset = dissect_x2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
945 return offset;
950 static int
951 dissect_x2ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
952 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
954 return offset;
958 static const per_sequence_t ProtocolExtensionField_sequence[] = {
959 { &hf_x2ap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
960 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
961 { &hf_x2ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_T_extensionValue },
962 { NULL, 0, 0, NULL }
965 static int
966 dissect_x2ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
967 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
968 ett_x2ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
970 return offset;
974 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
975 { &hf_x2ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolExtensionField },
978 static int
979 dissect_x2ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
980 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
981 ett_x2ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
982 1, maxProtocolExtensions, FALSE);
984 return offset;
989 static int
990 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_) {
991 offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
993 return offset;
997 static const per_sequence_t PrivateIE_Field_sequence[] = {
998 { &hf_x2ap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_ID },
999 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
1000 { &hf_x2ap_privateIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field_value },
1001 { NULL, 0, 0, NULL }
1004 static int
1005 dissect_x2ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1006 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1007 ett_x2ap_PrivateIE_Field, PrivateIE_Field_sequence);
1009 return offset;
1013 static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
1014 { &hf_x2ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field },
1017 static int
1018 dissect_x2ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1019 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1020 ett_x2ap_PrivateIE_Container, PrivateIE_Container_sequence_of,
1021 1, maxPrivateIEs, FALSE);
1023 return offset;
1028 static int
1029 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_) {
1030 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1031 40, 40, FALSE, NULL);
1033 return offset;
1037 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
1038 { 0, "one" },
1039 { 1, "two" },
1040 { 2, "four" },
1041 { 0, NULL }
1045 static int
1046 dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1047 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1048 3, NULL, TRUE, 0, NULL);
1050 return offset;
1054 static const per_sequence_t ABSInformationFDD_sequence[] = {
1055 { &hf_x2ap_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
1056 { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
1057 { &hf_x2ap_measurement_subset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
1058 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1059 { NULL, 0, 0, NULL }
1062 static int
1063 dissect_x2ap_ABSInformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1064 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1065 ett_x2ap_ABSInformationFDD, ABSInformationFDD_sequence);
1067 return offset;
1072 static int
1073 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_) {
1074 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1075 1, 70, TRUE, NULL);
1077 return offset;
1081 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_01_vals[] = {
1082 { 0, "one" },
1083 { 1, "two" },
1084 { 2, "four" },
1085 { 0, NULL }
1089 static int
1090 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_) {
1091 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1092 3, NULL, TRUE, 0, NULL);
1094 return offset;
1098 static const per_sequence_t ABSInformationTDD_sequence[] = {
1099 { &hf_x2ap_abs_pattern_info_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
1100 { &hf_x2ap_numberOfCellSpecificAntennaPorts_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01 },
1101 { &hf_x2ap_measurement_subset_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
1102 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1103 { NULL, 0, 0, NULL }
1106 static int
1107 dissect_x2ap_ABSInformationTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1108 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1109 ett_x2ap_ABSInformationTDD, ABSInformationTDD_sequence);
1111 return offset;
1116 static int
1117 dissect_x2ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1118 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1120 return offset;
1124 static const value_string x2ap_ABSInformation_vals[] = {
1125 { 0, "fdd" },
1126 { 1, "tdd" },
1127 { 2, "abs-inactive" },
1128 { 0, NULL }
1131 static const per_choice_t ABSInformation_choice[] = {
1132 { 0, &hf_x2ap_fdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationFDD },
1133 { 1, &hf_x2ap_tdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationTDD },
1134 { 2, &hf_x2ap_abs_inactive , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
1135 { 0, NULL, 0, NULL }
1138 static int
1139 dissect_x2ap_ABSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1140 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1141 ett_x2ap_ABSInformation, ABSInformation_choice,
1142 NULL);
1144 return offset;
1149 static int
1150 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_) {
1151 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1152 0U, 100U, NULL, FALSE);
1154 return offset;
1158 static const per_sequence_t UsableABSInformationFDD_sequence[] = {
1159 { &hf_x2ap_usable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
1160 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1161 { NULL, 0, 0, NULL }
1164 static int
1165 dissect_x2ap_UsableABSInformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1166 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1167 ett_x2ap_UsableABSInformationFDD, UsableABSInformationFDD_sequence);
1169 return offset;
1173 static const per_sequence_t UsableABSInformationTDD_sequence[] = {
1174 { &hf_x2ap_usaable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
1175 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1176 { NULL, 0, 0, NULL }
1179 static int
1180 dissect_x2ap_UsableABSInformationTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1181 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1182 ett_x2ap_UsableABSInformationTDD, UsableABSInformationTDD_sequence);
1184 return offset;
1188 static const value_string x2ap_UsableABSInformation_vals[] = {
1189 { 0, "fdd" },
1190 { 1, "tdd" },
1191 { 0, NULL }
1194 static const per_choice_t UsableABSInformation_choice[] = {
1195 { 0, &hf_x2ap_fdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationFDD },
1196 { 1, &hf_x2ap_tdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationTDD },
1197 { 0, NULL, 0, NULL }
1200 static int
1201 dissect_x2ap_UsableABSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1202 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1203 ett_x2ap_UsableABSInformation, UsableABSInformation_choice,
1204 NULL);
1206 return offset;
1210 static const per_sequence_t ABS_Status_sequence[] = {
1211 { &hf_x2ap_dL_ABS_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_ABS_status },
1212 { &hf_x2ap_usableABSInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UsableABSInformation },
1213 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1214 { NULL, 0, 0, NULL }
1217 static int
1218 dissect_x2ap_ABS_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1219 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1220 ett_x2ap_ABS_Status, ABS_Status_sequence);
1222 return offset;
1227 static int
1228 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_) {
1229 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1230 256, 256, FALSE, NULL);
1232 return offset;
1237 static int
1238 dissect_x2ap_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1239 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1240 0U, 7U, NULL, FALSE);
1242 return offset;
1246 static const per_sequence_t AS_SecurityInformation_sequence[] = {
1247 { &hf_x2ap_key_eNodeB_star, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Key_eNodeB_Star },
1248 { &hf_x2ap_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NextHopChainingCount },
1249 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1250 { NULL, 0, 0, NULL }
1253 static int
1254 dissect_x2ap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1255 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1256 ett_x2ap_AS_SecurityInformation, AS_SecurityInformation_sequence);
1258 return offset;
1262 static const value_string x2ap_PriorityLevel_vals[] = {
1263 { 0, "spare" },
1264 { 1, "highest" },
1265 { 14, "lowest" },
1266 { 15, "no-priority" },
1267 { 0, NULL }
1271 static int
1272 dissect_x2ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1273 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1274 0U, 15U, NULL, FALSE);
1276 return offset;
1280 static const value_string x2ap_Pre_emptionCapability_vals[] = {
1281 { 0, "shall-not-trigger-pre-emption" },
1282 { 1, "may-trigger-pre-emption" },
1283 { 0, NULL }
1287 static int
1288 dissect_x2ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1289 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1290 2, NULL, FALSE, 0, NULL);
1292 return offset;
1296 static const value_string x2ap_Pre_emptionVulnerability_vals[] = {
1297 { 0, "not-pre-emptable" },
1298 { 1, "pre-emptable" },
1299 { 0, NULL }
1303 static int
1304 dissect_x2ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1305 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1306 2, NULL, FALSE, 0, NULL);
1308 return offset;
1312 static const per_sequence_t AllocationAndRetentionPriority_sequence[] = {
1313 { &hf_x2ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PriorityLevel },
1314 { &hf_x2ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionCapability },
1315 { &hf_x2ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionVulnerability },
1316 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1317 { NULL, 0, 0, NULL }
1320 static int
1321 dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1322 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1323 ett_x2ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence);
1325 return offset;
1330 static int
1331 dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1332 #line 78 "../../asn1/x2ap/x2ap.cnf"
1333 tvbuff_t *parameter_tvb=NULL;
1335 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1336 3, 3, FALSE, &parameter_tvb);
1339 if(tvb_length(tvb)==0)
1340 return offset;
1342 if (!parameter_tvb)
1343 return offset;
1344 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, FALSE);
1347 return offset;
1352 static int
1353 dissect_x2ap_EUTRANCellIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1354 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1355 28, 28, FALSE, NULL);
1357 return offset;
1361 static const per_sequence_t ECGI_sequence[] = {
1362 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1363 { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
1364 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1365 { NULL, 0, 0, NULL }
1368 static int
1369 dissect_x2ap_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1370 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1371 ett_x2ap_ECGI, ECGI_sequence);
1373 return offset;
1377 static const per_sequence_t CellIdListforMDT_sequence_of[1] = {
1378 { &hf_x2ap_CellIdListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1381 static int
1382 dissect_x2ap_CellIdListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1383 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1384 ett_x2ap_CellIdListforMDT, CellIdListforMDT_sequence_of,
1385 1, maxnoofCellIDforMDT, FALSE);
1387 return offset;
1391 static const per_sequence_t CellBasedMDT_sequence[] = {
1392 { &hf_x2ap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellIdListforMDT },
1393 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1394 { NULL, 0, 0, NULL }
1397 static int
1398 dissect_x2ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1399 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1400 ett_x2ap_CellBasedMDT, CellBasedMDT_sequence);
1402 return offset;
1407 static int
1408 dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1409 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1410 2, 2, FALSE, NULL);
1412 return offset;
1416 static const per_sequence_t TAListforMDT_sequence_of[1] = {
1417 { &hf_x2ap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1420 static int
1421 dissect_x2ap_TAListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1422 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1423 ett_x2ap_TAListforMDT, TAListforMDT_sequence_of,
1424 1, maxnoofTAforMDT, FALSE);
1426 return offset;
1430 static const per_sequence_t TABasedMDT_sequence[] = {
1431 { &hf_x2ap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAListforMDT },
1432 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1433 { NULL, 0, 0, NULL }
1436 static int
1437 dissect_x2ap_TABasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1438 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1439 ett_x2ap_TABasedMDT, TABasedMDT_sequence);
1441 return offset;
1445 static const value_string x2ap_AreaScopeOfMDT_vals[] = {
1446 { 0, "cellBased" },
1447 { 1, "tABased" },
1448 { 2, "pLMNWide" },
1449 { 0, NULL }
1452 static const per_choice_t AreaScopeOfMDT_choice[] = {
1453 { 0, &hf_x2ap_cellBased , ASN1_EXTENSION_ROOT , dissect_x2ap_CellBasedMDT },
1454 { 1, &hf_x2ap_tABased , ASN1_EXTENSION_ROOT , dissect_x2ap_TABasedMDT },
1455 { 2, &hf_x2ap_pLMNWide , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
1456 { 0, NULL, 0, NULL }
1459 static int
1460 dissect_x2ap_AreaScopeOfMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1461 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1462 ett_x2ap_AreaScopeOfMDT, AreaScopeOfMDT_choice,
1463 NULL);
1465 return offset;
1470 static int
1471 dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1472 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
1473 0U, G_GINT64_CONSTANT(10000000000U), NULL, FALSE);
1475 return offset;
1479 static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = {
1480 { &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1483 static int
1484 dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1485 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1486 ett_x2ap_BroadcastPLMNs_Item, BroadcastPLMNs_Item_sequence_of,
1487 1, maxnoofBPLMNs, FALSE);
1489 return offset;
1494 static int
1495 dissect_x2ap_CapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1496 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1497 0U, 100U, NULL, FALSE);
1499 return offset;
1504 static int
1505 dissect_x2ap_CellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1506 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1507 1U, 100U, NULL, TRUE);
1509 return offset;
1513 static const value_string x2ap_CauseRadioNetwork_vals[] = {
1514 { 0, "handover-desirable-for-radio-reasons" },
1515 { 1, "time-critical-handover" },
1516 { 2, "resource-optimisation-handover" },
1517 { 3, "reduce-load-in-serving-cell" },
1518 { 4, "partial-handover" },
1519 { 5, "unknown-new-eNB-UE-X2AP-ID" },
1520 { 6, "unknown-old-eNB-UE-X2AP-ID" },
1521 { 7, "unknown-pair-of-UE-X2AP-ID" },
1522 { 8, "ho-target-not-allowed" },
1523 { 9, "tx2relocoverall-expiry" },
1524 { 10, "trelocprep-expiry" },
1525 { 11, "cell-not-available" },
1526 { 12, "no-radio-resources-available-in-target-cell" },
1527 { 13, "invalid-MME-GroupID" },
1528 { 14, "unknown-MME-Code" },
1529 { 15, "encryption-and-or-integrity-protection-algorithms-not-supported" },
1530 { 16, "reportCharacteristicsEmpty" },
1531 { 17, "noReportPeriodicity" },
1532 { 18, "existingMeasurementID" },
1533 { 19, "unknown-eNB-Measurement-ID" },
1534 { 20, "measurement-temporarily-not-available" },
1535 { 21, "unspecified" },
1536 { 22, "load-balancing" },
1537 { 23, "handover-optimisation" },
1538 { 24, "value-out-of-allowed-range" },
1539 { 25, "multiple-E-RAB-ID-instances" },
1540 { 26, "switch-off-ongoing" },
1541 { 27, "not-supported-QCI-value" },
1542 { 28, "measurement-not-supported-for-the-object" },
1543 { 0, NULL }
1547 static int
1548 dissect_x2ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1549 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1550 22, NULL, TRUE, 7, NULL);
1552 return offset;
1556 static const value_string x2ap_CauseTransport_vals[] = {
1557 { 0, "transport-resource-unavailable" },
1558 { 1, "unspecified" },
1559 { 0, NULL }
1563 static int
1564 dissect_x2ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1565 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1566 2, NULL, TRUE, 0, NULL);
1568 return offset;
1572 static const value_string x2ap_CauseProtocol_vals[] = {
1573 { 0, "transfer-syntax-error" },
1574 { 1, "abstract-syntax-error-reject" },
1575 { 2, "abstract-syntax-error-ignore-and-notify" },
1576 { 3, "message-not-compatible-with-receiver-state" },
1577 { 4, "semantic-error" },
1578 { 5, "unspecified" },
1579 { 6, "abstract-syntax-error-falsely-constructed-message" },
1580 { 0, NULL }
1584 static int
1585 dissect_x2ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1586 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1587 7, NULL, TRUE, 0, NULL);
1589 return offset;
1593 static const value_string x2ap_CauseMisc_vals[] = {
1594 { 0, "control-processing-overload" },
1595 { 1, "hardware-failure" },
1596 { 2, "om-intervention" },
1597 { 3, "not-enough-user-plane-processing-resources" },
1598 { 4, "unspecified" },
1599 { 0, NULL }
1603 static int
1604 dissect_x2ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1605 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1606 5, NULL, TRUE, 0, NULL);
1608 return offset;
1612 static const value_string x2ap_Cause_vals[] = {
1613 { 0, "radioNetwork" },
1614 { 1, "transport" },
1615 { 2, "protocol" },
1616 { 3, "misc" },
1617 { 0, NULL }
1620 static const per_choice_t Cause_choice[] = {
1621 { 0, &hf_x2ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseRadioNetwork },
1622 { 1, &hf_x2ap_transport , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseTransport },
1623 { 2, &hf_x2ap_protocol , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseProtocol },
1624 { 3, &hf_x2ap_misc , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseMisc },
1625 { 0, NULL, 0, NULL }
1628 static int
1629 dissect_x2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1630 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1631 ett_x2ap_Cause, Cause_choice,
1632 NULL);
1634 return offset;
1638 static const value_string x2ap_Cell_Size_vals[] = {
1639 { 0, "verysmall" },
1640 { 1, "small" },
1641 { 2, "medium" },
1642 { 3, "large" },
1643 { 0, NULL }
1647 static int
1648 dissect_x2ap_Cell_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1649 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1650 4, NULL, TRUE, 0, NULL);
1652 return offset;
1656 static const per_sequence_t CellType_sequence[] = {
1657 { &hf_x2ap_cell_Size , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cell_Size },
1658 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1659 { NULL, 0, 0, NULL }
1662 static int
1663 dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1664 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1665 ett_x2ap_CellType, CellType_sequence);
1667 return offset;
1671 static const per_sequence_t CompositeAvailableCapacity_sequence[] = {
1672 { &hf_x2ap_cellCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellCapacityClassValue },
1673 { &hf_x2ap_capacityValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CapacityValue },
1674 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1675 { NULL, 0, 0, NULL }
1678 static int
1679 dissect_x2ap_CompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1680 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1681 ett_x2ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence);
1683 return offset;
1687 static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = {
1688 { &hf_x2ap_dL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
1689 { &hf_x2ap_uL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
1690 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1691 { NULL, 0, 0, NULL }
1694 static int
1695 dissect_x2ap_CompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1696 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1697 ett_x2ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence);
1699 return offset;
1704 static int
1705 dissect_x2ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1706 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1707 0U, 4095U, NULL, FALSE);
1709 return offset;
1714 static int
1715 dissect_x2ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1716 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1717 0U, 1048575U, NULL, FALSE);
1719 return offset;
1723 static const per_sequence_t COUNTvalue_sequence[] = {
1724 { &hf_x2ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SN },
1725 { &hf_x2ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFN },
1726 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1727 { NULL, 0, 0, NULL }
1730 static int
1731 dissect_x2ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1732 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1733 ett_x2ap_COUNTvalue, COUNTvalue_sequence);
1735 return offset;
1739 static const value_string x2ap_TypeOfError_vals[] = {
1740 { 0, "not-understood" },
1741 { 1, "missing" },
1742 { 0, NULL }
1746 static int
1747 dissect_x2ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1748 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1749 2, NULL, TRUE, 0, NULL);
1751 return offset;
1755 static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
1756 { &hf_x2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
1757 { &hf_x2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
1758 { &hf_x2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TypeOfError },
1759 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1760 { NULL, 0, 0, NULL }
1763 static int
1764 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_) {
1765 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1766 ett_x2ap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
1768 return offset;
1772 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
1773 { &hf_x2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CriticalityDiagnostics_IE_List_item },
1776 static int
1777 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_) {
1778 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1779 ett_x2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
1780 1, maxNrOfErrors, FALSE);
1782 return offset;
1786 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
1787 { &hf_x2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProcedureCode },
1788 { &hf_x2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TriggeringMessage },
1789 { &hf_x2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Criticality },
1790 { &hf_x2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CriticalityDiagnostics_IE_List },
1791 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1792 { NULL, 0, 0, NULL }
1795 static int
1796 dissect_x2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1797 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1798 ett_x2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
1800 return offset;
1805 static int
1806 dissect_x2ap_CRNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1807 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1808 16, 16, FALSE, NULL);
1810 return offset;
1814 static const value_string x2ap_CSGMembershipStatus_vals[] = {
1815 { 0, "member" },
1816 { 1, "not-member" },
1817 { 0, NULL }
1821 static int
1822 dissect_x2ap_CSGMembershipStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1823 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1824 2, NULL, FALSE, 0, NULL);
1826 return offset;
1831 static int
1832 dissect_x2ap_CSG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1833 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1834 27, 27, FALSE, NULL);
1836 return offset;
1840 static const value_string x2ap_CyclicPrefixDL_vals[] = {
1841 { 0, "normal" },
1842 { 1, "extended" },
1843 { 0, NULL }
1847 static int
1848 dissect_x2ap_CyclicPrefixDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1849 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1850 2, NULL, TRUE, 0, NULL);
1852 return offset;
1856 static const value_string x2ap_CyclicPrefixUL_vals[] = {
1857 { 0, "normal" },
1858 { 1, "extended" },
1859 { 0, NULL }
1863 static int
1864 dissect_x2ap_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1865 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1866 2, NULL, TRUE, 0, NULL);
1868 return offset;
1872 static const value_string x2ap_DeactivationIndication_vals[] = {
1873 { 0, "deactivated" },
1874 { 0, NULL }
1878 static int
1879 dissect_x2ap_DeactivationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1880 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1881 1, NULL, TRUE, 0, NULL);
1883 return offset;
1887 static const value_string x2ap_DL_Forwarding_vals[] = {
1888 { 0, "dL-forwardingProposed" },
1889 { 0, NULL }
1893 static int
1894 dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1895 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1896 1, NULL, TRUE, 0, NULL);
1898 return offset;
1903 static int
1904 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_) {
1905 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1906 0U, 100U, NULL, FALSE);
1908 return offset;
1913 static int
1914 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_) {
1915 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1916 0U, 100U, NULL, FALSE);
1918 return offset;
1923 static int
1924 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_) {
1925 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1926 0U, 100U, NULL, FALSE);
1928 return offset;
1933 static int
1934 dissect_x2ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1935 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1936 0U, maxEARFCN, NULL, FALSE);
1938 return offset;
1942 static const value_string x2ap_Transmission_Bandwidth_vals[] = {
1943 { 0, "bw6" },
1944 { 1, "bw15" },
1945 { 2, "bw25" },
1946 { 3, "bw50" },
1947 { 4, "bw75" },
1948 { 5, "bw100" },
1949 { 0, NULL }
1953 static int
1954 dissect_x2ap_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1955 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1956 6, NULL, TRUE, 0, NULL);
1958 return offset;
1962 static const per_sequence_t FDD_Info_sequence[] = {
1963 { &hf_x2ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1964 { &hf_x2ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1965 { &hf_x2ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1966 { &hf_x2ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1967 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1968 { NULL, 0, 0, NULL }
1971 static int
1972 dissect_x2ap_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1973 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1974 ett_x2ap_FDD_Info, FDD_Info_sequence);
1976 return offset;
1980 static const value_string x2ap_SubframeAssignment_vals[] = {
1981 { 0, "sa0" },
1982 { 1, "sa1" },
1983 { 2, "sa2" },
1984 { 3, "sa3" },
1985 { 4, "sa4" },
1986 { 5, "sa5" },
1987 { 6, "sa6" },
1988 { 0, NULL }
1992 static int
1993 dissect_x2ap_SubframeAssignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1994 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1995 7, NULL, TRUE, 0, NULL);
1997 return offset;
2001 static const value_string x2ap_SpecialSubframePatterns_vals[] = {
2002 { 0, "ssp0" },
2003 { 1, "ssp1" },
2004 { 2, "ssp2" },
2005 { 3, "ssp3" },
2006 { 4, "ssp4" },
2007 { 5, "ssp5" },
2008 { 6, "ssp6" },
2009 { 7, "ssp7" },
2010 { 8, "ssp8" },
2011 { 0, NULL }
2015 static int
2016 dissect_x2ap_SpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2017 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2018 9, NULL, TRUE, 0, NULL);
2020 return offset;
2024 static const per_sequence_t SpecialSubframe_Info_sequence[] = {
2025 { &hf_x2ap_specialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframePatterns },
2026 { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL },
2027 { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL },
2028 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2029 { NULL, 0, 0, NULL }
2032 static int
2033 dissect_x2ap_SpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2034 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2035 ett_x2ap_SpecialSubframe_Info, SpecialSubframe_Info_sequence);
2037 return offset;
2041 static const per_sequence_t TDD_Info_sequence[] = {
2042 { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
2043 { &hf_x2ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
2044 { &hf_x2ap_subframeAssignment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAssignment },
2045 { &hf_x2ap_specialSubframe_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframe_Info },
2046 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2047 { NULL, 0, 0, NULL }
2050 static int
2051 dissect_x2ap_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2052 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2053 ett_x2ap_TDD_Info, TDD_Info_sequence);
2055 return offset;
2059 static const value_string x2ap_EUTRA_Mode_Info_vals[] = {
2060 { 0, "fDD" },
2061 { 1, "tDD" },
2062 { 0, NULL }
2065 static const per_choice_t EUTRA_Mode_Info_choice[] = {
2066 { 0, &hf_x2ap_fDD , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_Info },
2067 { 1, &hf_x2ap_tDD , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_Info },
2068 { 0, NULL, 0, NULL }
2071 static int
2072 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_) {
2073 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2074 ett_x2ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice,
2075 NULL);
2077 return offset;
2082 static int
2083 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_) {
2084 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2085 20, 20, FALSE, NULL);
2087 return offset;
2092 static int
2093 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_) {
2094 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2095 28, 28, FALSE, NULL);
2097 return offset;
2101 static const value_string x2ap_ENB_ID_vals[] = {
2102 { 0, "macro-eNB-ID" },
2103 { 1, "home-eNB-ID" },
2104 { 0, NULL }
2107 static const per_choice_t ENB_ID_choice[] = {
2108 { 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 },
2109 { 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 },
2110 { 0, NULL, 0, NULL }
2113 static int
2114 dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2115 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2116 ett_x2ap_ENB_ID, ENB_ID_choice,
2117 NULL);
2119 return offset;
2124 static int
2125 dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2126 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2127 16, 16, TRUE, NULL);
2129 return offset;
2133 static const per_sequence_t EPLMNs_sequence_of[1] = {
2134 { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2137 static int
2138 dissect_x2ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2139 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2140 ett_x2ap_EPLMNs, EPLMNs_sequence_of,
2141 1, maxnoofEPLMNs, FALSE);
2143 return offset;
2148 static int
2149 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_) {
2150 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2151 0U, 15U, NULL, TRUE);
2153 return offset;
2158 static int
2159 dissect_x2ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2160 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2161 0U, 255U, NULL, FALSE);
2163 return offset;
2167 static const per_sequence_t GBR_QosInformation_sequence[] = {
2168 { &hf_x2ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2169 { &hf_x2ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2170 { &hf_x2ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2171 { &hf_x2ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2172 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2173 { NULL, 0, 0, NULL }
2176 static int
2177 dissect_x2ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2178 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2179 ett_x2ap_GBR_QosInformation, GBR_QosInformation_sequence);
2181 return offset;
2185 static const per_sequence_t E_RAB_Level_QoS_Parameters_sequence[] = {
2186 { &hf_x2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_QCI },
2187 { &hf_x2ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AllocationAndRetentionPriority },
2188 { &hf_x2ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation },
2189 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2190 { NULL, 0, 0, NULL }
2193 static int
2194 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_) {
2195 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2196 ett_x2ap_E_RAB_Level_QoS_Parameters, E_RAB_Level_QoS_Parameters_sequence);
2198 return offset;
2202 static const per_sequence_t E_RAB_List_sequence_of[1] = {
2203 { &hf_x2ap_E_RAB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2206 static int
2207 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_) {
2208 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2209 ett_x2ap_E_RAB_List, E_RAB_List_sequence_of,
2210 1, maxnoofBearers, FALSE);
2212 return offset;
2216 static const per_sequence_t E_RAB_Item_sequence[] = {
2217 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
2218 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
2219 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2220 { NULL, 0, 0, NULL }
2223 static int
2224 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_) {
2225 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2226 ett_x2ap_E_RAB_Item, E_RAB_Item_sequence);
2228 return offset;
2233 static int
2234 dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2235 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2236 8, 8, FALSE, NULL);
2238 return offset;
2242 static const value_string x2ap_EventType_vals[] = {
2243 { 0, "change-of-serving-cell" },
2244 { 0, NULL }
2248 static int
2249 dissect_x2ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2250 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2251 1, NULL, TRUE, 0, NULL);
2253 return offset;
2257 static const value_string x2ap_ForbiddenInterRATs_vals[] = {
2258 { 0, "all" },
2259 { 1, "geran" },
2260 { 2, "utran" },
2261 { 3, "cdma2000" },
2262 { 4, "geranandutran" },
2263 { 5, "cdma2000andutran" },
2264 { 0, NULL }
2268 static int
2269 dissect_x2ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2270 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2271 4, NULL, TRUE, 2, NULL);
2273 return offset;
2277 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
2278 { &hf_x2ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
2281 static int
2282 dissect_x2ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2283 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2284 ett_x2ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
2285 1, maxnoofForbTACs, FALSE);
2287 return offset;
2291 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
2292 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2293 { &hf_x2ap_forbiddenTACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTACs },
2294 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2295 { NULL, 0, 0, NULL }
2298 static int
2299 dissect_x2ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2300 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2301 ett_x2ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
2303 return offset;
2307 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
2308 { &hf_x2ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTAs_Item },
2311 static int
2312 dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2313 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2314 ett_x2ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
2315 1, maxnoofEPLMNsPlusOne, FALSE);
2317 return offset;
2322 static int
2323 dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2324 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2325 2, 2, FALSE, NULL);
2327 return offset;
2331 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
2332 { &hf_x2ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LAC },
2335 static int
2336 dissect_x2ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2337 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2338 ett_x2ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
2339 1, maxnoofForbLACs, FALSE);
2341 return offset;
2345 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
2346 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2347 { &hf_x2ap_forbiddenLACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLACs },
2348 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2349 { NULL, 0, 0, NULL }
2352 static int
2353 dissect_x2ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2354 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2355 ett_x2ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
2357 return offset;
2361 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
2362 { &hf_x2ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLAs_Item },
2365 static int
2366 dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2367 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2368 ett_x2ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
2369 1, maxnoofEPLMNsPlusOne, FALSE);
2371 return offset;
2376 static int
2377 dissect_x2ap_Fourframes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2378 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2379 24, 24, FALSE, NULL);
2381 return offset;
2385 static const per_sequence_t GlobalENB_ID_sequence[] = {
2386 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2387 { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID },
2388 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2389 { NULL, 0, 0, NULL }
2392 static int
2393 dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2394 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2395 ett_x2ap_GlobalENB_ID, GlobalENB_ID_sequence);
2397 return offset;
2402 static int
2403 dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2404 #line 111 "../../asn1/x2ap/x2ap.cnf"
2405 tvbuff_t *parameter_tvb=NULL;
2406 proto_tree *subtree;
2407 gint tvb_len;
2409 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2410 1, 160, TRUE, &parameter_tvb);
2412 if (!parameter_tvb)
2413 return offset;
2414 /* Get the length */
2415 tvb_len = tvb_length(parameter_tvb);
2416 subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress);
2417 if (tvb_len==4){
2418 /* IPv4 */
2419 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, tvb_len, ENC_BIG_ENDIAN);
2421 if (tvb_len==16){
2422 /* IPv6 */
2423 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, tvb_len, ENC_NA);
2428 return offset;
2433 static int
2434 dissect_x2ap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2435 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2436 4, 4, FALSE, NULL);
2438 return offset;
2442 static const per_sequence_t GTPtunnelEndpoint_sequence[] = {
2443 { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress },
2444 { &hf_x2ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTP_TEI },
2445 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2446 { NULL, 0, 0, NULL }
2449 static int
2450 dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2451 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2452 ett_x2ap_GTPtunnelEndpoint, GTPtunnelEndpoint_sequence);
2454 return offset;
2459 static int
2460 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_) {
2461 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2462 2, 2, FALSE, NULL);
2464 return offset;
2468 static const per_sequence_t GU_Group_ID_sequence[] = {
2469 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2470 { &hf_x2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Group_ID },
2471 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2472 { NULL, 0, 0, NULL }
2475 static int
2476 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_) {
2477 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2478 ett_x2ap_GU_Group_ID, GU_Group_ID_sequence);
2480 return offset;
2484 static const per_sequence_t GUGroupIDList_sequence_of[1] = {
2485 { &hf_x2ap_GUGroupIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
2488 static int
2489 dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2490 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2491 ett_x2ap_GUGroupIDList, GUGroupIDList_sequence_of,
2492 1, maxPools, FALSE);
2494 return offset;
2499 static int
2500 dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2501 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2502 1, 1, FALSE, NULL);
2504 return offset;
2508 static const per_sequence_t GUMMEI_sequence[] = {
2509 { &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
2510 { &hf_x2ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
2511 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2512 { NULL, 0, 0, NULL }
2515 static int
2516 dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2517 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2518 ett_x2ap_GUMMEI, GUMMEI_sequence);
2520 return offset;
2524 static const value_string x2ap_HandoverReportType_vals[] = {
2525 { 0, "hoTooEarly" },
2526 { 1, "hoToWrongCell" },
2527 { 0, NULL }
2531 static int
2532 dissect_x2ap_HandoverReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2533 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2534 2, NULL, TRUE, 0, NULL);
2536 return offset;
2540 static const per_sequence_t HandoverRestrictionList_sequence[] = {
2541 { &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2542 { &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs },
2543 { &hf_x2ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenTAs },
2544 { &hf_x2ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenLAs },
2545 { &hf_x2ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenInterRATs },
2546 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2547 { NULL, 0, 0, NULL }
2550 static int
2551 dissect_x2ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2552 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2553 ett_x2ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
2555 return offset;
2559 static const value_string x2ap_LoadIndicator_vals[] = {
2560 { 0, "lowLoad" },
2561 { 1, "mediumLoad" },
2562 { 2, "highLoad" },
2563 { 3, "overLoad" },
2564 { 0, NULL }
2568 static int
2569 dissect_x2ap_LoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2570 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2571 4, NULL, TRUE, 0, NULL);
2573 return offset;
2577 static const per_sequence_t HWLoadIndicator_sequence[] = {
2578 { &hf_x2ap_dLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2579 { &hf_x2ap_uLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2580 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2581 { NULL, 0, 0, NULL }
2584 static int
2585 dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2586 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2587 ett_x2ap_HWLoadIndicator, HWLoadIndicator_sequence);
2589 return offset;
2593 static const value_string x2ap_InvokeIndication_vals[] = {
2594 { 0, "abs-information" },
2595 { 0, NULL }
2599 static int
2600 dissect_x2ap_InvokeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2601 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2602 1, NULL, TRUE, 0, NULL);
2604 return offset;
2609 static int
2610 dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2611 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2612 16, 16, TRUE, NULL);
2614 return offset;
2619 static int
2620 dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2621 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2622 8, 8, FALSE, NULL);
2624 return offset;
2629 static int
2630 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_) {
2631 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2632 0U, 4095U, NULL, FALSE);
2634 return offset;
2638 static const per_sequence_t LastVisitedEUTRANCellInformation_sequence[] = {
2639 { &hf_x2ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2640 { &hf_x2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellType },
2641 { &hf_x2ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Time_UE_StayedInCell },
2642 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2643 { NULL, 0, 0, NULL }
2646 static int
2647 dissect_x2ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2648 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2649 ett_x2ap_LastVisitedEUTRANCellInformation, LastVisitedEUTRANCellInformation_sequence);
2651 return offset;
2656 static int
2657 dissect_x2ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2658 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2659 NO_BOUND, NO_BOUND, FALSE, NULL);
2661 return offset;
2665 static const value_string x2ap_LastVisitedGERANCellInformation_vals[] = {
2666 { 0, "undefined" },
2667 { 0, NULL }
2670 static const per_choice_t LastVisitedGERANCellInformation_choice[] = {
2671 { 0, &hf_x2ap_undefined , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
2672 { 0, NULL, 0, NULL }
2675 static int
2676 dissect_x2ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2677 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2678 ett_x2ap_LastVisitedGERANCellInformation, LastVisitedGERANCellInformation_choice,
2679 NULL);
2681 return offset;
2685 static const value_string x2ap_LastVisitedCell_Item_vals[] = {
2686 { 0, "e-UTRAN-Cell" },
2687 { 1, "uTRAN-Cell" },
2688 { 2, "gERAN-Cell" },
2689 { 0, NULL }
2692 static const per_choice_t LastVisitedCell_Item_choice[] = {
2693 { 0, &hf_x2ap_e_UTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedEUTRANCellInformation },
2694 { 1, &hf_x2ap_uTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedUTRANCellInformation },
2695 { 2, &hf_x2ap_gERAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedGERANCellInformation },
2696 { 0, NULL, 0, NULL }
2699 static int
2700 dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2701 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2702 ett_x2ap_LastVisitedCell_Item, LastVisitedCell_Item_choice,
2703 NULL);
2705 return offset;
2709 static const value_string x2ap_ReportArea_vals[] = {
2710 { 0, "ecgi" },
2711 { 0, NULL }
2715 static int
2716 dissect_x2ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2717 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2718 1, NULL, TRUE, 0, NULL);
2720 return offset;
2724 static const per_sequence_t LocationReportingInformation_sequence[] = {
2725 { &hf_x2ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EventType },
2726 { &hf_x2ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportArea },
2727 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2728 { NULL, 0, 0, NULL }
2731 static int
2732 dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2733 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2734 ett_x2ap_LocationReportingInformation, LocationReportingInformation_sequence);
2736 return offset;
2740 static const value_string x2ap_MDT_Activation_vals[] = {
2741 { 0, "immediate-MDT-only" },
2742 { 1, "immediate-MDT-and-Trace" },
2743 { 0, NULL }
2747 static int
2748 dissect_x2ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2749 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2750 2, NULL, TRUE, 0, NULL);
2752 return offset;
2757 static int
2758 dissect_x2ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2759 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2760 8, 8, FALSE, NULL);
2762 return offset;
2766 static const value_string x2ap_ReportingTriggerMDT_vals[] = {
2767 { 0, "periodic" },
2768 { 1, "a2eventtriggered" },
2769 { 0, NULL }
2773 static int
2774 dissect_x2ap_ReportingTriggerMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2775 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2776 2, NULL, TRUE, 0, NULL);
2778 return offset;
2783 static int
2784 dissect_x2ap_Threshold_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2785 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2786 0U, 97U, NULL, FALSE);
2788 return offset;
2793 static int
2794 dissect_x2ap_Threshold_RSRQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2795 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2796 0U, 34U, NULL, FALSE);
2798 return offset;
2802 static const value_string x2ap_MeasurementThresholdA2_vals[] = {
2803 { 0, "threshold-RSRP" },
2804 { 1, "threshold-RSRQ" },
2805 { 0, NULL }
2808 static const per_choice_t MeasurementThresholdA2_choice[] = {
2809 { 0, &hf_x2ap_threshold_RSRP , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRP },
2810 { 1, &hf_x2ap_threshold_RSRQ , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRQ },
2811 { 0, NULL, 0, NULL }
2814 static int
2815 dissect_x2ap_MeasurementThresholdA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2816 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2817 ett_x2ap_MeasurementThresholdA2, MeasurementThresholdA2_choice,
2818 NULL);
2820 return offset;
2824 static const per_sequence_t ThresholdEventA2_sequence[] = {
2825 { &hf_x2ap_measurementThreshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementThresholdA2 },
2826 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2827 { NULL, 0, 0, NULL }
2830 static int
2831 dissect_x2ap_ThresholdEventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2832 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2833 ett_x2ap_ThresholdEventA2, ThresholdEventA2_sequence);
2835 return offset;
2839 static const value_string x2ap_ReportIntervalMDT_vals[] = {
2840 { 0, "ms120" },
2841 { 1, "ms240" },
2842 { 2, "ms480" },
2843 { 3, "ms640" },
2844 { 4, "ms1024" },
2845 { 5, "ms2048" },
2846 { 6, "ms5120" },
2847 { 7, "ms10240" },
2848 { 8, "min1" },
2849 { 9, "min6" },
2850 { 10, "min12" },
2851 { 11, "min30" },
2852 { 12, "min60" },
2853 { 0, NULL }
2857 static int
2858 dissect_x2ap_ReportIntervalMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2859 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2860 13, NULL, FALSE, 0, NULL);
2862 return offset;
2866 static const value_string x2ap_ReportAmountMDT_vals[] = {
2867 { 0, "r1" },
2868 { 1, "r2" },
2869 { 2, "r4" },
2870 { 3, "r8" },
2871 { 4, "r16" },
2872 { 5, "r32" },
2873 { 6, "r64" },
2874 { 7, "rinfinity" },
2875 { 0, NULL }
2879 static int
2880 dissect_x2ap_ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2881 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2882 8, NULL, FALSE, 0, NULL);
2884 return offset;
2888 static const per_sequence_t PeriodicReportingMDT_sequence[] = {
2889 { &hf_x2ap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportIntervalMDT },
2890 { &hf_x2ap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportAmountMDT },
2891 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2892 { NULL, 0, 0, NULL }
2895 static int
2896 dissect_x2ap_PeriodicReportingMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2897 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2898 ett_x2ap_PeriodicReportingMDT, PeriodicReportingMDT_sequence);
2900 return offset;
2904 static const per_sequence_t MDT_Configuration_sequence[] = {
2905 { &hf_x2ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MDT_Activation },
2906 { &hf_x2ap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AreaScopeOfMDT },
2907 { &hf_x2ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementsToActivate },
2908 { &hf_x2ap_reportingTriggerMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportingTriggerMDT },
2909 { &hf_x2ap_thresholdeventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ThresholdEventA2 },
2910 { &hf_x2ap_periodicReportingMDT, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PeriodicReportingMDT },
2911 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2912 { NULL, 0, 0, NULL }
2915 static int
2916 dissect_x2ap_MDT_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2917 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2918 ett_x2ap_MDT_Configuration, MDT_Configuration_sequence);
2920 return offset;
2925 static int
2926 dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2927 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2928 1U, 4095U, NULL, TRUE);
2930 return offset;
2934 static const value_string x2ap_RadioframeAllocationPeriod_vals[] = {
2935 { 0, "n1" },
2936 { 1, "n2" },
2937 { 2, "n4" },
2938 { 3, "n8" },
2939 { 4, "n16" },
2940 { 5, "n32" },
2941 { 0, NULL }
2945 static int
2946 dissect_x2ap_RadioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2947 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2948 6, NULL, TRUE, 0, NULL);
2950 return offset;
2955 static int
2956 dissect_x2ap_RadioframeAllocationOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2957 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2958 0U, 7U, NULL, TRUE);
2960 return offset;
2965 static int
2966 dissect_x2ap_Oneframe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2967 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2968 6, 6, FALSE, NULL);
2970 return offset;
2974 static const value_string x2ap_SubframeAllocation_vals[] = {
2975 { 0, "oneframe" },
2976 { 1, "fourframes" },
2977 { 0, NULL }
2980 static const per_choice_t SubframeAllocation_choice[] = {
2981 { 0, &hf_x2ap_oneframe , ASN1_EXTENSION_ROOT , dissect_x2ap_Oneframe },
2982 { 1, &hf_x2ap_fourframes , ASN1_EXTENSION_ROOT , dissect_x2ap_Fourframes },
2983 { 0, NULL, 0, NULL }
2986 static int
2987 dissect_x2ap_SubframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2988 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2989 ett_x2ap_SubframeAllocation, SubframeAllocation_choice,
2990 NULL);
2992 return offset;
2996 static const per_sequence_t MBSFN_Subframe_Info_sequence[] = {
2997 { &hf_x2ap_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationPeriod },
2998 { &hf_x2ap_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationOffset },
2999 { &hf_x2ap_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAllocation },
3000 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3001 { NULL, 0, 0, NULL }
3004 static int
3005 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_) {
3006 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3007 ett_x2ap_MBSFN_Subframe_Info, MBSFN_Subframe_Info_sequence);
3009 return offset;
3013 static const per_sequence_t MBSFN_Subframe_Infolist_sequence_of[1] = {
3014 { &hf_x2ap_MBSFN_Subframe_Infolist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_MBSFN_Subframe_Info },
3017 static int
3018 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_) {
3019 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3020 ett_x2ap_MBSFN_Subframe_Infolist, MBSFN_Subframe_Infolist_sequence_of,
3021 1, maxnoofMBSFN, FALSE);
3023 return offset;
3027 static const value_string x2ap_ManagementBasedMDTallowed_vals[] = {
3028 { 0, "allowed" },
3029 { 0, NULL }
3033 static int
3034 dissect_x2ap_ManagementBasedMDTallowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3035 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3036 1, NULL, TRUE, 0, NULL);
3038 return offset;
3043 static int
3044 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_) {
3045 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3046 -20, 20U, NULL, FALSE);
3048 return offset;
3052 static const per_sequence_t MobilityParametersModificationRange_sequence[] = {
3053 { &hf_x2ap_handoverTriggerChangeLowerLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
3054 { &hf_x2ap_handoverTriggerChangeUpperLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
3055 { NULL, 0, 0, NULL }
3058 static int
3059 dissect_x2ap_MobilityParametersModificationRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3060 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3061 ett_x2ap_MobilityParametersModificationRange, MobilityParametersModificationRange_sequence);
3063 return offset;
3067 static const per_sequence_t MobilityParametersInformation_sequence[] = {
3068 { &hf_x2ap_handoverTriggerChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
3069 { NULL, 0, 0, NULL }
3072 static int
3073 dissect_x2ap_MobilityParametersInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3074 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3075 ett_x2ap_MobilityParametersInformation, MobilityParametersInformation_sequence);
3077 return offset;
3082 static int
3083 dissect_x2ap_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3084 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3085 0U, 503U, NULL, TRUE);
3087 return offset;
3091 static const per_sequence_t Neighbour_Information_item_sequence[] = {
3092 { &hf_x2ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3093 { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI },
3094 { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
3095 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3096 { NULL, 0, 0, NULL }
3099 static int
3100 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_) {
3101 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3102 ett_x2ap_Neighbour_Information_item, Neighbour_Information_item_sequence);
3104 return offset;
3108 static const per_sequence_t Neighbour_Information_sequence_of[1] = {
3109 { &hf_x2ap_Neighbour_Information_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Neighbour_Information_item },
3112 static int
3113 dissect_x2ap_Neighbour_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3114 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3115 ett_x2ap_Neighbour_Information, Neighbour_Information_sequence_of,
3116 0, maxnoofNeighbours, FALSE);
3118 return offset;
3122 static const value_string x2ap_Number_of_Antennaports_vals[] = {
3123 { 0, "an1" },
3124 { 1, "an2" },
3125 { 2, "an4" },
3126 { 0, NULL }
3130 static int
3131 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_) {
3132 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3133 3, NULL, TRUE, 0, NULL);
3135 return offset;
3140 static int
3141 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_) {
3142 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3143 0U, 837U, NULL, FALSE);
3145 return offset;
3150 static int
3151 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_) {
3152 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3153 0U, 15U, NULL, FALSE);
3155 return offset;
3160 static int
3161 dissect_x2ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3162 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3164 return offset;
3169 static int
3170 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_) {
3171 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3172 0U, 94U, NULL, FALSE);
3174 return offset;
3179 static int
3180 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_) {
3181 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3182 0U, 63U, NULL, FALSE);
3184 return offset;
3188 static const per_sequence_t PRACH_Configuration_sequence[] = {
3189 { &hf_x2ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_837 },
3190 { &hf_x2ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15 },
3191 { &hf_x2ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BOOLEAN },
3192 { &hf_x2ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_94 },
3193 { &hf_x2ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_63 },
3194 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3195 { NULL, 0, 0, NULL }
3198 static int
3199 dissect_x2ap_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3200 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3201 ett_x2ap_PRACH_Configuration, PRACH_Configuration_sequence);
3203 return offset;
3208 static int
3209 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_) {
3210 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3211 0U, 100U, NULL, FALSE);
3213 return offset;
3218 static int
3219 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_) {
3220 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3221 0U, 100U, NULL, FALSE);
3223 return offset;
3228 static int
3229 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_) {
3230 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3231 0U, 100U, NULL, FALSE);
3233 return offset;
3237 static const per_sequence_t RadioResourceStatus_sequence[] = {
3238 { &hf_x2ap_dL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage },
3239 { &hf_x2ap_uL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage },
3240 { &hf_x2ap_dL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage },
3241 { &hf_x2ap_uL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage },
3242 { &hf_x2ap_dL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage },
3243 { &hf_x2ap_uL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage },
3244 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3245 { NULL, 0, 0, NULL }
3248 static int
3249 dissect_x2ap_RadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3250 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3251 ett_x2ap_RadioResourceStatus, RadioResourceStatus_sequence);
3253 return offset;
3258 static int
3259 dissect_x2ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3260 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3261 4096, 4096, FALSE, NULL);
3263 return offset;
3267 static const value_string x2ap_Registration_Request_vals[] = {
3268 { 0, "start" },
3269 { 1, "stop" },
3270 { 0, NULL }
3274 static int
3275 dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3276 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3277 2, NULL, TRUE, 0, NULL);
3279 return offset;
3284 static int
3285 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_) {
3286 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3287 6, 110, TRUE, NULL);
3289 return offset;
3293 static const value_string x2ap_RNTP_Threshold_vals[] = {
3294 { 0, "minusInfinity" },
3295 { 1, "minusEleven" },
3296 { 2, "minusTen" },
3297 { 3, "minusNine" },
3298 { 4, "minusEight" },
3299 { 5, "minusSeven" },
3300 { 6, "minusSix" },
3301 { 7, "minusFive" },
3302 { 8, "minusFour" },
3303 { 9, "minusThree" },
3304 { 10, "minusTwo" },
3305 { 11, "minusOne" },
3306 { 12, "zero" },
3307 { 13, "one" },
3308 { 14, "two" },
3309 { 15, "three" },
3310 { 0, NULL }
3314 static int
3315 dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3316 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3317 16, NULL, TRUE, 0, NULL);
3319 return offset;
3323 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_02_vals[] = {
3324 { 0, "one" },
3325 { 1, "two" },
3326 { 2, "four" },
3327 { 0, NULL }
3331 static int
3332 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_) {
3333 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3334 3, NULL, TRUE, 0, NULL);
3336 return offset;
3341 static int
3342 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_) {
3343 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3344 0U, 3U, NULL, TRUE);
3346 return offset;
3351 static int
3352 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_) {
3353 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3354 0U, 4U, NULL, TRUE);
3356 return offset;
3360 static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = {
3361 { &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ },
3362 { &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold },
3363 { &hf_x2ap_numberOfCellSpecificAntennaPorts_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02 },
3364 { &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ },
3365 { &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ },
3366 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3367 { NULL, 0, 0, NULL }
3370 static int
3371 dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3372 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3373 ett_x2ap_RelativeNarrowbandTxPower, RelativeNarrowbandTxPower_sequence);
3375 return offset;
3380 static int
3381 dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3382 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3383 32, 32, FALSE, NULL);
3385 return offset;
3390 static int
3391 dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3392 #line 135 "../../asn1/x2ap/x2ap.cnf"
3393 tvbuff_t *parameter_tvb=NULL;
3395 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3396 NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
3398 if (!parameter_tvb)
3399 return offset;
3400 dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, tree, NULL);
3404 return offset;
3408 static const value_string x2ap_RRCConnSetupIndicator_vals[] = {
3409 { 0, "rrcConnSetup" },
3410 { 0, NULL }
3414 static int
3415 dissect_x2ap_RRCConnSetupIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3416 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3417 1, NULL, TRUE, 0, NULL);
3419 return offset;
3423 static const per_sequence_t S1TNLLoadIndicator_sequence[] = {
3424 { &hf_x2ap_dLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
3425 { &hf_x2ap_uLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
3426 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3427 { NULL, 0, 0, NULL }
3430 static int
3431 dissect_x2ap_S1TNLLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3432 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3433 ett_x2ap_S1TNLLoadIndicator, S1TNLLoadIndicator_sequence);
3435 return offset;
3439 static const per_sequence_t ServedCell_Information_sequence[] = {
3440 { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI },
3441 { &hf_x2ap_cellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3442 { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
3443 { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item },
3444 { &hf_x2ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRA_Mode_Info },
3445 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3446 { NULL, 0, 0, NULL }
3449 static int
3450 dissect_x2ap_ServedCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3451 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3452 ett_x2ap_ServedCell_Information, ServedCell_Information_sequence);
3454 return offset;
3458 static const per_sequence_t ServedCells_item_sequence[] = {
3459 { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
3460 { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information },
3461 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3462 { NULL, 0, 0, NULL }
3465 static int
3466 dissect_x2ap_ServedCells_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3467 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3468 ett_x2ap_ServedCells_item, ServedCells_item_sequence);
3470 return offset;
3474 static const per_sequence_t ServedCells_sequence_of[1] = {
3475 { &hf_x2ap_ServedCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCells_item },
3478 static int
3479 dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3480 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3481 ett_x2ap_ServedCells, ServedCells_sequence_of,
3482 1, maxCellineNB, FALSE);
3484 return offset;
3489 static int
3490 dissect_x2ap_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3491 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3492 16, 16, FALSE, NULL);
3494 return offset;
3498 static const value_string x2ap_SRVCCOperationPossible_vals[] = {
3499 { 0, "possible" },
3500 { 0, NULL }
3504 static int
3505 dissect_x2ap_SRVCCOperationPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3506 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3507 1, NULL, TRUE, 0, NULL);
3509 return offset;
3514 static int
3515 dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3516 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3517 1U, 256U, NULL, FALSE);
3519 return offset;
3524 static int
3525 dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3526 #line 91 "../../asn1/x2ap/x2ap.cnf"
3527 tvbuff_t *parameter_tvb=NULL;
3529 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3530 NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
3532 if (!parameter_tvb)
3533 return offset;
3535 dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, tree, NULL);
3539 return offset;
3543 static const value_string x2ap_TimeToWait_vals[] = {
3544 { 0, "v1s" },
3545 { 1, "v2s" },
3546 { 2, "v5s" },
3547 { 3, "v10s" },
3548 { 4, "v20s" },
3549 { 5, "v60s" },
3550 { 0, NULL }
3554 static int
3555 dissect_x2ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3556 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3557 6, NULL, TRUE, 0, NULL);
3559 return offset;
3563 static const value_string x2ap_TraceDepth_vals[] = {
3564 { 0, "minimum" },
3565 { 1, "medium" },
3566 { 2, "maximum" },
3567 { 3, "minimumWithoutVendorSpecificExtension" },
3568 { 4, "mediumWithoutVendorSpecificExtension" },
3569 { 5, "maximumWithoutVendorSpecificExtension" },
3570 { 0, NULL }
3574 static int
3575 dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3576 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3577 6, NULL, TRUE, 0, NULL);
3579 return offset;
3584 static int
3585 dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3586 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3587 1, 160, TRUE, NULL);
3589 return offset;
3593 static const per_sequence_t TraceActivation_sequence[] = {
3594 { &hf_x2ap_eUTRANTraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANTraceID },
3595 { &hf_x2ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_InterfacesToTrace },
3596 { &hf_x2ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceDepth },
3597 { &hf_x2ap_traceCollectionEntityIPAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceCollectionEntityIPAddress },
3598 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3599 { NULL, 0, 0, NULL }
3602 static int
3603 dissect_x2ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3604 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3605 ett_x2ap_TraceActivation, TraceActivation_sequence);
3607 return offset;
3611 static const per_sequence_t UE_HistoryInformation_sequence_of[1] = {
3612 { &hf_x2ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedCell_Item },
3615 static int
3616 dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3617 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3618 ett_x2ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of,
3619 1, maxnoofCells, FALSE);
3621 return offset;
3626 static int
3627 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_) {
3628 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3629 0U, 4294967295U, NULL, FALSE);
3631 return offset;
3636 static int
3637 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_) {
3638 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3639 0U, 4095U, NULL, FALSE);
3641 return offset;
3645 static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
3646 { &hf_x2ap_uEaggregateMaximumBitRateDownlink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
3647 { &hf_x2ap_uEaggregateMaximumBitRateUplink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
3648 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3649 { NULL, 0, 0, NULL }
3652 static int
3653 dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3654 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3655 ett_x2ap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
3657 return offset;
3661 static const per_sequence_t UESecurityCapabilities_sequence[] = {
3662 { &hf_x2ap_encryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EncryptionAlgorithms },
3663 { &hf_x2ap_integrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_IntegrityProtectionAlgorithms },
3664 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3665 { NULL, 0, 0, NULL }
3668 static int
3669 dissect_x2ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3670 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3671 ett_x2ap_UESecurityCapabilities, UESecurityCapabilities_sequence);
3673 return offset;
3677 static const value_string x2ap_UL_InterferenceOverloadIndication_Item_vals[] = {
3678 { 0, "high-interference" },
3679 { 1, "medium-interference" },
3680 { 2, "low-interference" },
3681 { 0, NULL }
3685 static int
3686 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_) {
3687 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3688 3, NULL, TRUE, 0, NULL);
3690 return offset;
3694 static const per_sequence_t UL_InterferenceOverloadIndication_sequence_of[1] = {
3695 { &hf_x2ap_UL_InterferenceOverloadIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication_Item },
3698 static int
3699 dissect_x2ap_UL_InterferenceOverloadIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3700 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3701 ett_x2ap_UL_InterferenceOverloadIndication, UL_InterferenceOverloadIndication_sequence_of,
3702 1, maxnoofPRBs, FALSE);
3704 return offset;
3709 static int
3710 dissect_x2ap_UL_HighInterferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3711 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3712 1, 110, TRUE, NULL);
3714 return offset;
3718 static const per_sequence_t UL_HighInterferenceIndicationInfo_Item_sequence[] = {
3719 { &hf_x2ap_target_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3720 { &hf_x2ap_ul_interferenceindication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndication },
3721 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3722 { NULL, 0, 0, NULL }
3725 static int
3726 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_) {
3727 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3728 ett_x2ap_UL_HighInterferenceIndicationInfo_Item, UL_HighInterferenceIndicationInfo_Item_sequence);
3730 return offset;
3734 static const per_sequence_t UL_HighInterferenceIndicationInfo_sequence_of[1] = {
3735 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndicationInfo_Item },
3738 static int
3739 dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3740 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3741 ett_x2ap_UL_HighInterferenceIndicationInfo, UL_HighInterferenceIndicationInfo_sequence_of,
3742 1, maxCellineNB, FALSE);
3744 return offset;
3749 static int
3750 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_) {
3751 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3752 NO_BOUND, NO_BOUND, FALSE, NULL);
3754 return offset;
3758 static const per_sequence_t HandoverRequest_sequence[] = {
3759 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3760 { NULL, 0, 0, NULL }
3763 static int
3764 dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3765 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3766 ett_x2ap_HandoverRequest, HandoverRequest_sequence);
3768 return offset;
3772 static const per_sequence_t E_RABs_ToBeSetup_List_sequence_of[1] = {
3773 { &hf_x2ap_E_RABs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3776 static int
3777 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_) {
3778 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3779 ett_x2ap_E_RABs_ToBeSetup_List, E_RABs_ToBeSetup_List_sequence_of,
3780 1, maxnoofBearers, FALSE);
3782 return offset;
3786 static const per_sequence_t UE_ContextInformation_sequence[] = {
3787 { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID },
3788 { &hf_x2ap_uESecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UESecurityCapabilities },
3789 { &hf_x2ap_aS_SecurityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AS_SecurityInformation },
3790 { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate },
3791 { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP },
3792 { &hf_x2ap_e_RABs_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABs_ToBeSetup_List },
3793 { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context },
3794 { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList },
3795 { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation },
3796 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3797 { NULL, 0, 0, NULL }
3800 static int
3801 dissect_x2ap_UE_ContextInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3802 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3803 ett_x2ap_UE_ContextInformation, UE_ContextInformation_sequence);
3805 return offset;
3809 static const per_sequence_t E_RABs_ToBeSetup_Item_sequence[] = {
3810 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3811 { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters },
3812 { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding },
3813 { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint },
3814 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3815 { NULL, 0, 0, NULL }
3818 static int
3819 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_) {
3820 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3821 ett_x2ap_E_RABs_ToBeSetup_Item, E_RABs_ToBeSetup_Item_sequence);
3823 return offset;
3827 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
3828 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3829 { NULL, 0, 0, NULL }
3832 static int
3833 dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3834 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3835 ett_x2ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
3837 return offset;
3841 static const per_sequence_t E_RABs_Admitted_List_sequence_of[1] = {
3842 { &hf_x2ap_E_RABs_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3845 static int
3846 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_) {
3847 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3848 ett_x2ap_E_RABs_Admitted_List, E_RABs_Admitted_List_sequence_of,
3849 1, maxnoofBearers, FALSE);
3851 return offset;
3855 static const per_sequence_t E_RABs_Admitted_Item_sequence[] = {
3856 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3857 { &hf_x2ap_uL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
3858 { &hf_x2ap_dL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
3859 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3860 { NULL, 0, 0, NULL }
3863 static int
3864 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_) {
3865 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3866 ett_x2ap_E_RABs_Admitted_Item, E_RABs_Admitted_Item_sequence);
3868 return offset;
3872 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
3873 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3874 { NULL, 0, 0, NULL }
3877 static int
3878 dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3879 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3880 ett_x2ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
3882 return offset;
3886 static const per_sequence_t HandoverReport_sequence[] = {
3887 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3888 { NULL, 0, 0, NULL }
3891 static int
3892 dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3893 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3894 ett_x2ap_HandoverReport, HandoverReport_sequence);
3896 return offset;
3900 static const per_sequence_t SNStatusTransfer_sequence[] = {
3901 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3902 { NULL, 0, 0, NULL }
3905 static int
3906 dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3907 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3908 ett_x2ap_SNStatusTransfer, SNStatusTransfer_sequence);
3910 return offset;
3914 static const per_sequence_t E_RABs_SubjectToStatusTransfer_List_sequence_of[1] = {
3915 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3918 static int
3919 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_) {
3920 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3921 ett_x2ap_E_RABs_SubjectToStatusTransfer_List, E_RABs_SubjectToStatusTransfer_List_sequence_of,
3922 1, maxnoofBearers, FALSE);
3924 return offset;
3928 static const per_sequence_t E_RABs_SubjectToStatusTransfer_Item_sequence[] = {
3929 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3930 { &hf_x2ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReceiveStatusofULPDCPSDUs },
3931 { &hf_x2ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
3932 { &hf_x2ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
3933 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3934 { NULL, 0, 0, NULL }
3937 static int
3938 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_) {
3939 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3940 ett_x2ap_E_RABs_SubjectToStatusTransfer_Item, E_RABs_SubjectToStatusTransfer_Item_sequence);
3942 return offset;
3946 static const per_sequence_t UEContextRelease_sequence[] = {
3947 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3948 { NULL, 0, 0, NULL }
3951 static int
3952 dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3953 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3954 ett_x2ap_UEContextRelease, UEContextRelease_sequence);
3956 return offset;
3960 static const per_sequence_t HandoverCancel_sequence[] = {
3961 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3962 { NULL, 0, 0, NULL }
3965 static int
3966 dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3967 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3968 ett_x2ap_HandoverCancel, HandoverCancel_sequence);
3970 return offset;
3974 static const per_sequence_t ErrorIndication_sequence[] = {
3975 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3976 { NULL, 0, 0, NULL }
3979 static int
3980 dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3981 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3982 ett_x2ap_ErrorIndication, ErrorIndication_sequence);
3984 return offset;
3988 static const per_sequence_t ResetRequest_sequence[] = {
3989 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3990 { NULL, 0, 0, NULL }
3993 static int
3994 dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3995 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3996 ett_x2ap_ResetRequest, ResetRequest_sequence);
3998 return offset;
4002 static const per_sequence_t ResetResponse_sequence[] = {
4003 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4004 { NULL, 0, 0, NULL }
4007 static int
4008 dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4009 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4010 ett_x2ap_ResetResponse, ResetResponse_sequence);
4012 return offset;
4016 static const per_sequence_t X2SetupRequest_sequence[] = {
4017 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4018 { NULL, 0, 0, NULL }
4021 static int
4022 dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4023 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4024 ett_x2ap_X2SetupRequest, X2SetupRequest_sequence);
4026 return offset;
4030 static const per_sequence_t X2SetupResponse_sequence[] = {
4031 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4032 { NULL, 0, 0, NULL }
4035 static int
4036 dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4037 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4038 ett_x2ap_X2SetupResponse, X2SetupResponse_sequence);
4040 return offset;
4044 static const per_sequence_t X2SetupFailure_sequence[] = {
4045 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4046 { NULL, 0, 0, NULL }
4049 static int
4050 dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4051 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4052 ett_x2ap_X2SetupFailure, X2SetupFailure_sequence);
4054 return offset;
4058 static const per_sequence_t LoadInformation_sequence[] = {
4059 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4060 { NULL, 0, 0, NULL }
4063 static int
4064 dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4065 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4066 ett_x2ap_LoadInformation, LoadInformation_sequence);
4068 return offset;
4072 static const per_sequence_t CellInformation_List_sequence_of[1] = {
4073 { &hf_x2ap_CellInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4076 static int
4077 dissect_x2ap_CellInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4078 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4079 ett_x2ap_CellInformation_List, CellInformation_List_sequence_of,
4080 1, maxCellineNB, FALSE);
4082 return offset;
4086 static const per_sequence_t CellInformation_Item_sequence[] = {
4087 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4088 { &hf_x2ap_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_InterferenceOverloadIndication },
4089 { &hf_x2ap_ul_HighInterferenceIndicationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_HighInterferenceIndicationInfo },
4090 { &hf_x2ap_relativeNarrowbandTxPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RelativeNarrowbandTxPower },
4091 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4092 { NULL, 0, 0, NULL }
4095 static int
4096 dissect_x2ap_CellInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4097 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4098 ett_x2ap_CellInformation_Item, CellInformation_Item_sequence);
4100 return offset;
4104 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
4105 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4106 { NULL, 0, 0, NULL }
4109 static int
4110 dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4111 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4112 ett_x2ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
4114 return offset;
4118 static const per_sequence_t ServedCellsToModify_Item_sequence[] = {
4119 { &hf_x2ap_old_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4120 { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
4121 { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information },
4122 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4123 { NULL, 0, 0, NULL }
4126 static int
4127 dissect_x2ap_ServedCellsToModify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4128 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4129 ett_x2ap_ServedCellsToModify_Item, ServedCellsToModify_Item_sequence);
4131 return offset;
4135 static const per_sequence_t ServedCellsToModify_sequence_of[1] = {
4136 { &hf_x2ap_ServedCellsToModify_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToModify_Item },
4139 static int
4140 dissect_x2ap_ServedCellsToModify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4141 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4142 ett_x2ap_ServedCellsToModify, ServedCellsToModify_sequence_of,
4143 1, maxCellineNB, FALSE);
4145 return offset;
4149 static const per_sequence_t Old_ECGIs_sequence_of[1] = {
4150 { &hf_x2ap_Old_ECGIs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4153 static int
4154 dissect_x2ap_Old_ECGIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4155 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4156 ett_x2ap_Old_ECGIs, Old_ECGIs_sequence_of,
4157 1, maxCellineNB, FALSE);
4159 return offset;
4163 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
4164 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4165 { NULL, 0, 0, NULL }
4168 static int
4169 dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4170 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4171 ett_x2ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
4173 return offset;
4177 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
4178 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4179 { NULL, 0, 0, NULL }
4182 static int
4183 dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4184 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4185 ett_x2ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
4187 return offset;
4191 static const per_sequence_t ResourceStatusRequest_sequence[] = {
4192 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4193 { NULL, 0, 0, NULL }
4196 static int
4197 dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4198 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4199 ett_x2ap_ResourceStatusRequest, ResourceStatusRequest_sequence);
4201 return offset;
4205 static const per_sequence_t CellToReport_List_sequence_of[1] = {
4206 { &hf_x2ap_CellToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4209 static int
4210 dissect_x2ap_CellToReport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4211 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4212 ett_x2ap_CellToReport_List, CellToReport_List_sequence_of,
4213 1, maxCellineNB, FALSE);
4215 return offset;
4219 static const per_sequence_t CellToReport_Item_sequence[] = {
4220 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4221 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4222 { NULL, 0, 0, NULL }
4225 static int
4226 dissect_x2ap_CellToReport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4227 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4228 ett_x2ap_CellToReport_Item, CellToReport_Item_sequence);
4230 return offset;
4234 static const value_string x2ap_ReportingPeriodicity_vals[] = {
4235 { 0, "one-thousand-ms" },
4236 { 1, "two-thousand-ms" },
4237 { 2, "five-thousand-ms" },
4238 { 3, "ten-thousand-ms" },
4239 { 0, NULL }
4243 static int
4244 dissect_x2ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4245 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4246 4, NULL, TRUE, 0, NULL);
4248 return offset;
4252 static const value_string x2ap_PartialSuccessIndicator_vals[] = {
4253 { 0, "partial-success-allowed" },
4254 { 0, NULL }
4258 static int
4259 dissect_x2ap_PartialSuccessIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4260 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4261 1, NULL, TRUE, 0, NULL);
4263 return offset;
4267 static const per_sequence_t ResourceStatusResponse_sequence[] = {
4268 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4269 { NULL, 0, 0, NULL }
4272 static int
4273 dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4274 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4275 ett_x2ap_ResourceStatusResponse, ResourceStatusResponse_sequence);
4277 return offset;
4281 static const per_sequence_t MeasurementInitiationResult_List_sequence_of[1] = {
4282 { &hf_x2ap_MeasurementInitiationResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4285 static int
4286 dissect_x2ap_MeasurementInitiationResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4287 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4288 ett_x2ap_MeasurementInitiationResult_List, MeasurementInitiationResult_List_sequence_of,
4289 1, maxCellineNB, FALSE);
4291 return offset;
4295 static const per_sequence_t MeasurementFailureCause_List_sequence_of[1] = {
4296 { &hf_x2ap_MeasurementFailureCause_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4299 static int
4300 dissect_x2ap_MeasurementFailureCause_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4301 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4302 ett_x2ap_MeasurementFailureCause_List, MeasurementFailureCause_List_sequence_of,
4303 1, maxFailedMeasObjects, FALSE);
4305 return offset;
4309 static const per_sequence_t MeasurementInitiationResult_Item_sequence[] = {
4310 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4311 { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeasurementFailureCause_List },
4312 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4313 { NULL, 0, 0, NULL }
4316 static int
4317 dissect_x2ap_MeasurementInitiationResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4318 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4319 ett_x2ap_MeasurementInitiationResult_Item, MeasurementInitiationResult_Item_sequence);
4321 return offset;
4325 static const per_sequence_t MeasurementFailureCause_Item_sequence[] = {
4326 { &hf_x2ap_measurementFailedReportCharacteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportCharacteristics },
4327 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
4328 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4329 { NULL, 0, 0, NULL }
4332 static int
4333 dissect_x2ap_MeasurementFailureCause_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4334 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4335 ett_x2ap_MeasurementFailureCause_Item, MeasurementFailureCause_Item_sequence);
4337 return offset;
4341 static const per_sequence_t ResourceStatusFailure_sequence[] = {
4342 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4343 { NULL, 0, 0, NULL }
4346 static int
4347 dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4348 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4349 ett_x2ap_ResourceStatusFailure, ResourceStatusFailure_sequence);
4351 return offset;
4355 static const per_sequence_t CompleteFailureCauseInformation_List_sequence_of[1] = {
4356 { &hf_x2ap_CompleteFailureCauseInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4359 static int
4360 dissect_x2ap_CompleteFailureCauseInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4361 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4362 ett_x2ap_CompleteFailureCauseInformation_List, CompleteFailureCauseInformation_List_sequence_of,
4363 1, maxCellineNB, FALSE);
4365 return offset;
4369 static const per_sequence_t CompleteFailureCauseInformation_Item_sequence[] = {
4370 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4371 { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementFailureCause_List },
4372 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4373 { NULL, 0, 0, NULL }
4376 static int
4377 dissect_x2ap_CompleteFailureCauseInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4378 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4379 ett_x2ap_CompleteFailureCauseInformation_Item, CompleteFailureCauseInformation_Item_sequence);
4381 return offset;
4385 static const per_sequence_t ResourceStatusUpdate_sequence[] = {
4386 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4387 { NULL, 0, 0, NULL }
4390 static int
4391 dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4392 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4393 ett_x2ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence);
4395 return offset;
4399 static const per_sequence_t CellMeasurementResult_List_sequence_of[1] = {
4400 { &hf_x2ap_CellMeasurementResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
4403 static int
4404 dissect_x2ap_CellMeasurementResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4405 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4406 ett_x2ap_CellMeasurementResult_List, CellMeasurementResult_List_sequence_of,
4407 1, maxCellineNB, FALSE);
4409 return offset;
4413 static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
4414 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4415 { &hf_x2ap_hWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator },
4416 { &hf_x2ap_s1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator },
4417 { &hf_x2ap_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus },
4418 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4419 { NULL, 0, 0, NULL }
4422 static int
4423 dissect_x2ap_CellMeasurementResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4424 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4425 ett_x2ap_CellMeasurementResult_Item, CellMeasurementResult_Item_sequence);
4427 return offset;
4431 static const per_sequence_t PrivateMessage_sequence[] = {
4432 { &hf_x2ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Container },
4433 { NULL, 0, 0, NULL }
4436 static int
4437 dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4438 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4439 ett_x2ap_PrivateMessage, PrivateMessage_sequence);
4441 return offset;
4445 static const per_sequence_t MobilityChangeRequest_sequence[] = {
4446 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4447 { NULL, 0, 0, NULL }
4450 static int
4451 dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4452 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4453 ett_x2ap_MobilityChangeRequest, MobilityChangeRequest_sequence);
4455 return offset;
4459 static const per_sequence_t MobilityChangeAcknowledge_sequence[] = {
4460 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4461 { NULL, 0, 0, NULL }
4464 static int
4465 dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4466 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4467 ett_x2ap_MobilityChangeAcknowledge, MobilityChangeAcknowledge_sequence);
4469 return offset;
4473 static const per_sequence_t MobilityChangeFailure_sequence[] = {
4474 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4475 { NULL, 0, 0, NULL }
4478 static int
4479 dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4480 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4481 ett_x2ap_MobilityChangeFailure, MobilityChangeFailure_sequence);
4483 return offset;
4487 static const per_sequence_t RLFIndication_sequence[] = {
4488 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4489 { NULL, 0, 0, NULL }
4492 static int
4493 dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4494 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4495 ett_x2ap_RLFIndication, RLFIndication_sequence);
4497 return offset;
4501 static const per_sequence_t CellActivationRequest_sequence[] = {
4502 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4503 { NULL, 0, 0, NULL }
4506 static int
4507 dissect_x2ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4508 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4509 ett_x2ap_CellActivationRequest, CellActivationRequest_sequence);
4511 return offset;
4515 static const per_sequence_t ServedCellsToActivate_Item_sequence[] = {
4516 { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4517 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4518 { NULL, 0, 0, NULL }
4521 static int
4522 dissect_x2ap_ServedCellsToActivate_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4523 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4524 ett_x2ap_ServedCellsToActivate_Item, ServedCellsToActivate_Item_sequence);
4526 return offset;
4530 static const per_sequence_t ServedCellsToActivate_sequence_of[1] = {
4531 { &hf_x2ap_ServedCellsToActivate_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToActivate_Item },
4534 static int
4535 dissect_x2ap_ServedCellsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4536 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4537 ett_x2ap_ServedCellsToActivate, ServedCellsToActivate_sequence_of,
4538 1, maxCellineNB, FALSE);
4540 return offset;
4544 static const per_sequence_t CellActivationResponse_sequence[] = {
4545 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4546 { NULL, 0, 0, NULL }
4549 static int
4550 dissect_x2ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4551 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4552 ett_x2ap_CellActivationResponse, CellActivationResponse_sequence);
4554 return offset;
4558 static const per_sequence_t ActivatedCellList_Item_sequence[] = {
4559 { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
4560 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
4561 { NULL, 0, 0, NULL }
4564 static int
4565 dissect_x2ap_ActivatedCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4566 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4567 ett_x2ap_ActivatedCellList_Item, ActivatedCellList_Item_sequence);
4569 return offset;
4573 static const per_sequence_t ActivatedCellList_sequence_of[1] = {
4574 { &hf_x2ap_ActivatedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ActivatedCellList_Item },
4577 static int
4578 dissect_x2ap_ActivatedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4579 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4580 ett_x2ap_ActivatedCellList, ActivatedCellList_sequence_of,
4581 1, maxCellineNB, FALSE);
4583 return offset;
4587 static const per_sequence_t CellActivationFailure_sequence[] = {
4588 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
4589 { NULL, 0, 0, NULL }
4592 static int
4593 dissect_x2ap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4594 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4595 ett_x2ap_CellActivationFailure, CellActivationFailure_sequence);
4597 return offset;
4602 static int
4603 dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4604 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
4606 return offset;
4610 static const per_sequence_t InitiatingMessage_sequence[] = {
4611 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
4612 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
4613 { &hf_x2ap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_InitiatingMessage_value },
4614 { NULL, 0, 0, NULL }
4617 static int
4618 dissect_x2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4619 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4620 ett_x2ap_InitiatingMessage, InitiatingMessage_sequence);
4622 return offset;
4627 static int
4628 dissect_x2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4629 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
4631 return offset;
4635 static const per_sequence_t SuccessfulOutcome_sequence[] = {
4636 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
4637 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
4638 { &hf_x2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SuccessfulOutcome_value },
4639 { NULL, 0, 0, NULL }
4642 static int
4643 dissect_x2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4644 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4645 ett_x2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
4647 return offset;
4652 static int
4653 dissect_x2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4654 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
4656 return offset;
4660 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
4661 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
4662 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
4663 { &hf_x2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UnsuccessfulOutcome_value },
4664 { NULL, 0, 0, NULL }
4667 static int
4668 dissect_x2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4669 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4670 ett_x2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
4672 return offset;
4676 static const value_string x2ap_X2AP_PDU_vals[] = {
4677 { 0, "initiatingMessage" },
4678 { 1, "successfulOutcome" },
4679 { 2, "unsuccessfulOutcome" },
4680 { 0, NULL }
4683 static const per_choice_t X2AP_PDU_choice[] = {
4684 { 0, &hf_x2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_x2ap_InitiatingMessage },
4685 { 1, &hf_x2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_SuccessfulOutcome },
4686 { 2, &hf_x2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_UnsuccessfulOutcome },
4687 { 0, NULL, 0, NULL }
4690 static int
4691 dissect_x2ap_X2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4692 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4693 ett_x2ap_X2AP_PDU, X2AP_PDU_choice,
4694 NULL);
4696 return offset;
4699 /*--- PDUs ---*/
4701 static int dissect_ABSInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4702 int offset = 0;
4703 asn1_ctx_t asn1_ctx;
4704 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4705 offset = dissect_x2ap_ABSInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABSInformation_PDU);
4706 offset += 7; offset >>= 3;
4707 return offset;
4709 static int dissect_ABS_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4710 int offset = 0;
4711 asn1_ctx_t asn1_ctx;
4712 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4713 offset = dissect_x2ap_ABS_Status(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABS_Status_PDU);
4714 offset += 7; offset >>= 3;
4715 return offset;
4717 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4718 int offset = 0;
4719 asn1_ctx_t asn1_ctx;
4720 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4721 offset = dissect_x2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_x2ap_Cause_PDU);
4722 offset += 7; offset >>= 3;
4723 return offset;
4725 static int dissect_CompositeAvailableCapacityGroup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4726 int offset = 0;
4727 asn1_ctx_t asn1_ctx;
4728 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4729 offset = dissect_x2ap_CompositeAvailableCapacityGroup(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompositeAvailableCapacityGroup_PDU);
4730 offset += 7; offset >>= 3;
4731 return offset;
4733 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4734 int offset = 0;
4735 asn1_ctx_t asn1_ctx;
4736 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4737 offset = dissect_x2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_x2ap_CriticalityDiagnostics_PDU);
4738 offset += 7; offset >>= 3;
4739 return offset;
4741 static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4742 int offset = 0;
4743 asn1_ctx_t asn1_ctx;
4744 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4745 offset = dissect_x2ap_CRNTI(tvb, offset, &asn1_ctx, tree, hf_x2ap_CRNTI_PDU);
4746 offset += 7; offset >>= 3;
4747 return offset;
4749 static int dissect_CSGMembershipStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4750 int offset = 0;
4751 asn1_ctx_t asn1_ctx;
4752 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4753 offset = dissect_x2ap_CSGMembershipStatus(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSGMembershipStatus_PDU);
4754 offset += 7; offset >>= 3;
4755 return offset;
4757 static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4758 int offset = 0;
4759 asn1_ctx_t asn1_ctx;
4760 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4761 offset = dissect_x2ap_CSG_Id(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSG_Id_PDU);
4762 offset += 7; offset >>= 3;
4763 return offset;
4765 static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4766 int offset = 0;
4767 asn1_ctx_t asn1_ctx;
4768 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4769 offset = dissect_x2ap_DeactivationIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_DeactivationIndication_PDU);
4770 offset += 7; offset >>= 3;
4771 return offset;
4773 static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4774 int offset = 0;
4775 asn1_ctx_t asn1_ctx;
4776 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4777 offset = dissect_x2ap_ECGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_ECGI_PDU);
4778 offset += 7; offset >>= 3;
4779 return offset;
4781 static int dissect_E_RAB_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4782 int offset = 0;
4783 asn1_ctx_t asn1_ctx;
4784 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4785 offset = dissect_x2ap_E_RAB_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_List_PDU);
4786 offset += 7; offset >>= 3;
4787 return offset;
4789 static int dissect_E_RAB_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4790 int offset = 0;
4791 asn1_ctx_t asn1_ctx;
4792 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4793 offset = dissect_x2ap_E_RAB_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_Item_PDU);
4794 offset += 7; offset >>= 3;
4795 return offset;
4797 static int dissect_GlobalENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4798 int offset = 0;
4799 asn1_ctx_t asn1_ctx;
4800 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4801 offset = dissect_x2ap_GlobalENB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalENB_ID_PDU);
4802 offset += 7; offset >>= 3;
4803 return offset;
4805 static int dissect_GUGroupIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4806 int offset = 0;
4807 asn1_ctx_t asn1_ctx;
4808 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4809 offset = dissect_x2ap_GUGroupIDList(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUGroupIDList_PDU);
4810 offset += 7; offset >>= 3;
4811 return offset;
4813 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4814 int offset = 0;
4815 asn1_ctx_t asn1_ctx;
4816 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4817 offset = dissect_x2ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUMMEI_PDU);
4818 offset += 7; offset >>= 3;
4819 return offset;
4821 static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4822 int offset = 0;
4823 asn1_ctx_t asn1_ctx;
4824 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4825 offset = dissect_x2ap_HandoverReportType(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReportType_PDU);
4826 offset += 7; offset >>= 3;
4827 return offset;
4829 static int dissect_InvokeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4830 int offset = 0;
4831 asn1_ctx_t asn1_ctx;
4832 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4833 offset = dissect_x2ap_InvokeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_InvokeIndication_PDU);
4834 offset += 7; offset >>= 3;
4835 return offset;
4837 static int dissect_MDT_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4838 int offset = 0;
4839 asn1_ctx_t asn1_ctx;
4840 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4841 offset = dissect_x2ap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_Configuration_PDU);
4842 offset += 7; offset >>= 3;
4843 return offset;
4845 static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4846 int offset = 0;
4847 asn1_ctx_t asn1_ctx;
4848 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4849 offset = dissect_x2ap_Measurement_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_Measurement_ID_PDU);
4850 offset += 7; offset >>= 3;
4851 return offset;
4853 static int dissect_MBSFN_Subframe_Infolist_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4854 int offset = 0;
4855 asn1_ctx_t asn1_ctx;
4856 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4857 offset = dissect_x2ap_MBSFN_Subframe_Infolist(tvb, offset, &asn1_ctx, tree, hf_x2ap_MBSFN_Subframe_Infolist_PDU);
4858 offset += 7; offset >>= 3;
4859 return offset;
4861 static int dissect_ManagementBasedMDTallowed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4862 int offset = 0;
4863 asn1_ctx_t asn1_ctx;
4864 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4865 offset = dissect_x2ap_ManagementBasedMDTallowed(tvb, offset, &asn1_ctx, tree, hf_x2ap_ManagementBasedMDTallowed_PDU);
4866 offset += 7; offset >>= 3;
4867 return offset;
4869 static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4870 int offset = 0;
4871 asn1_ctx_t asn1_ctx;
4872 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4873 offset = dissect_x2ap_MobilityParametersModificationRange(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersModificationRange_PDU);
4874 offset += 7; offset >>= 3;
4875 return offset;
4877 static int dissect_MobilityParametersInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4878 int offset = 0;
4879 asn1_ctx_t asn1_ctx;
4880 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4881 offset = dissect_x2ap_MobilityParametersInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersInformation_PDU);
4882 offset += 7; offset >>= 3;
4883 return offset;
4885 static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4886 int offset = 0;
4887 asn1_ctx_t asn1_ctx;
4888 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4889 offset = dissect_x2ap_Number_of_Antennaports(tvb, offset, &asn1_ctx, tree, hf_x2ap_Number_of_Antennaports_PDU);
4890 offset += 7; offset >>= 3;
4891 return offset;
4893 static int dissect_PCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4894 int offset = 0;
4895 asn1_ctx_t asn1_ctx;
4896 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4897 offset = dissect_x2ap_PCI(tvb, offset, &asn1_ctx, tree, hf_x2ap_PCI_PDU);
4898 offset += 7; offset >>= 3;
4899 return offset;
4901 static int dissect_PRACH_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4902 int offset = 0;
4903 asn1_ctx_t asn1_ctx;
4904 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4905 offset = dissect_x2ap_PRACH_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_PRACH_Configuration_PDU);
4906 offset += 7; offset >>= 3;
4907 return offset;
4909 static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4910 int offset = 0;
4911 asn1_ctx_t asn1_ctx;
4912 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4913 offset = dissect_x2ap_Registration_Request(tvb, offset, &asn1_ctx, tree, hf_x2ap_Registration_Request_PDU);
4914 offset += 7; offset >>= 3;
4915 return offset;
4917 static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4918 int offset = 0;
4919 asn1_ctx_t asn1_ctx;
4920 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4921 offset = dissect_x2ap_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportCharacteristics_PDU);
4922 offset += 7; offset >>= 3;
4923 return offset;
4925 static int dissect_RRCConnSetupIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4926 int offset = 0;
4927 asn1_ctx_t asn1_ctx;
4928 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4929 offset = dissect_x2ap_RRCConnSetupIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCConnSetupIndicator_PDU);
4930 offset += 7; offset >>= 3;
4931 return offset;
4933 static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4934 int offset = 0;
4935 asn1_ctx_t asn1_ctx;
4936 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4937 offset = dissect_x2ap_ServedCells(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCells_PDU);
4938 offset += 7; offset >>= 3;
4939 return offset;
4941 static int dissect_ShortMAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4942 int offset = 0;
4943 asn1_ctx_t asn1_ctx;
4944 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4945 offset = dissect_x2ap_ShortMAC_I(tvb, offset, &asn1_ctx, tree, hf_x2ap_ShortMAC_I_PDU);
4946 offset += 7; offset >>= 3;
4947 return offset;
4949 static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4950 int offset = 0;
4951 asn1_ctx_t asn1_ctx;
4952 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4953 offset = dissect_x2ap_SRVCCOperationPossible(tvb, offset, &asn1_ctx, tree, hf_x2ap_SRVCCOperationPossible_PDU);
4954 offset += 7; offset >>= 3;
4955 return offset;
4957 static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4958 int offset = 0;
4959 asn1_ctx_t asn1_ctx;
4960 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4961 offset = dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU);
4962 offset += 7; offset >>= 3;
4963 return offset;
4965 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4966 int offset = 0;
4967 asn1_ctx_t asn1_ctx;
4968 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4969 offset = dissect_x2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_x2ap_TimeToWait_PDU);
4970 offset += 7; offset >>= 3;
4971 return offset;
4973 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4974 int offset = 0;
4975 asn1_ctx_t asn1_ctx;
4976 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4977 offset = dissect_x2ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceActivation_PDU);
4978 offset += 7; offset >>= 3;
4979 return offset;
4981 static int dissect_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4982 int offset = 0;
4983 asn1_ctx_t asn1_ctx;
4984 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4985 offset = dissect_x2ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformation_PDU);
4986 offset += 7; offset >>= 3;
4987 return offset;
4989 static int dissect_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4990 int offset = 0;
4991 asn1_ctx_t asn1_ctx;
4992 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4993 offset = dissect_x2ap_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_PDU);
4994 offset += 7; offset >>= 3;
4995 return offset;
4997 static int dissect_UE_RLF_Report_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4998 int offset = 0;
4999 asn1_ctx_t asn1_ctx;
5000 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5001 offset = dissect_x2ap_UE_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_RLF_Report_Container_PDU);
5002 offset += 7; offset >>= 3;
5003 return offset;
5005 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5006 int offset = 0;
5007 asn1_ctx_t asn1_ctx;
5008 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5009 offset = dissect_x2ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequest_PDU);
5010 offset += 7; offset >>= 3;
5011 return offset;
5013 static int dissect_UE_ContextInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5014 int offset = 0;
5015 asn1_ctx_t asn1_ctx;
5016 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5017 offset = dissect_x2ap_UE_ContextInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_PDU);
5018 offset += 7; offset >>= 3;
5019 return offset;
5021 static int dissect_E_RABs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5022 int offset = 0;
5023 asn1_ctx_t asn1_ctx;
5024 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5025 offset = dissect_x2ap_E_RABs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeSetup_Item_PDU);
5026 offset += 7; offset >>= 3;
5027 return offset;
5029 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5030 int offset = 0;
5031 asn1_ctx_t asn1_ctx;
5032 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5033 offset = dissect_x2ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequestAcknowledge_PDU);
5034 offset += 7; offset >>= 3;
5035 return offset;
5037 static int dissect_E_RABs_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5038 int offset = 0;
5039 asn1_ctx_t asn1_ctx;
5040 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5041 offset = dissect_x2ap_E_RABs_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_List_PDU);
5042 offset += 7; offset >>= 3;
5043 return offset;
5045 static int dissect_E_RABs_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5046 int offset = 0;
5047 asn1_ctx_t asn1_ctx;
5048 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5049 offset = dissect_x2ap_E_RABs_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_Item_PDU);
5050 offset += 7; offset >>= 3;
5051 return offset;
5053 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5054 int offset = 0;
5055 asn1_ctx_t asn1_ctx;
5056 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5057 offset = dissect_x2ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverPreparationFailure_PDU);
5058 offset += 7; offset >>= 3;
5059 return offset;
5061 static int dissect_HandoverReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5062 int offset = 0;
5063 asn1_ctx_t asn1_ctx;
5064 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5065 offset = dissect_x2ap_HandoverReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReport_PDU);
5066 offset += 7; offset >>= 3;
5067 return offset;
5069 static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5070 int offset = 0;
5071 asn1_ctx_t asn1_ctx;
5072 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5073 offset = dissect_x2ap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNStatusTransfer_PDU);
5074 offset += 7; offset >>= 3;
5075 return offset;
5077 static int dissect_E_RABs_SubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5078 int offset = 0;
5079 asn1_ctx_t asn1_ctx;
5080 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5081 offset = dissect_x2ap_E_RABs_SubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU);
5082 offset += 7; offset >>= 3;
5083 return offset;
5085 static int dissect_E_RABs_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5086 int offset = 0;
5087 asn1_ctx_t asn1_ctx;
5088 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5089 offset = dissect_x2ap_E_RABs_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU);
5090 offset += 7; offset >>= 3;
5091 return offset;
5093 static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5094 int offset = 0;
5095 asn1_ctx_t asn1_ctx;
5096 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5097 offset = dissect_x2ap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEContextRelease_PDU);
5098 offset += 7; offset >>= 3;
5099 return offset;
5101 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5102 int offset = 0;
5103 asn1_ctx_t asn1_ctx;
5104 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5105 offset = dissect_x2ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverCancel_PDU);
5106 offset += 7; offset >>= 3;
5107 return offset;
5109 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5110 int offset = 0;
5111 asn1_ctx_t asn1_ctx;
5112 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5113 offset = dissect_x2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_ErrorIndication_PDU);
5114 offset += 7; offset >>= 3;
5115 return offset;
5117 static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5118 int offset = 0;
5119 asn1_ctx_t asn1_ctx;
5120 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5121 offset = dissect_x2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetRequest_PDU);
5122 offset += 7; offset >>= 3;
5123 return offset;
5125 static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5126 int offset = 0;
5127 asn1_ctx_t asn1_ctx;
5128 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5129 offset = dissect_x2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetResponse_PDU);
5130 offset += 7; offset >>= 3;
5131 return offset;
5133 static int dissect_X2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5134 int offset = 0;
5135 asn1_ctx_t asn1_ctx;
5136 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5137 offset = dissect_x2ap_X2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupRequest_PDU);
5138 offset += 7; offset >>= 3;
5139 return offset;
5141 static int dissect_X2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5142 int offset = 0;
5143 asn1_ctx_t asn1_ctx;
5144 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5145 offset = dissect_x2ap_X2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupResponse_PDU);
5146 offset += 7; offset >>= 3;
5147 return offset;
5149 static int dissect_X2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5150 int offset = 0;
5151 asn1_ctx_t asn1_ctx;
5152 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5153 offset = dissect_x2ap_X2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupFailure_PDU);
5154 offset += 7; offset >>= 3;
5155 return offset;
5157 static int dissect_LoadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5158 int offset = 0;
5159 asn1_ctx_t asn1_ctx;
5160 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5161 offset = dissect_x2ap_LoadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_LoadInformation_PDU);
5162 offset += 7; offset >>= 3;
5163 return offset;
5165 static int dissect_CellInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5166 int offset = 0;
5167 asn1_ctx_t asn1_ctx;
5168 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5169 offset = dissect_x2ap_CellInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_List_PDU);
5170 offset += 7; offset >>= 3;
5171 return offset;
5173 static int dissect_CellInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5174 int offset = 0;
5175 asn1_ctx_t asn1_ctx;
5176 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5177 offset = dissect_x2ap_CellInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_Item_PDU);
5178 offset += 7; offset >>= 3;
5179 return offset;
5181 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5182 int offset = 0;
5183 asn1_ctx_t asn1_ctx;
5184 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5185 offset = dissect_x2ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdate_PDU);
5186 offset += 7; offset >>= 3;
5187 return offset;
5189 static int dissect_ServedCellsToModify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5190 int offset = 0;
5191 asn1_ctx_t asn1_ctx;
5192 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5193 offset = dissect_x2ap_ServedCellsToModify(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToModify_PDU);
5194 offset += 7; offset >>= 3;
5195 return offset;
5197 static int dissect_Old_ECGIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5198 int offset = 0;
5199 asn1_ctx_t asn1_ctx;
5200 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5201 offset = dissect_x2ap_Old_ECGIs(tvb, offset, &asn1_ctx, tree, hf_x2ap_Old_ECGIs_PDU);
5202 offset += 7; offset >>= 3;
5203 return offset;
5205 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5206 int offset = 0;
5207 asn1_ctx_t asn1_ctx;
5208 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5209 offset = dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU);
5210 offset += 7; offset >>= 3;
5211 return offset;
5213 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5214 int offset = 0;
5215 asn1_ctx_t asn1_ctx;
5216 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5217 offset = dissect_x2ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateFailure_PDU);
5218 offset += 7; offset >>= 3;
5219 return offset;
5221 static int dissect_ResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5222 int offset = 0;
5223 asn1_ctx_t asn1_ctx;
5224 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5225 offset = dissect_x2ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusRequest_PDU);
5226 offset += 7; offset >>= 3;
5227 return offset;
5229 static int dissect_CellToReport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5230 int offset = 0;
5231 asn1_ctx_t asn1_ctx;
5232 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5233 offset = dissect_x2ap_CellToReport_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_List_PDU);
5234 offset += 7; offset >>= 3;
5235 return offset;
5237 static int dissect_CellToReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5238 int offset = 0;
5239 asn1_ctx_t asn1_ctx;
5240 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5241 offset = dissect_x2ap_CellToReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_Item_PDU);
5242 offset += 7; offset >>= 3;
5243 return offset;
5245 static int dissect_ReportingPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5246 int offset = 0;
5247 asn1_ctx_t asn1_ctx;
5248 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5249 offset = dissect_x2ap_ReportingPeriodicity(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriodicity_PDU);
5250 offset += 7; offset >>= 3;
5251 return offset;
5253 static int dissect_PartialSuccessIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5254 int offset = 0;
5255 asn1_ctx_t asn1_ctx;
5256 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5257 offset = dissect_x2ap_PartialSuccessIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PartialSuccessIndicator_PDU);
5258 offset += 7; offset >>= 3;
5259 return offset;
5261 static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5262 int offset = 0;
5263 asn1_ctx_t asn1_ctx;
5264 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5265 offset = dissect_x2ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusResponse_PDU);
5266 offset += 7; offset >>= 3;
5267 return offset;
5269 static int dissect_MeasurementInitiationResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5270 int offset = 0;
5271 asn1_ctx_t asn1_ctx;
5272 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5273 offset = dissect_x2ap_MeasurementInitiationResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_List_PDU);
5274 offset += 7; offset >>= 3;
5275 return offset;
5277 static int dissect_MeasurementInitiationResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5278 int offset = 0;
5279 asn1_ctx_t asn1_ctx;
5280 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5281 offset = dissect_x2ap_MeasurementInitiationResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_Item_PDU);
5282 offset += 7; offset >>= 3;
5283 return offset;
5285 static int dissect_MeasurementFailureCause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5286 int offset = 0;
5287 asn1_ctx_t asn1_ctx;
5288 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5289 offset = dissect_x2ap_MeasurementFailureCause_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementFailureCause_Item_PDU);
5290 offset += 7; offset >>= 3;
5291 return offset;
5293 static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5294 int offset = 0;
5295 asn1_ctx_t asn1_ctx;
5296 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5297 offset = dissect_x2ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusFailure_PDU);
5298 offset += 7; offset >>= 3;
5299 return offset;
5301 static int dissect_CompleteFailureCauseInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5302 int offset = 0;
5303 asn1_ctx_t asn1_ctx;
5304 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5305 offset = dissect_x2ap_CompleteFailureCauseInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_List_PDU);
5306 offset += 7; offset >>= 3;
5307 return offset;
5309 static int dissect_CompleteFailureCauseInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5310 int offset = 0;
5311 asn1_ctx_t asn1_ctx;
5312 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5313 offset = dissect_x2ap_CompleteFailureCauseInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_Item_PDU);
5314 offset += 7; offset >>= 3;
5315 return offset;
5317 static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5318 int offset = 0;
5319 asn1_ctx_t asn1_ctx;
5320 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5321 offset = dissect_x2ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusUpdate_PDU);
5322 offset += 7; offset >>= 3;
5323 return offset;
5325 static int dissect_CellMeasurementResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5326 int offset = 0;
5327 asn1_ctx_t asn1_ctx;
5328 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5329 offset = dissect_x2ap_CellMeasurementResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_List_PDU);
5330 offset += 7; offset >>= 3;
5331 return offset;
5333 static int dissect_CellMeasurementResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5334 int offset = 0;
5335 asn1_ctx_t asn1_ctx;
5336 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5337 offset = dissect_x2ap_CellMeasurementResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_Item_PDU);
5338 offset += 7; offset >>= 3;
5339 return offset;
5341 static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5342 int offset = 0;
5343 asn1_ctx_t asn1_ctx;
5344 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5345 offset = dissect_x2ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_x2ap_PrivateMessage_PDU);
5346 offset += 7; offset >>= 3;
5347 return offset;
5349 static int dissect_MobilityChangeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5350 int offset = 0;
5351 asn1_ctx_t asn1_ctx;
5352 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5353 offset = dissect_x2ap_MobilityChangeRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeRequest_PDU);
5354 offset += 7; offset >>= 3;
5355 return offset;
5357 static int dissect_MobilityChangeAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5358 int offset = 0;
5359 asn1_ctx_t asn1_ctx;
5360 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5361 offset = dissect_x2ap_MobilityChangeAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeAcknowledge_PDU);
5362 offset += 7; offset >>= 3;
5363 return offset;
5365 static int dissect_MobilityChangeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5366 int offset = 0;
5367 asn1_ctx_t asn1_ctx;
5368 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5369 offset = dissect_x2ap_MobilityChangeFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeFailure_PDU);
5370 offset += 7; offset >>= 3;
5371 return offset;
5373 static int dissect_RLFIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5374 int offset = 0;
5375 asn1_ctx_t asn1_ctx;
5376 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5377 offset = dissect_x2ap_RLFIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLFIndication_PDU);
5378 offset += 7; offset >>= 3;
5379 return offset;
5381 static int dissect_CellActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5382 int offset = 0;
5383 asn1_ctx_t asn1_ctx;
5384 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5385 offset = dissect_x2ap_CellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationRequest_PDU);
5386 offset += 7; offset >>= 3;
5387 return offset;
5389 static int dissect_ServedCellsToActivate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5390 int offset = 0;
5391 asn1_ctx_t asn1_ctx;
5392 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5393 offset = dissect_x2ap_ServedCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToActivate_PDU);
5394 offset += 7; offset >>= 3;
5395 return offset;
5397 static int dissect_CellActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5398 int offset = 0;
5399 asn1_ctx_t asn1_ctx;
5400 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5401 offset = dissect_x2ap_CellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationResponse_PDU);
5402 offset += 7; offset >>= 3;
5403 return offset;
5405 static int dissect_ActivatedCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5406 int offset = 0;
5407 asn1_ctx_t asn1_ctx;
5408 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5409 offset = dissect_x2ap_ActivatedCellList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivatedCellList_PDU);
5410 offset += 7; offset >>= 3;
5411 return offset;
5413 static int dissect_CellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5414 int offset = 0;
5415 asn1_ctx_t asn1_ctx;
5416 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5417 offset = dissect_x2ap_CellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationFailure_PDU);
5418 offset += 7; offset >>= 3;
5419 return offset;
5421 static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5422 asn1_ctx_t asn1_ctx;
5423 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5424 dissect_x2ap_X2AP_PDU(tvb, 0, &asn1_ctx, tree, hf_x2ap_X2AP_PDU_PDU);
5428 /*--- End of included file: packet-x2ap-fn.c ---*/
5429 #line 91 "../../asn1/x2ap/packet-x2ap-template.c"
5431 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5433 return (dissector_try_uint(x2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5436 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5438 return (dissector_try_uint(x2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5441 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5443 return (dissector_try_uint(x2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5446 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5448 return (dissector_try_uint(x2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5451 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5453 return (dissector_try_uint(x2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5456 static void
5457 dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5459 proto_item *x2ap_item = NULL;
5460 proto_tree *x2ap_tree = NULL;
5462 /* make entry in the Protocol column on summary display */
5463 col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP");
5465 /* create the x2ap protocol tree */
5466 x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, ENC_NA);
5467 x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap);
5469 dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree);
5472 /*--- proto_register_x2ap -------------------------------------------*/
5473 void proto_register_x2ap(void) {
5475 /* List of fields */
5477 static hf_register_info hf[] = {
5478 { &hf_x2ap_transportLayerAddressIPv4,
5479 { "transportLayerAddress(IPv4)", "x2ap.transportLayerAddressIPv4",
5480 FT_IPv4, BASE_NONE, NULL, 0,
5481 NULL, HFILL }},
5482 { &hf_x2ap_transportLayerAddressIPv6,
5483 { "transportLayerAddress(IPv6)", "x2ap.transportLayerAddressIPv6",
5484 FT_IPv6, BASE_NONE, NULL, 0,
5485 NULL, HFILL }},
5488 /*--- Included file: packet-x2ap-hfarr.c ---*/
5489 #line 1 "../../asn1/x2ap/packet-x2ap-hfarr.c"
5490 { &hf_x2ap_ABSInformation_PDU,
5491 { "ABSInformation", "x2ap.ABSInformation",
5492 FT_UINT32, BASE_DEC, VALS(x2ap_ABSInformation_vals), 0,
5493 NULL, HFILL }},
5494 { &hf_x2ap_ABS_Status_PDU,
5495 { "ABS-Status", "x2ap.ABS_Status_element",
5496 FT_NONE, BASE_NONE, NULL, 0,
5497 NULL, HFILL }},
5498 { &hf_x2ap_Cause_PDU,
5499 { "Cause", "x2ap.Cause",
5500 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
5501 NULL, HFILL }},
5502 { &hf_x2ap_CompositeAvailableCapacityGroup_PDU,
5503 { "CompositeAvailableCapacityGroup", "x2ap.CompositeAvailableCapacityGroup_element",
5504 FT_NONE, BASE_NONE, NULL, 0,
5505 NULL, HFILL }},
5506 { &hf_x2ap_CriticalityDiagnostics_PDU,
5507 { "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics_element",
5508 FT_NONE, BASE_NONE, NULL, 0,
5509 NULL, HFILL }},
5510 { &hf_x2ap_CRNTI_PDU,
5511 { "CRNTI", "x2ap.CRNTI",
5512 FT_BYTES, BASE_NONE, NULL, 0,
5513 NULL, HFILL }},
5514 { &hf_x2ap_CSGMembershipStatus_PDU,
5515 { "CSGMembershipStatus", "x2ap.CSGMembershipStatus",
5516 FT_UINT32, BASE_DEC, VALS(x2ap_CSGMembershipStatus_vals), 0,
5517 NULL, HFILL }},
5518 { &hf_x2ap_CSG_Id_PDU,
5519 { "CSG-Id", "x2ap.CSG_Id",
5520 FT_BYTES, BASE_NONE, NULL, 0,
5521 NULL, HFILL }},
5522 { &hf_x2ap_DeactivationIndication_PDU,
5523 { "DeactivationIndication", "x2ap.DeactivationIndication",
5524 FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0,
5525 NULL, HFILL }},
5526 { &hf_x2ap_ECGI_PDU,
5527 { "ECGI", "x2ap.ECGI_element",
5528 FT_NONE, BASE_NONE, NULL, 0,
5529 NULL, HFILL }},
5530 { &hf_x2ap_E_RAB_List_PDU,
5531 { "E-RAB-List", "x2ap.E_RAB_List",
5532 FT_UINT32, BASE_DEC, NULL, 0,
5533 NULL, HFILL }},
5534 { &hf_x2ap_E_RAB_Item_PDU,
5535 { "E-RAB-Item", "x2ap.E_RAB_Item_element",
5536 FT_NONE, BASE_NONE, NULL, 0,
5537 NULL, HFILL }},
5538 { &hf_x2ap_GlobalENB_ID_PDU,
5539 { "GlobalENB-ID", "x2ap.GlobalENB_ID_element",
5540 FT_NONE, BASE_NONE, NULL, 0,
5541 NULL, HFILL }},
5542 { &hf_x2ap_GUGroupIDList_PDU,
5543 { "GUGroupIDList", "x2ap.GUGroupIDList",
5544 FT_UINT32, BASE_DEC, NULL, 0,
5545 NULL, HFILL }},
5546 { &hf_x2ap_GUMMEI_PDU,
5547 { "GUMMEI", "x2ap.GUMMEI_element",
5548 FT_NONE, BASE_NONE, NULL, 0,
5549 NULL, HFILL }},
5550 { &hf_x2ap_HandoverReportType_PDU,
5551 { "HandoverReportType", "x2ap.HandoverReportType",
5552 FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0,
5553 NULL, HFILL }},
5554 { &hf_x2ap_InvokeIndication_PDU,
5555 { "InvokeIndication", "x2ap.InvokeIndication",
5556 FT_UINT32, BASE_DEC, VALS(x2ap_InvokeIndication_vals), 0,
5557 NULL, HFILL }},
5558 { &hf_x2ap_MDT_Configuration_PDU,
5559 { "MDT-Configuration", "x2ap.MDT_Configuration_element",
5560 FT_NONE, BASE_NONE, NULL, 0,
5561 NULL, HFILL }},
5562 { &hf_x2ap_Measurement_ID_PDU,
5563 { "Measurement-ID", "x2ap.Measurement_ID",
5564 FT_UINT32, BASE_DEC, NULL, 0,
5565 NULL, HFILL }},
5566 { &hf_x2ap_MBSFN_Subframe_Infolist_PDU,
5567 { "MBSFN-Subframe-Infolist", "x2ap.MBSFN_Subframe_Infolist",
5568 FT_UINT32, BASE_DEC, NULL, 0,
5569 NULL, HFILL }},
5570 { &hf_x2ap_ManagementBasedMDTallowed_PDU,
5571 { "ManagementBasedMDTallowed", "x2ap.ManagementBasedMDTallowed",
5572 FT_UINT32, BASE_DEC, VALS(x2ap_ManagementBasedMDTallowed_vals), 0,
5573 NULL, HFILL }},
5574 { &hf_x2ap_MobilityParametersModificationRange_PDU,
5575 { "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange_element",
5576 FT_NONE, BASE_NONE, NULL, 0,
5577 NULL, HFILL }},
5578 { &hf_x2ap_MobilityParametersInformation_PDU,
5579 { "MobilityParametersInformation", "x2ap.MobilityParametersInformation_element",
5580 FT_NONE, BASE_NONE, NULL, 0,
5581 NULL, HFILL }},
5582 { &hf_x2ap_Number_of_Antennaports_PDU,
5583 { "Number-of-Antennaports", "x2ap.Number_of_Antennaports",
5584 FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0,
5585 NULL, HFILL }},
5586 { &hf_x2ap_PCI_PDU,
5587 { "PCI", "x2ap.PCI",
5588 FT_UINT32, BASE_DEC, NULL, 0,
5589 NULL, HFILL }},
5590 { &hf_x2ap_PRACH_Configuration_PDU,
5591 { "PRACH-Configuration", "x2ap.PRACH_Configuration_element",
5592 FT_NONE, BASE_NONE, NULL, 0,
5593 NULL, HFILL }},
5594 { &hf_x2ap_Registration_Request_PDU,
5595 { "Registration-Request", "x2ap.Registration_Request",
5596 FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0,
5597 NULL, HFILL }},
5598 { &hf_x2ap_ReportCharacteristics_PDU,
5599 { "ReportCharacteristics", "x2ap.ReportCharacteristics",
5600 FT_BYTES, BASE_NONE, NULL, 0,
5601 NULL, HFILL }},
5602 { &hf_x2ap_RRCConnSetupIndicator_PDU,
5603 { "RRCConnSetupIndicator", "x2ap.RRCConnSetupIndicator",
5604 FT_UINT32, BASE_DEC, VALS(x2ap_RRCConnSetupIndicator_vals), 0,
5605 NULL, HFILL }},
5606 { &hf_x2ap_ServedCells_PDU,
5607 { "ServedCells", "x2ap.ServedCells",
5608 FT_UINT32, BASE_DEC, NULL, 0,
5609 NULL, HFILL }},
5610 { &hf_x2ap_ShortMAC_I_PDU,
5611 { "ShortMAC-I", "x2ap.ShortMAC_I",
5612 FT_BYTES, BASE_NONE, NULL, 0,
5613 NULL, HFILL }},
5614 { &hf_x2ap_SRVCCOperationPossible_PDU,
5615 { "SRVCCOperationPossible", "x2ap.SRVCCOperationPossible",
5616 FT_UINT32, BASE_DEC, VALS(x2ap_SRVCCOperationPossible_vals), 0,
5617 NULL, HFILL }},
5618 { &hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU,
5619 { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer",
5620 FT_BYTES, BASE_NONE, NULL, 0,
5621 NULL, HFILL }},
5622 { &hf_x2ap_TimeToWait_PDU,
5623 { "TimeToWait", "x2ap.TimeToWait",
5624 FT_UINT32, BASE_DEC, VALS(x2ap_TimeToWait_vals), 0,
5625 NULL, HFILL }},
5626 { &hf_x2ap_TraceActivation_PDU,
5627 { "TraceActivation", "x2ap.TraceActivation_element",
5628 FT_NONE, BASE_NONE, NULL, 0,
5629 NULL, HFILL }},
5630 { &hf_x2ap_UE_HistoryInformation_PDU,
5631 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation",
5632 FT_UINT32, BASE_DEC, NULL, 0,
5633 NULL, HFILL }},
5634 { &hf_x2ap_UE_X2AP_ID_PDU,
5635 { "UE-X2AP-ID", "x2ap.UE_X2AP_ID",
5636 FT_UINT32, BASE_DEC, NULL, 0,
5637 NULL, HFILL }},
5638 { &hf_x2ap_UE_RLF_Report_Container_PDU,
5639 { "UE-RLF-Report-Container", "x2ap.UE_RLF_Report_Container",
5640 FT_BYTES, BASE_NONE, NULL, 0,
5641 NULL, HFILL }},
5642 { &hf_x2ap_HandoverRequest_PDU,
5643 { "HandoverRequest", "x2ap.HandoverRequest_element",
5644 FT_NONE, BASE_NONE, NULL, 0,
5645 NULL, HFILL }},
5646 { &hf_x2ap_UE_ContextInformation_PDU,
5647 { "UE-ContextInformation", "x2ap.UE_ContextInformation_element",
5648 FT_NONE, BASE_NONE, NULL, 0,
5649 NULL, HFILL }},
5650 { &hf_x2ap_E_RABs_ToBeSetup_Item_PDU,
5651 { "E-RABs-ToBeSetup-Item", "x2ap.E_RABs_ToBeSetup_Item_element",
5652 FT_NONE, BASE_NONE, NULL, 0,
5653 NULL, HFILL }},
5654 { &hf_x2ap_HandoverRequestAcknowledge_PDU,
5655 { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge_element",
5656 FT_NONE, BASE_NONE, NULL, 0,
5657 NULL, HFILL }},
5658 { &hf_x2ap_E_RABs_Admitted_List_PDU,
5659 { "E-RABs-Admitted-List", "x2ap.E_RABs_Admitted_List",
5660 FT_UINT32, BASE_DEC, NULL, 0,
5661 NULL, HFILL }},
5662 { &hf_x2ap_E_RABs_Admitted_Item_PDU,
5663 { "E-RABs-Admitted-Item", "x2ap.E_RABs_Admitted_Item_element",
5664 FT_NONE, BASE_NONE, NULL, 0,
5665 NULL, HFILL }},
5666 { &hf_x2ap_HandoverPreparationFailure_PDU,
5667 { "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure_element",
5668 FT_NONE, BASE_NONE, NULL, 0,
5669 NULL, HFILL }},
5670 { &hf_x2ap_HandoverReport_PDU,
5671 { "HandoverReport", "x2ap.HandoverReport_element",
5672 FT_NONE, BASE_NONE, NULL, 0,
5673 NULL, HFILL }},
5674 { &hf_x2ap_SNStatusTransfer_PDU,
5675 { "SNStatusTransfer", "x2ap.SNStatusTransfer_element",
5676 FT_NONE, BASE_NONE, NULL, 0,
5677 NULL, HFILL }},
5678 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU,
5679 { "E-RABs-SubjectToStatusTransfer-List", "x2ap.E_RABs_SubjectToStatusTransfer_List",
5680 FT_UINT32, BASE_DEC, NULL, 0,
5681 NULL, HFILL }},
5682 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU,
5683 { "E-RABs-SubjectToStatusTransfer-Item", "x2ap.E_RABs_SubjectToStatusTransfer_Item_element",
5684 FT_NONE, BASE_NONE, NULL, 0,
5685 NULL, HFILL }},
5686 { &hf_x2ap_UEContextRelease_PDU,
5687 { "UEContextRelease", "x2ap.UEContextRelease_element",
5688 FT_NONE, BASE_NONE, NULL, 0,
5689 NULL, HFILL }},
5690 { &hf_x2ap_HandoverCancel_PDU,
5691 { "HandoverCancel", "x2ap.HandoverCancel_element",
5692 FT_NONE, BASE_NONE, NULL, 0,
5693 NULL, HFILL }},
5694 { &hf_x2ap_ErrorIndication_PDU,
5695 { "ErrorIndication", "x2ap.ErrorIndication_element",
5696 FT_NONE, BASE_NONE, NULL, 0,
5697 NULL, HFILL }},
5698 { &hf_x2ap_ResetRequest_PDU,
5699 { "ResetRequest", "x2ap.ResetRequest_element",
5700 FT_NONE, BASE_NONE, NULL, 0,
5701 NULL, HFILL }},
5702 { &hf_x2ap_ResetResponse_PDU,
5703 { "ResetResponse", "x2ap.ResetResponse_element",
5704 FT_NONE, BASE_NONE, NULL, 0,
5705 NULL, HFILL }},
5706 { &hf_x2ap_X2SetupRequest_PDU,
5707 { "X2SetupRequest", "x2ap.X2SetupRequest_element",
5708 FT_NONE, BASE_NONE, NULL, 0,
5709 NULL, HFILL }},
5710 { &hf_x2ap_X2SetupResponse_PDU,
5711 { "X2SetupResponse", "x2ap.X2SetupResponse_element",
5712 FT_NONE, BASE_NONE, NULL, 0,
5713 NULL, HFILL }},
5714 { &hf_x2ap_X2SetupFailure_PDU,
5715 { "X2SetupFailure", "x2ap.X2SetupFailure_element",
5716 FT_NONE, BASE_NONE, NULL, 0,
5717 NULL, HFILL }},
5718 { &hf_x2ap_LoadInformation_PDU,
5719 { "LoadInformation", "x2ap.LoadInformation_element",
5720 FT_NONE, BASE_NONE, NULL, 0,
5721 NULL, HFILL }},
5722 { &hf_x2ap_CellInformation_List_PDU,
5723 { "CellInformation-List", "x2ap.CellInformation_List",
5724 FT_UINT32, BASE_DEC, NULL, 0,
5725 NULL, HFILL }},
5726 { &hf_x2ap_CellInformation_Item_PDU,
5727 { "CellInformation-Item", "x2ap.CellInformation_Item_element",
5728 FT_NONE, BASE_NONE, NULL, 0,
5729 NULL, HFILL }},
5730 { &hf_x2ap_ENBConfigurationUpdate_PDU,
5731 { "ENBConfigurationUpdate", "x2ap.ENBConfigurationUpdate_element",
5732 FT_NONE, BASE_NONE, NULL, 0,
5733 NULL, HFILL }},
5734 { &hf_x2ap_ServedCellsToModify_PDU,
5735 { "ServedCellsToModify", "x2ap.ServedCellsToModify",
5736 FT_UINT32, BASE_DEC, NULL, 0,
5737 NULL, HFILL }},
5738 { &hf_x2ap_Old_ECGIs_PDU,
5739 { "Old-ECGIs", "x2ap.Old_ECGIs",
5740 FT_UINT32, BASE_DEC, NULL, 0,
5741 NULL, HFILL }},
5742 { &hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU,
5743 { "ENBConfigurationUpdateAcknowledge", "x2ap.ENBConfigurationUpdateAcknowledge_element",
5744 FT_NONE, BASE_NONE, NULL, 0,
5745 NULL, HFILL }},
5746 { &hf_x2ap_ENBConfigurationUpdateFailure_PDU,
5747 { "ENBConfigurationUpdateFailure", "x2ap.ENBConfigurationUpdateFailure_element",
5748 FT_NONE, BASE_NONE, NULL, 0,
5749 NULL, HFILL }},
5750 { &hf_x2ap_ResourceStatusRequest_PDU,
5751 { "ResourceStatusRequest", "x2ap.ResourceStatusRequest_element",
5752 FT_NONE, BASE_NONE, NULL, 0,
5753 NULL, HFILL }},
5754 { &hf_x2ap_CellToReport_List_PDU,
5755 { "CellToReport-List", "x2ap.CellToReport_List",
5756 FT_UINT32, BASE_DEC, NULL, 0,
5757 NULL, HFILL }},
5758 { &hf_x2ap_CellToReport_Item_PDU,
5759 { "CellToReport-Item", "x2ap.CellToReport_Item_element",
5760 FT_NONE, BASE_NONE, NULL, 0,
5761 NULL, HFILL }},
5762 { &hf_x2ap_ReportingPeriodicity_PDU,
5763 { "ReportingPeriodicity", "x2ap.ReportingPeriodicity",
5764 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_vals), 0,
5765 NULL, HFILL }},
5766 { &hf_x2ap_PartialSuccessIndicator_PDU,
5767 { "PartialSuccessIndicator", "x2ap.PartialSuccessIndicator",
5768 FT_UINT32, BASE_DEC, VALS(x2ap_PartialSuccessIndicator_vals), 0,
5769 NULL, HFILL }},
5770 { &hf_x2ap_ResourceStatusResponse_PDU,
5771 { "ResourceStatusResponse", "x2ap.ResourceStatusResponse_element",
5772 FT_NONE, BASE_NONE, NULL, 0,
5773 NULL, HFILL }},
5774 { &hf_x2ap_MeasurementInitiationResult_List_PDU,
5775 { "MeasurementInitiationResult-List", "x2ap.MeasurementInitiationResult_List",
5776 FT_UINT32, BASE_DEC, NULL, 0,
5777 NULL, HFILL }},
5778 { &hf_x2ap_MeasurementInitiationResult_Item_PDU,
5779 { "MeasurementInitiationResult-Item", "x2ap.MeasurementInitiationResult_Item_element",
5780 FT_NONE, BASE_NONE, NULL, 0,
5781 NULL, HFILL }},
5782 { &hf_x2ap_MeasurementFailureCause_Item_PDU,
5783 { "MeasurementFailureCause-Item", "x2ap.MeasurementFailureCause_Item_element",
5784 FT_NONE, BASE_NONE, NULL, 0,
5785 NULL, HFILL }},
5786 { &hf_x2ap_ResourceStatusFailure_PDU,
5787 { "ResourceStatusFailure", "x2ap.ResourceStatusFailure_element",
5788 FT_NONE, BASE_NONE, NULL, 0,
5789 NULL, HFILL }},
5790 { &hf_x2ap_CompleteFailureCauseInformation_List_PDU,
5791 { "CompleteFailureCauseInformation-List", "x2ap.CompleteFailureCauseInformation_List",
5792 FT_UINT32, BASE_DEC, NULL, 0,
5793 NULL, HFILL }},
5794 { &hf_x2ap_CompleteFailureCauseInformation_Item_PDU,
5795 { "CompleteFailureCauseInformation-Item", "x2ap.CompleteFailureCauseInformation_Item_element",
5796 FT_NONE, BASE_NONE, NULL, 0,
5797 NULL, HFILL }},
5798 { &hf_x2ap_ResourceStatusUpdate_PDU,
5799 { "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate_element",
5800 FT_NONE, BASE_NONE, NULL, 0,
5801 NULL, HFILL }},
5802 { &hf_x2ap_CellMeasurementResult_List_PDU,
5803 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List",
5804 FT_UINT32, BASE_DEC, NULL, 0,
5805 NULL, HFILL }},
5806 { &hf_x2ap_CellMeasurementResult_Item_PDU,
5807 { "CellMeasurementResult-Item", "x2ap.CellMeasurementResult_Item_element",
5808 FT_NONE, BASE_NONE, NULL, 0,
5809 NULL, HFILL }},
5810 { &hf_x2ap_PrivateMessage_PDU,
5811 { "PrivateMessage", "x2ap.PrivateMessage_element",
5812 FT_NONE, BASE_NONE, NULL, 0,
5813 NULL, HFILL }},
5814 { &hf_x2ap_MobilityChangeRequest_PDU,
5815 { "MobilityChangeRequest", "x2ap.MobilityChangeRequest_element",
5816 FT_NONE, BASE_NONE, NULL, 0,
5817 NULL, HFILL }},
5818 { &hf_x2ap_MobilityChangeAcknowledge_PDU,
5819 { "MobilityChangeAcknowledge", "x2ap.MobilityChangeAcknowledge_element",
5820 FT_NONE, BASE_NONE, NULL, 0,
5821 NULL, HFILL }},
5822 { &hf_x2ap_MobilityChangeFailure_PDU,
5823 { "MobilityChangeFailure", "x2ap.MobilityChangeFailure_element",
5824 FT_NONE, BASE_NONE, NULL, 0,
5825 NULL, HFILL }},
5826 { &hf_x2ap_RLFIndication_PDU,
5827 { "RLFIndication", "x2ap.RLFIndication_element",
5828 FT_NONE, BASE_NONE, NULL, 0,
5829 NULL, HFILL }},
5830 { &hf_x2ap_CellActivationRequest_PDU,
5831 { "CellActivationRequest", "x2ap.CellActivationRequest_element",
5832 FT_NONE, BASE_NONE, NULL, 0,
5833 NULL, HFILL }},
5834 { &hf_x2ap_ServedCellsToActivate_PDU,
5835 { "ServedCellsToActivate", "x2ap.ServedCellsToActivate",
5836 FT_UINT32, BASE_DEC, NULL, 0,
5837 NULL, HFILL }},
5838 { &hf_x2ap_CellActivationResponse_PDU,
5839 { "CellActivationResponse", "x2ap.CellActivationResponse_element",
5840 FT_NONE, BASE_NONE, NULL, 0,
5841 NULL, HFILL }},
5842 { &hf_x2ap_ActivatedCellList_PDU,
5843 { "ActivatedCellList", "x2ap.ActivatedCellList",
5844 FT_UINT32, BASE_DEC, NULL, 0,
5845 NULL, HFILL }},
5846 { &hf_x2ap_CellActivationFailure_PDU,
5847 { "CellActivationFailure", "x2ap.CellActivationFailure_element",
5848 FT_NONE, BASE_NONE, NULL, 0,
5849 NULL, HFILL }},
5850 { &hf_x2ap_X2AP_PDU_PDU,
5851 { "X2AP-PDU", "x2ap.X2AP_PDU",
5852 FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
5853 NULL, HFILL }},
5854 { &hf_x2ap_local,
5855 { "local", "x2ap.local",
5856 FT_UINT32, BASE_DEC, NULL, 0,
5857 "INTEGER_0_maxPrivateIEs", HFILL }},
5858 { &hf_x2ap_global,
5859 { "global", "x2ap.global",
5860 FT_OID, BASE_NONE, NULL, 0,
5861 "OBJECT_IDENTIFIER", HFILL }},
5862 { &hf_x2ap_ProtocolIE_Container_item,
5863 { "ProtocolIE-Field", "x2ap.ProtocolIE_Field_element",
5864 FT_NONE, BASE_NONE, NULL, 0,
5865 NULL, HFILL }},
5866 { &hf_x2ap_id,
5867 { "id", "x2ap.id",
5868 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
5869 "ProtocolIE_ID", HFILL }},
5870 { &hf_x2ap_criticality,
5871 { "criticality", "x2ap.criticality",
5872 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
5873 NULL, HFILL }},
5874 { &hf_x2ap_protocolIE_Field_value,
5875 { "value", "x2ap.value_element",
5876 FT_NONE, BASE_NONE, NULL, 0,
5877 "ProtocolIE_Field_value", HFILL }},
5878 { &hf_x2ap_ProtocolExtensionContainer_item,
5879 { "ProtocolExtensionField", "x2ap.ProtocolExtensionField_element",
5880 FT_NONE, BASE_NONE, NULL, 0,
5881 NULL, HFILL }},
5882 { &hf_x2ap_extension_id,
5883 { "id", "x2ap.id",
5884 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
5885 "ProtocolIE_ID", HFILL }},
5886 { &hf_x2ap_extensionValue,
5887 { "extensionValue", "x2ap.extensionValue_element",
5888 FT_NONE, BASE_NONE, NULL, 0,
5889 NULL, HFILL }},
5890 { &hf_x2ap_PrivateIE_Container_item,
5891 { "PrivateIE-Field", "x2ap.PrivateIE_Field_element",
5892 FT_NONE, BASE_NONE, NULL, 0,
5893 NULL, HFILL }},
5894 { &hf_x2ap_private_id,
5895 { "id", "x2ap.id",
5896 FT_UINT32, BASE_DEC, VALS(x2ap_PrivateIE_ID_vals), 0,
5897 "PrivateIE_ID", HFILL }},
5898 { &hf_x2ap_privateIE_Field_value,
5899 { "value", "x2ap.value_element",
5900 FT_NONE, BASE_NONE, NULL, 0,
5901 "PrivateIE_Field_value", HFILL }},
5902 { &hf_x2ap_fdd,
5903 { "fdd", "x2ap.fdd_element",
5904 FT_NONE, BASE_NONE, NULL, 0,
5905 "ABSInformationFDD", HFILL }},
5906 { &hf_x2ap_tdd,
5907 { "tdd", "x2ap.tdd_element",
5908 FT_NONE, BASE_NONE, NULL, 0,
5909 "ABSInformationTDD", HFILL }},
5910 { &hf_x2ap_abs_inactive,
5911 { "abs-inactive", "x2ap.abs_inactive_element",
5912 FT_NONE, BASE_NONE, NULL, 0,
5913 NULL, HFILL }},
5914 { &hf_x2ap_abs_pattern_info,
5915 { "abs-pattern-info", "x2ap.abs_pattern_info",
5916 FT_BYTES, BASE_NONE, NULL, 0,
5917 "BIT_STRING_SIZE_40", HFILL }},
5918 { &hf_x2ap_numberOfCellSpecificAntennaPorts,
5919 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
5920 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
5921 NULL, HFILL }},
5922 { &hf_x2ap_measurement_subset,
5923 { "measurement-subset", "x2ap.measurement_subset",
5924 FT_BYTES, BASE_NONE, NULL, 0,
5925 "BIT_STRING_SIZE_40", HFILL }},
5926 { &hf_x2ap_iE_Extensions,
5927 { "iE-Extensions", "x2ap.iE_Extensions",
5928 FT_UINT32, BASE_DEC, NULL, 0,
5929 "ProtocolExtensionContainer", HFILL }},
5930 { &hf_x2ap_abs_pattern_info_01,
5931 { "abs-pattern-info", "x2ap.abs_pattern_info",
5932 FT_BYTES, BASE_NONE, NULL, 0,
5933 "BIT_STRING_SIZE_1_70_", HFILL }},
5934 { &hf_x2ap_numberOfCellSpecificAntennaPorts_01,
5935 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
5936 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_01_vals), 0,
5937 "T_numberOfCellSpecificAntennaPorts_01", HFILL }},
5938 { &hf_x2ap_measurement_subset_01,
5939 { "measurement-subset", "x2ap.measurement_subset",
5940 FT_BYTES, BASE_NONE, NULL, 0,
5941 "BIT_STRING_SIZE_1_70_", HFILL }},
5942 { &hf_x2ap_dL_ABS_status,
5943 { "dL-ABS-status", "x2ap.dL_ABS_status",
5944 FT_UINT32, BASE_DEC, NULL, 0,
5945 NULL, HFILL }},
5946 { &hf_x2ap_usableABSInformation,
5947 { "usableABSInformation", "x2ap.usableABSInformation",
5948 FT_UINT32, BASE_DEC, VALS(x2ap_UsableABSInformation_vals), 0,
5949 NULL, HFILL }},
5950 { &hf_x2ap_key_eNodeB_star,
5951 { "key-eNodeB-star", "x2ap.key_eNodeB_star",
5952 FT_BYTES, BASE_NONE, NULL, 0,
5953 NULL, HFILL }},
5954 { &hf_x2ap_nextHopChainingCount,
5955 { "nextHopChainingCount", "x2ap.nextHopChainingCount",
5956 FT_UINT32, BASE_DEC, NULL, 0,
5957 NULL, HFILL }},
5958 { &hf_x2ap_priorityLevel,
5959 { "priorityLevel", "x2ap.priorityLevel",
5960 FT_UINT32, BASE_DEC, VALS(x2ap_PriorityLevel_vals), 0,
5961 NULL, HFILL }},
5962 { &hf_x2ap_pre_emptionCapability,
5963 { "pre-emptionCapability", "x2ap.pre_emptionCapability",
5964 FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionCapability_vals), 0,
5965 NULL, HFILL }},
5966 { &hf_x2ap_pre_emptionVulnerability,
5967 { "pre-emptionVulnerability", "x2ap.pre_emptionVulnerability",
5968 FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionVulnerability_vals), 0,
5969 NULL, HFILL }},
5970 { &hf_x2ap_cellBased,
5971 { "cellBased", "x2ap.cellBased_element",
5972 FT_NONE, BASE_NONE, NULL, 0,
5973 "CellBasedMDT", HFILL }},
5974 { &hf_x2ap_tABased,
5975 { "tABased", "x2ap.tABased_element",
5976 FT_NONE, BASE_NONE, NULL, 0,
5977 "TABasedMDT", HFILL }},
5978 { &hf_x2ap_pLMNWide,
5979 { "pLMNWide", "x2ap.pLMNWide_element",
5980 FT_NONE, BASE_NONE, NULL, 0,
5981 NULL, HFILL }},
5982 { &hf_x2ap_BroadcastPLMNs_Item_item,
5983 { "PLMN-Identity", "x2ap.PLMN_Identity",
5984 FT_BYTES, BASE_NONE, NULL, 0,
5985 NULL, HFILL }},
5986 { &hf_x2ap_radioNetwork,
5987 { "radioNetwork", "x2ap.radioNetwork",
5988 FT_UINT32, BASE_DEC, VALS(x2ap_CauseRadioNetwork_vals), 0,
5989 "CauseRadioNetwork", HFILL }},
5990 { &hf_x2ap_transport,
5991 { "transport", "x2ap.transport",
5992 FT_UINT32, BASE_DEC, VALS(x2ap_CauseTransport_vals), 0,
5993 "CauseTransport", HFILL }},
5994 { &hf_x2ap_protocol,
5995 { "protocol", "x2ap.protocol",
5996 FT_UINT32, BASE_DEC, VALS(x2ap_CauseProtocol_vals), 0,
5997 "CauseProtocol", HFILL }},
5998 { &hf_x2ap_misc,
5999 { "misc", "x2ap.misc",
6000 FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0,
6001 "CauseMisc", HFILL }},
6002 { &hf_x2ap_cellIdListforMDT,
6003 { "cellIdListforMDT", "x2ap.cellIdListforMDT",
6004 FT_UINT32, BASE_DEC, NULL, 0,
6005 NULL, HFILL }},
6006 { &hf_x2ap_CellIdListforMDT_item,
6007 { "ECGI", "x2ap.ECGI_element",
6008 FT_NONE, BASE_NONE, NULL, 0,
6009 NULL, HFILL }},
6010 { &hf_x2ap_cell_Size,
6011 { "cell-Size", "x2ap.cell_Size",
6012 FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Size_vals), 0,
6013 NULL, HFILL }},
6014 { &hf_x2ap_dL_CompositeAvailableCapacity,
6015 { "dL-CompositeAvailableCapacity", "x2ap.dL_CompositeAvailableCapacity_element",
6016 FT_NONE, BASE_NONE, NULL, 0,
6017 "CompositeAvailableCapacity", HFILL }},
6018 { &hf_x2ap_uL_CompositeAvailableCapacity,
6019 { "uL-CompositeAvailableCapacity", "x2ap.uL_CompositeAvailableCapacity_element",
6020 FT_NONE, BASE_NONE, NULL, 0,
6021 "CompositeAvailableCapacity", HFILL }},
6022 { &hf_x2ap_cellCapacityClassValue,
6023 { "cellCapacityClassValue", "x2ap.cellCapacityClassValue",
6024 FT_UINT32, BASE_DEC, NULL, 0,
6025 NULL, HFILL }},
6026 { &hf_x2ap_capacityValue,
6027 { "capacityValue", "x2ap.capacityValue",
6028 FT_UINT32, BASE_DEC, NULL, 0,
6029 NULL, HFILL }},
6030 { &hf_x2ap_pDCP_SN,
6031 { "pDCP-SN", "x2ap.pDCP_SN",
6032 FT_UINT32, BASE_DEC, NULL, 0,
6033 NULL, HFILL }},
6034 { &hf_x2ap_hFN,
6035 { "hFN", "x2ap.hFN",
6036 FT_UINT32, BASE_DEC, NULL, 0,
6037 NULL, HFILL }},
6038 { &hf_x2ap_procedureCode,
6039 { "procedureCode", "x2ap.procedureCode",
6040 FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureCode_vals), 0,
6041 NULL, HFILL }},
6042 { &hf_x2ap_triggeringMessage,
6043 { "triggeringMessage", "x2ap.triggeringMessage",
6044 FT_UINT32, BASE_DEC, VALS(x2ap_TriggeringMessage_vals), 0,
6045 NULL, HFILL }},
6046 { &hf_x2ap_procedureCriticality,
6047 { "procedureCriticality", "x2ap.procedureCriticality",
6048 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
6049 "Criticality", HFILL }},
6050 { &hf_x2ap_iEsCriticalityDiagnostics,
6051 { "iEsCriticalityDiagnostics", "x2ap.iEsCriticalityDiagnostics",
6052 FT_UINT32, BASE_DEC, NULL, 0,
6053 "CriticalityDiagnostics_IE_List", HFILL }},
6054 { &hf_x2ap_CriticalityDiagnostics_IE_List_item,
6055 { "CriticalityDiagnostics-IE-List item", "x2ap.CriticalityDiagnostics_IE_List_item_element",
6056 FT_NONE, BASE_NONE, NULL, 0,
6057 NULL, HFILL }},
6058 { &hf_x2ap_iECriticality,
6059 { "iECriticality", "x2ap.iECriticality",
6060 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
6061 "Criticality", HFILL }},
6062 { &hf_x2ap_iE_ID,
6063 { "iE-ID", "x2ap.iE_ID",
6064 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
6065 "ProtocolIE_ID", HFILL }},
6066 { &hf_x2ap_typeOfError,
6067 { "typeOfError", "x2ap.typeOfError",
6068 FT_UINT32, BASE_DEC, VALS(x2ap_TypeOfError_vals), 0,
6069 NULL, HFILL }},
6070 { &hf_x2ap_uL_EARFCN,
6071 { "uL-EARFCN", "x2ap.uL_EARFCN",
6072 FT_UINT32, BASE_DEC, NULL, 0,
6073 "EARFCN", HFILL }},
6074 { &hf_x2ap_dL_EARFCN,
6075 { "dL-EARFCN", "x2ap.dL_EARFCN",
6076 FT_UINT32, BASE_DEC, NULL, 0,
6077 "EARFCN", HFILL }},
6078 { &hf_x2ap_uL_Transmission_Bandwidth,
6079 { "uL-Transmission-Bandwidth", "x2ap.uL_Transmission_Bandwidth",
6080 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
6081 "Transmission_Bandwidth", HFILL }},
6082 { &hf_x2ap_dL_Transmission_Bandwidth,
6083 { "dL-Transmission-Bandwidth", "x2ap.dL_Transmission_Bandwidth",
6084 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
6085 "Transmission_Bandwidth", HFILL }},
6086 { &hf_x2ap_eARFCN,
6087 { "eARFCN", "x2ap.eARFCN",
6088 FT_UINT32, BASE_DEC, NULL, 0,
6089 NULL, HFILL }},
6090 { &hf_x2ap_transmission_Bandwidth,
6091 { "transmission-Bandwidth", "x2ap.transmission_Bandwidth",
6092 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
6093 NULL, HFILL }},
6094 { &hf_x2ap_subframeAssignment,
6095 { "subframeAssignment", "x2ap.subframeAssignment",
6096 FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAssignment_vals), 0,
6097 NULL, HFILL }},
6098 { &hf_x2ap_specialSubframe_Info,
6099 { "specialSubframe-Info", "x2ap.specialSubframe_Info_element",
6100 FT_NONE, BASE_NONE, NULL, 0,
6101 NULL, HFILL }},
6102 { &hf_x2ap_fDD,
6103 { "fDD", "x2ap.fDD_element",
6104 FT_NONE, BASE_NONE, NULL, 0,
6105 "FDD_Info", HFILL }},
6106 { &hf_x2ap_tDD,
6107 { "tDD", "x2ap.tDD_element",
6108 FT_NONE, BASE_NONE, NULL, 0,
6109 "TDD_Info", HFILL }},
6110 { &hf_x2ap_pLMN_Identity,
6111 { "pLMN-Identity", "x2ap.pLMN_Identity",
6112 FT_BYTES, BASE_NONE, NULL, 0,
6113 NULL, HFILL }},
6114 { &hf_x2ap_eUTRANcellIdentifier,
6115 { "eUTRANcellIdentifier", "x2ap.eUTRANcellIdentifier",
6116 FT_BYTES, BASE_NONE, NULL, 0,
6117 NULL, HFILL }},
6118 { &hf_x2ap_macro_eNB_ID,
6119 { "macro-eNB-ID", "x2ap.macro_eNB_ID",
6120 FT_BYTES, BASE_NONE, NULL, 0,
6121 "BIT_STRING_SIZE_20", HFILL }},
6122 { &hf_x2ap_home_eNB_ID,
6123 { "home-eNB-ID", "x2ap.home_eNB_ID",
6124 FT_BYTES, BASE_NONE, NULL, 0,
6125 "BIT_STRING_SIZE_28", HFILL }},
6126 { &hf_x2ap_EPLMNs_item,
6127 { "PLMN-Identity", "x2ap.PLMN_Identity",
6128 FT_BYTES, BASE_NONE, NULL, 0,
6129 NULL, HFILL }},
6130 { &hf_x2ap_qCI,
6131 { "qCI", "x2ap.qCI",
6132 FT_UINT32, BASE_DEC, NULL, 0,
6133 NULL, HFILL }},
6134 { &hf_x2ap_allocationAndRetentionPriority,
6135 { "allocationAndRetentionPriority", "x2ap.allocationAndRetentionPriority_element",
6136 FT_NONE, BASE_NONE, NULL, 0,
6137 NULL, HFILL }},
6138 { &hf_x2ap_gbrQosInformation,
6139 { "gbrQosInformation", "x2ap.gbrQosInformation_element",
6140 FT_NONE, BASE_NONE, NULL, 0,
6141 "GBR_QosInformation", HFILL }},
6142 { &hf_x2ap_E_RAB_List_item,
6143 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6144 FT_NONE, BASE_NONE, NULL, 0,
6145 NULL, HFILL }},
6146 { &hf_x2ap_e_RAB_ID,
6147 { "e-RAB-ID", "x2ap.e_RAB_ID",
6148 FT_UINT32, BASE_DEC, NULL, 0,
6149 NULL, HFILL }},
6150 { &hf_x2ap_cause,
6151 { "cause", "x2ap.cause",
6152 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
6153 NULL, HFILL }},
6154 { &hf_x2ap_ForbiddenTAs_item,
6155 { "ForbiddenTAs-Item", "x2ap.ForbiddenTAs_Item_element",
6156 FT_NONE, BASE_NONE, NULL, 0,
6157 NULL, HFILL }},
6158 { &hf_x2ap_forbiddenTACs,
6159 { "forbiddenTACs", "x2ap.forbiddenTACs",
6160 FT_UINT32, BASE_DEC, NULL, 0,
6161 NULL, HFILL }},
6162 { &hf_x2ap_ForbiddenTACs_item,
6163 { "TAC", "x2ap.TAC",
6164 FT_BYTES, BASE_NONE, NULL, 0,
6165 NULL, HFILL }},
6166 { &hf_x2ap_ForbiddenLAs_item,
6167 { "ForbiddenLAs-Item", "x2ap.ForbiddenLAs_Item_element",
6168 FT_NONE, BASE_NONE, NULL, 0,
6169 NULL, HFILL }},
6170 { &hf_x2ap_forbiddenLACs,
6171 { "forbiddenLACs", "x2ap.forbiddenLACs",
6172 FT_UINT32, BASE_DEC, NULL, 0,
6173 NULL, HFILL }},
6174 { &hf_x2ap_ForbiddenLACs_item,
6175 { "LAC", "x2ap.LAC",
6176 FT_BYTES, BASE_NONE, NULL, 0,
6177 NULL, HFILL }},
6178 { &hf_x2ap_e_RAB_MaximumBitrateDL,
6179 { "e-RAB-MaximumBitrateDL", "x2ap.e_RAB_MaximumBitrateDL",
6180 FT_UINT64, BASE_DEC, NULL, 0,
6181 "BitRate", HFILL }},
6182 { &hf_x2ap_e_RAB_MaximumBitrateUL,
6183 { "e-RAB-MaximumBitrateUL", "x2ap.e_RAB_MaximumBitrateUL",
6184 FT_UINT64, BASE_DEC, NULL, 0,
6185 "BitRate", HFILL }},
6186 { &hf_x2ap_e_RAB_GuaranteedBitrateDL,
6187 { "e-RAB-GuaranteedBitrateDL", "x2ap.e_RAB_GuaranteedBitrateDL",
6188 FT_UINT64, BASE_DEC, NULL, 0,
6189 "BitRate", HFILL }},
6190 { &hf_x2ap_e_RAB_GuaranteedBitrateUL,
6191 { "e-RAB-GuaranteedBitrateUL", "x2ap.e_RAB_GuaranteedBitrateUL",
6192 FT_UINT64, BASE_DEC, NULL, 0,
6193 "BitRate", HFILL }},
6194 { &hf_x2ap_eNB_ID,
6195 { "eNB-ID", "x2ap.eNB_ID",
6196 FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0,
6197 NULL, HFILL }},
6198 { &hf_x2ap_transportLayerAddress,
6199 { "transportLayerAddress", "x2ap.transportLayerAddress",
6200 FT_BYTES, BASE_NONE, NULL, 0,
6201 NULL, HFILL }},
6202 { &hf_x2ap_gTP_TEID,
6203 { "gTP-TEID", "x2ap.gTP_TEID",
6204 FT_BYTES, BASE_NONE, NULL, 0,
6205 "GTP_TEI", HFILL }},
6206 { &hf_x2ap_GUGroupIDList_item,
6207 { "GU-Group-ID", "x2ap.GU_Group_ID_element",
6208 FT_NONE, BASE_NONE, NULL, 0,
6209 NULL, HFILL }},
6210 { &hf_x2ap_mME_Group_ID,
6211 { "mME-Group-ID", "x2ap.mME_Group_ID",
6212 FT_BYTES, BASE_NONE, NULL, 0,
6213 NULL, HFILL }},
6214 { &hf_x2ap_gU_Group_ID,
6215 { "gU-Group-ID", "x2ap.gU_Group_ID_element",
6216 FT_NONE, BASE_NONE, NULL, 0,
6217 NULL, HFILL }},
6218 { &hf_x2ap_mME_Code,
6219 { "mME-Code", "x2ap.mME_Code",
6220 FT_BYTES, BASE_NONE, NULL, 0,
6221 NULL, HFILL }},
6222 { &hf_x2ap_servingPLMN,
6223 { "servingPLMN", "x2ap.servingPLMN",
6224 FT_BYTES, BASE_NONE, NULL, 0,
6225 "PLMN_Identity", HFILL }},
6226 { &hf_x2ap_equivalentPLMNs,
6227 { "equivalentPLMNs", "x2ap.equivalentPLMNs",
6228 FT_UINT32, BASE_DEC, NULL, 0,
6229 "EPLMNs", HFILL }},
6230 { &hf_x2ap_forbiddenTAs,
6231 { "forbiddenTAs", "x2ap.forbiddenTAs",
6232 FT_UINT32, BASE_DEC, NULL, 0,
6233 NULL, HFILL }},
6234 { &hf_x2ap_forbiddenLAs,
6235 { "forbiddenLAs", "x2ap.forbiddenLAs",
6236 FT_UINT32, BASE_DEC, NULL, 0,
6237 NULL, HFILL }},
6238 { &hf_x2ap_forbiddenInterRATs,
6239 { "forbiddenInterRATs", "x2ap.forbiddenInterRATs",
6240 FT_UINT32, BASE_DEC, VALS(x2ap_ForbiddenInterRATs_vals), 0,
6241 NULL, HFILL }},
6242 { &hf_x2ap_dLHWLoadIndicator,
6243 { "dLHWLoadIndicator", "x2ap.dLHWLoadIndicator",
6244 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6245 "LoadIndicator", HFILL }},
6246 { &hf_x2ap_uLHWLoadIndicator,
6247 { "uLHWLoadIndicator", "x2ap.uLHWLoadIndicator",
6248 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6249 "LoadIndicator", HFILL }},
6250 { &hf_x2ap_e_UTRAN_Cell,
6251 { "e-UTRAN-Cell", "x2ap.e_UTRAN_Cell_element",
6252 FT_NONE, BASE_NONE, NULL, 0,
6253 "LastVisitedEUTRANCellInformation", HFILL }},
6254 { &hf_x2ap_uTRAN_Cell,
6255 { "uTRAN-Cell", "x2ap.uTRAN_Cell",
6256 FT_BYTES, BASE_NONE, NULL, 0,
6257 "LastVisitedUTRANCellInformation", HFILL }},
6258 { &hf_x2ap_gERAN_Cell,
6259 { "gERAN-Cell", "x2ap.gERAN_Cell",
6260 FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedGERANCellInformation_vals), 0,
6261 "LastVisitedGERANCellInformation", HFILL }},
6262 { &hf_x2ap_global_Cell_ID,
6263 { "global-Cell-ID", "x2ap.global_Cell_ID_element",
6264 FT_NONE, BASE_NONE, NULL, 0,
6265 "ECGI", HFILL }},
6266 { &hf_x2ap_cellType,
6267 { "cellType", "x2ap.cellType_element",
6268 FT_NONE, BASE_NONE, NULL, 0,
6269 NULL, HFILL }},
6270 { &hf_x2ap_time_UE_StayedInCell,
6271 { "time-UE-StayedInCell", "x2ap.time_UE_StayedInCell",
6272 FT_UINT32, BASE_DEC, NULL, 0,
6273 NULL, HFILL }},
6274 { &hf_x2ap_undefined,
6275 { "undefined", "x2ap.undefined_element",
6276 FT_NONE, BASE_NONE, NULL, 0,
6277 NULL, HFILL }},
6278 { &hf_x2ap_eventType,
6279 { "eventType", "x2ap.eventType",
6280 FT_UINT32, BASE_DEC, VALS(x2ap_EventType_vals), 0,
6281 NULL, HFILL }},
6282 { &hf_x2ap_reportArea,
6283 { "reportArea", "x2ap.reportArea",
6284 FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
6285 NULL, HFILL }},
6286 { &hf_x2ap_mdt_Activation,
6287 { "mdt-Activation", "x2ap.mdt_Activation",
6288 FT_UINT32, BASE_DEC, VALS(x2ap_MDT_Activation_vals), 0,
6289 NULL, HFILL }},
6290 { &hf_x2ap_areaScopeOfMDT,
6291 { "areaScopeOfMDT", "x2ap.areaScopeOfMDT",
6292 FT_UINT32, BASE_DEC, VALS(x2ap_AreaScopeOfMDT_vals), 0,
6293 NULL, HFILL }},
6294 { &hf_x2ap_measurementsToActivate,
6295 { "measurementsToActivate", "x2ap.measurementsToActivate",
6296 FT_BYTES, BASE_NONE, NULL, 0,
6297 NULL, HFILL }},
6298 { &hf_x2ap_reportingTriggerMDT,
6299 { "reportingTriggerMDT", "x2ap.reportingTriggerMDT",
6300 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingTriggerMDT_vals), 0,
6301 NULL, HFILL }},
6302 { &hf_x2ap_thresholdeventA2,
6303 { "thresholdeventA2", "x2ap.thresholdeventA2_element",
6304 FT_NONE, BASE_NONE, NULL, 0,
6305 NULL, HFILL }},
6306 { &hf_x2ap_periodicReportingMDT,
6307 { "periodicReportingMDT", "x2ap.periodicReportingMDT_element",
6308 FT_NONE, BASE_NONE, NULL, 0,
6309 NULL, HFILL }},
6310 { &hf_x2ap_threshold_RSRP,
6311 { "threshold-RSRP", "x2ap.threshold_RSRP",
6312 FT_UINT32, BASE_DEC, NULL, 0,
6313 NULL, HFILL }},
6314 { &hf_x2ap_threshold_RSRQ,
6315 { "threshold-RSRQ", "x2ap.threshold_RSRQ",
6316 FT_UINT32, BASE_DEC, NULL, 0,
6317 NULL, HFILL }},
6318 { &hf_x2ap_MBSFN_Subframe_Infolist_item,
6319 { "MBSFN-Subframe-Info", "x2ap.MBSFN_Subframe_Info_element",
6320 FT_NONE, BASE_NONE, NULL, 0,
6321 NULL, HFILL }},
6322 { &hf_x2ap_radioframeAllocationPeriod,
6323 { "radioframeAllocationPeriod", "x2ap.radioframeAllocationPeriod",
6324 FT_UINT32, BASE_DEC, VALS(x2ap_RadioframeAllocationPeriod_vals), 0,
6325 NULL, HFILL }},
6326 { &hf_x2ap_radioframeAllocationOffset,
6327 { "radioframeAllocationOffset", "x2ap.radioframeAllocationOffset",
6328 FT_UINT32, BASE_DEC, NULL, 0,
6329 NULL, HFILL }},
6330 { &hf_x2ap_subframeAllocation,
6331 { "subframeAllocation", "x2ap.subframeAllocation",
6332 FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAllocation_vals), 0,
6333 NULL, HFILL }},
6334 { &hf_x2ap_handoverTriggerChangeLowerLimit,
6335 { "handoverTriggerChangeLowerLimit", "x2ap.handoverTriggerChangeLowerLimit",
6336 FT_INT32, BASE_DEC, NULL, 0,
6337 "INTEGER_M20_20", HFILL }},
6338 { &hf_x2ap_handoverTriggerChangeUpperLimit,
6339 { "handoverTriggerChangeUpperLimit", "x2ap.handoverTriggerChangeUpperLimit",
6340 FT_INT32, BASE_DEC, NULL, 0,
6341 "INTEGER_M20_20", HFILL }},
6342 { &hf_x2ap_handoverTriggerChange,
6343 { "handoverTriggerChange", "x2ap.handoverTriggerChange",
6344 FT_INT32, BASE_DEC, NULL, 0,
6345 "INTEGER_M20_20", HFILL }},
6346 { &hf_x2ap_Neighbour_Information_item,
6347 { "Neighbour-Information item", "x2ap.Neighbour_Information_item_element",
6348 FT_NONE, BASE_NONE, NULL, 0,
6349 NULL, HFILL }},
6350 { &hf_x2ap_eCGI,
6351 { "eCGI", "x2ap.eCGI_element",
6352 FT_NONE, BASE_NONE, NULL, 0,
6353 NULL, HFILL }},
6354 { &hf_x2ap_pCI,
6355 { "pCI", "x2ap.pCI",
6356 FT_UINT32, BASE_DEC, NULL, 0,
6357 NULL, HFILL }},
6358 { &hf_x2ap_reportInterval,
6359 { "reportInterval", "x2ap.reportInterval",
6360 FT_UINT32, BASE_DEC, VALS(x2ap_ReportIntervalMDT_vals), 0,
6361 "ReportIntervalMDT", HFILL }},
6362 { &hf_x2ap_reportAmount,
6363 { "reportAmount", "x2ap.reportAmount",
6364 FT_UINT32, BASE_DEC, VALS(x2ap_ReportAmountMDT_vals), 0,
6365 "ReportAmountMDT", HFILL }},
6366 { &hf_x2ap_rootSequenceIndex,
6367 { "rootSequenceIndex", "x2ap.rootSequenceIndex",
6368 FT_UINT32, BASE_DEC, NULL, 0,
6369 "INTEGER_0_837", HFILL }},
6370 { &hf_x2ap_zeroCorrelationIndex,
6371 { "zeroCorrelationIndex", "x2ap.zeroCorrelationIndex",
6372 FT_UINT32, BASE_DEC, NULL, 0,
6373 "INTEGER_0_15", HFILL }},
6374 { &hf_x2ap_highSpeedFlag,
6375 { "highSpeedFlag", "x2ap.highSpeedFlag",
6376 FT_BOOLEAN, BASE_NONE, NULL, 0,
6377 "BOOLEAN", HFILL }},
6378 { &hf_x2ap_prach_FreqOffset,
6379 { "prach-FreqOffset", "x2ap.prach_FreqOffset",
6380 FT_UINT32, BASE_DEC, NULL, 0,
6381 "INTEGER_0_94", HFILL }},
6382 { &hf_x2ap_prach_ConfigIndex,
6383 { "prach-ConfigIndex", "x2ap.prach_ConfigIndex",
6384 FT_UINT32, BASE_DEC, NULL, 0,
6385 "INTEGER_0_63", HFILL }},
6386 { &hf_x2ap_dL_GBR_PRB_usage,
6387 { "dL-GBR-PRB-usage", "x2ap.dL_GBR_PRB_usage",
6388 FT_UINT32, BASE_DEC, NULL, 0,
6389 NULL, HFILL }},
6390 { &hf_x2ap_uL_GBR_PRB_usage,
6391 { "uL-GBR-PRB-usage", "x2ap.uL_GBR_PRB_usage",
6392 FT_UINT32, BASE_DEC, NULL, 0,
6393 NULL, HFILL }},
6394 { &hf_x2ap_dL_non_GBR_PRB_usage,
6395 { "dL-non-GBR-PRB-usage", "x2ap.dL_non_GBR_PRB_usage",
6396 FT_UINT32, BASE_DEC, NULL, 0,
6397 NULL, HFILL }},
6398 { &hf_x2ap_uL_non_GBR_PRB_usage,
6399 { "uL-non-GBR-PRB-usage", "x2ap.uL_non_GBR_PRB_usage",
6400 FT_UINT32, BASE_DEC, NULL, 0,
6401 NULL, HFILL }},
6402 { &hf_x2ap_dL_Total_PRB_usage,
6403 { "dL-Total-PRB-usage", "x2ap.dL_Total_PRB_usage",
6404 FT_UINT32, BASE_DEC, NULL, 0,
6405 NULL, HFILL }},
6406 { &hf_x2ap_uL_Total_PRB_usage,
6407 { "uL-Total-PRB-usage", "x2ap.uL_Total_PRB_usage",
6408 FT_UINT32, BASE_DEC, NULL, 0,
6409 NULL, HFILL }},
6410 { &hf_x2ap_rNTP_PerPRB,
6411 { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
6412 FT_BYTES, BASE_NONE, NULL, 0,
6413 "BIT_STRING_SIZE_6_110_", HFILL }},
6414 { &hf_x2ap_rNTP_Threshold,
6415 { "rNTP-Threshold", "x2ap.rNTP_Threshold",
6416 FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
6417 NULL, HFILL }},
6418 { &hf_x2ap_numberOfCellSpecificAntennaPorts_02,
6419 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
6420 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_02_vals), 0,
6421 "T_numberOfCellSpecificAntennaPorts_02", HFILL }},
6422 { &hf_x2ap_p_B,
6423 { "p-B", "x2ap.p_B",
6424 FT_UINT32, BASE_DEC, NULL, 0,
6425 "INTEGER_0_3_", HFILL }},
6426 { &hf_x2ap_pDCCH_InterferenceImpact,
6427 { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
6428 FT_UINT32, BASE_DEC, NULL, 0,
6429 "INTEGER_0_4_", HFILL }},
6430 { &hf_x2ap_dLS1TNLLoadIndicator,
6431 { "dLS1TNLLoadIndicator", "x2ap.dLS1TNLLoadIndicator",
6432 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6433 "LoadIndicator", HFILL }},
6434 { &hf_x2ap_uLS1TNLLoadIndicator,
6435 { "uLS1TNLLoadIndicator", "x2ap.uLS1TNLLoadIndicator",
6436 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
6437 "LoadIndicator", HFILL }},
6438 { &hf_x2ap_ServedCells_item,
6439 { "ServedCells item", "x2ap.ServedCells_item_element",
6440 FT_NONE, BASE_NONE, NULL, 0,
6441 NULL, HFILL }},
6442 { &hf_x2ap_servedCellInfo,
6443 { "servedCellInfo", "x2ap.servedCellInfo_element",
6444 FT_NONE, BASE_NONE, NULL, 0,
6445 "ServedCell_Information", HFILL }},
6446 { &hf_x2ap_neighbour_Info,
6447 { "neighbour-Info", "x2ap.neighbour_Info",
6448 FT_UINT32, BASE_DEC, NULL, 0,
6449 "Neighbour_Information", HFILL }},
6450 { &hf_x2ap_cellId,
6451 { "cellId", "x2ap.cellId_element",
6452 FT_NONE, BASE_NONE, NULL, 0,
6453 "ECGI", HFILL }},
6454 { &hf_x2ap_tAC,
6455 { "tAC", "x2ap.tAC",
6456 FT_BYTES, BASE_NONE, NULL, 0,
6457 NULL, HFILL }},
6458 { &hf_x2ap_broadcastPLMNs,
6459 { "broadcastPLMNs", "x2ap.broadcastPLMNs",
6460 FT_UINT32, BASE_DEC, NULL, 0,
6461 "BroadcastPLMNs_Item", HFILL }},
6462 { &hf_x2ap_eUTRA_Mode_Info,
6463 { "eUTRA-Mode-Info", "x2ap.eUTRA_Mode_Info",
6464 FT_UINT32, BASE_DEC, VALS(x2ap_EUTRA_Mode_Info_vals), 0,
6465 NULL, HFILL }},
6466 { &hf_x2ap_specialSubframePatterns,
6467 { "specialSubframePatterns", "x2ap.specialSubframePatterns",
6468 FT_UINT32, BASE_DEC, VALS(x2ap_SpecialSubframePatterns_vals), 0,
6469 NULL, HFILL }},
6470 { &hf_x2ap_cyclicPrefixDL,
6471 { "cyclicPrefixDL", "x2ap.cyclicPrefixDL",
6472 FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixDL_vals), 0,
6473 NULL, HFILL }},
6474 { &hf_x2ap_cyclicPrefixUL,
6475 { "cyclicPrefixUL", "x2ap.cyclicPrefixUL",
6476 FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixUL_vals), 0,
6477 NULL, HFILL }},
6478 { &hf_x2ap_oneframe,
6479 { "oneframe", "x2ap.oneframe",
6480 FT_BYTES, BASE_NONE, NULL, 0,
6481 NULL, HFILL }},
6482 { &hf_x2ap_fourframes,
6483 { "fourframes", "x2ap.fourframes",
6484 FT_BYTES, BASE_NONE, NULL, 0,
6485 NULL, HFILL }},
6486 { &hf_x2ap_tAListforMDT,
6487 { "tAListforMDT", "x2ap.tAListforMDT",
6488 FT_UINT32, BASE_DEC, NULL, 0,
6489 NULL, HFILL }},
6490 { &hf_x2ap_TAListforMDT_item,
6491 { "TAC", "x2ap.TAC",
6492 FT_BYTES, BASE_NONE, NULL, 0,
6493 NULL, HFILL }},
6494 { &hf_x2ap_measurementThreshold,
6495 { "measurementThreshold", "x2ap.measurementThreshold",
6496 FT_UINT32, BASE_DEC, VALS(x2ap_MeasurementThresholdA2_vals), 0,
6497 "MeasurementThresholdA2", HFILL }},
6498 { &hf_x2ap_eUTRANTraceID,
6499 { "eUTRANTraceID", "x2ap.eUTRANTraceID",
6500 FT_BYTES, BASE_NONE, NULL, 0,
6501 NULL, HFILL }},
6502 { &hf_x2ap_interfacesToTrace,
6503 { "interfacesToTrace", "x2ap.interfacesToTrace",
6504 FT_BYTES, BASE_NONE, NULL, 0,
6505 NULL, HFILL }},
6506 { &hf_x2ap_traceDepth,
6507 { "traceDepth", "x2ap.traceDepth",
6508 FT_UINT32, BASE_DEC, VALS(x2ap_TraceDepth_vals), 0,
6509 NULL, HFILL }},
6510 { &hf_x2ap_traceCollectionEntityIPAddress,
6511 { "traceCollectionEntityIPAddress", "x2ap.traceCollectionEntityIPAddress",
6512 FT_BYTES, BASE_NONE, NULL, 0,
6513 NULL, HFILL }},
6514 { &hf_x2ap_UE_HistoryInformation_item,
6515 { "LastVisitedCell-Item", "x2ap.LastVisitedCell_Item",
6516 FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedCell_Item_vals), 0,
6517 NULL, HFILL }},
6518 { &hf_x2ap_uEaggregateMaximumBitRateDownlink,
6519 { "uEaggregateMaximumBitRateDownlink", "x2ap.uEaggregateMaximumBitRateDownlink",
6520 FT_UINT64, BASE_DEC, NULL, 0,
6521 "BitRate", HFILL }},
6522 { &hf_x2ap_uEaggregateMaximumBitRateUplink,
6523 { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink",
6524 FT_UINT64, BASE_DEC, NULL, 0,
6525 "BitRate", HFILL }},
6526 { &hf_x2ap_encryptionAlgorithms,
6527 { "encryptionAlgorithms", "x2ap.encryptionAlgorithms",
6528 FT_BYTES, BASE_NONE, NULL, 0,
6529 NULL, HFILL }},
6530 { &hf_x2ap_integrityProtectionAlgorithms,
6531 { "integrityProtectionAlgorithms", "x2ap.integrityProtectionAlgorithms",
6532 FT_BYTES, BASE_NONE, NULL, 0,
6533 NULL, HFILL }},
6534 { &hf_x2ap_UL_InterferenceOverloadIndication_item,
6535 { "UL-InterferenceOverloadIndication-Item", "x2ap.UL_InterferenceOverloadIndication_Item",
6536 FT_UINT32, BASE_DEC, VALS(x2ap_UL_InterferenceOverloadIndication_Item_vals), 0,
6537 NULL, HFILL }},
6538 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item,
6539 { "UL-HighInterferenceIndicationInfo-Item", "x2ap.UL_HighInterferenceIndicationInfo_Item_element",
6540 FT_NONE, BASE_NONE, NULL, 0,
6541 NULL, HFILL }},
6542 { &hf_x2ap_target_Cell_ID,
6543 { "target-Cell-ID", "x2ap.target_Cell_ID_element",
6544 FT_NONE, BASE_NONE, NULL, 0,
6545 "ECGI", HFILL }},
6546 { &hf_x2ap_ul_interferenceindication,
6547 { "ul-interferenceindication", "x2ap.ul_interferenceindication",
6548 FT_BYTES, BASE_NONE, NULL, 0,
6549 "UL_HighInterferenceIndication", HFILL }},
6550 { &hf_x2ap_fdd_01,
6551 { "fdd", "x2ap.fdd_element",
6552 FT_NONE, BASE_NONE, NULL, 0,
6553 "UsableABSInformationFDD", HFILL }},
6554 { &hf_x2ap_tdd_01,
6555 { "tdd", "x2ap.tdd_element",
6556 FT_NONE, BASE_NONE, NULL, 0,
6557 "UsableABSInformationTDD", HFILL }},
6558 { &hf_x2ap_usable_abs_pattern_info,
6559 { "usable-abs-pattern-info", "x2ap.usable_abs_pattern_info",
6560 FT_BYTES, BASE_NONE, NULL, 0,
6561 "BIT_STRING_SIZE_40", HFILL }},
6562 { &hf_x2ap_usaable_abs_pattern_info,
6563 { "usaable-abs-pattern-info", "x2ap.usaable_abs_pattern_info",
6564 FT_BYTES, BASE_NONE, NULL, 0,
6565 "BIT_STRING_SIZE_1_70_", HFILL }},
6566 { &hf_x2ap_protocolIEs,
6567 { "protocolIEs", "x2ap.protocolIEs",
6568 FT_UINT32, BASE_DEC, NULL, 0,
6569 "ProtocolIE_Container", HFILL }},
6570 { &hf_x2ap_mME_UE_S1AP_ID,
6571 { "mME-UE-S1AP-ID", "x2ap.mME_UE_S1AP_ID",
6572 FT_UINT32, BASE_DEC, NULL, 0,
6573 "UE_S1AP_ID", HFILL }},
6574 { &hf_x2ap_uESecurityCapabilities,
6575 { "uESecurityCapabilities", "x2ap.uESecurityCapabilities_element",
6576 FT_NONE, BASE_NONE, NULL, 0,
6577 NULL, HFILL }},
6578 { &hf_x2ap_aS_SecurityInformation,
6579 { "aS-SecurityInformation", "x2ap.aS_SecurityInformation_element",
6580 FT_NONE, BASE_NONE, NULL, 0,
6581 NULL, HFILL }},
6582 { &hf_x2ap_uEaggregateMaximumBitRate,
6583 { "uEaggregateMaximumBitRate", "x2ap.uEaggregateMaximumBitRate_element",
6584 FT_NONE, BASE_NONE, NULL, 0,
6585 NULL, HFILL }},
6586 { &hf_x2ap_subscriberProfileIDforRFP,
6587 { "subscriberProfileIDforRFP", "x2ap.subscriberProfileIDforRFP",
6588 FT_UINT32, BASE_DEC, NULL, 0,
6589 NULL, HFILL }},
6590 { &hf_x2ap_e_RABs_ToBeSetup_List,
6591 { "e-RABs-ToBeSetup-List", "x2ap.e_RABs_ToBeSetup_List",
6592 FT_UINT32, BASE_DEC, NULL, 0,
6593 NULL, HFILL }},
6594 { &hf_x2ap_rRC_Context,
6595 { "rRC-Context", "x2ap.rRC_Context",
6596 FT_BYTES, BASE_NONE, NULL, 0,
6597 NULL, HFILL }},
6598 { &hf_x2ap_handoverRestrictionList,
6599 { "handoverRestrictionList", "x2ap.handoverRestrictionList_element",
6600 FT_NONE, BASE_NONE, NULL, 0,
6601 NULL, HFILL }},
6602 { &hf_x2ap_locationReportingInformation,
6603 { "locationReportingInformation", "x2ap.locationReportingInformation_element",
6604 FT_NONE, BASE_NONE, NULL, 0,
6605 NULL, HFILL }},
6606 { &hf_x2ap_E_RABs_ToBeSetup_List_item,
6607 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6608 FT_NONE, BASE_NONE, NULL, 0,
6609 NULL, HFILL }},
6610 { &hf_x2ap_e_RAB_Level_QoS_Parameters,
6611 { "e-RAB-Level-QoS-Parameters", "x2ap.e_RAB_Level_QoS_Parameters_element",
6612 FT_NONE, BASE_NONE, NULL, 0,
6613 NULL, HFILL }},
6614 { &hf_x2ap_dL_Forwarding,
6615 { "dL-Forwarding", "x2ap.dL_Forwarding",
6616 FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0,
6617 NULL, HFILL }},
6618 { &hf_x2ap_uL_GTPtunnelEndpoint,
6619 { "uL-GTPtunnelEndpoint", "x2ap.uL_GTPtunnelEndpoint_element",
6620 FT_NONE, BASE_NONE, NULL, 0,
6621 "GTPtunnelEndpoint", HFILL }},
6622 { &hf_x2ap_E_RABs_Admitted_List_item,
6623 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6624 FT_NONE, BASE_NONE, NULL, 0,
6625 NULL, HFILL }},
6626 { &hf_x2ap_uL_GTP_TunnelEndpoint,
6627 { "uL-GTP-TunnelEndpoint", "x2ap.uL_GTP_TunnelEndpoint_element",
6628 FT_NONE, BASE_NONE, NULL, 0,
6629 "GTPtunnelEndpoint", HFILL }},
6630 { &hf_x2ap_dL_GTP_TunnelEndpoint,
6631 { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint_element",
6632 FT_NONE, BASE_NONE, NULL, 0,
6633 "GTPtunnelEndpoint", HFILL }},
6634 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item,
6635 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6636 FT_NONE, BASE_NONE, NULL, 0,
6637 NULL, HFILL }},
6638 { &hf_x2ap_receiveStatusofULPDCPSDUs,
6639 { "receiveStatusofULPDCPSDUs", "x2ap.receiveStatusofULPDCPSDUs",
6640 FT_BYTES, BASE_NONE, NULL, 0,
6641 NULL, HFILL }},
6642 { &hf_x2ap_uL_COUNTvalue,
6643 { "uL-COUNTvalue", "x2ap.uL_COUNTvalue_element",
6644 FT_NONE, BASE_NONE, NULL, 0,
6645 "COUNTvalue", HFILL }},
6646 { &hf_x2ap_dL_COUNTvalue,
6647 { "dL-COUNTvalue", "x2ap.dL_COUNTvalue_element",
6648 FT_NONE, BASE_NONE, NULL, 0,
6649 "COUNTvalue", HFILL }},
6650 { &hf_x2ap_CellInformation_List_item,
6651 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6652 FT_NONE, BASE_NONE, NULL, 0,
6653 NULL, HFILL }},
6654 { &hf_x2ap_cell_ID,
6655 { "cell-ID", "x2ap.cell_ID_element",
6656 FT_NONE, BASE_NONE, NULL, 0,
6657 "ECGI", HFILL }},
6658 { &hf_x2ap_ul_InterferenceOverloadIndication,
6659 { "ul-InterferenceOverloadIndication", "x2ap.ul_InterferenceOverloadIndication",
6660 FT_UINT32, BASE_DEC, NULL, 0,
6661 NULL, HFILL }},
6662 { &hf_x2ap_ul_HighInterferenceIndicationInfo,
6663 { "ul-HighInterferenceIndicationInfo", "x2ap.ul_HighInterferenceIndicationInfo",
6664 FT_UINT32, BASE_DEC, NULL, 0,
6665 NULL, HFILL }},
6666 { &hf_x2ap_relativeNarrowbandTxPower,
6667 { "relativeNarrowbandTxPower", "x2ap.relativeNarrowbandTxPower_element",
6668 FT_NONE, BASE_NONE, NULL, 0,
6669 NULL, HFILL }},
6670 { &hf_x2ap_ServedCellsToModify_item,
6671 { "ServedCellsToModify-Item", "x2ap.ServedCellsToModify_Item_element",
6672 FT_NONE, BASE_NONE, NULL, 0,
6673 NULL, HFILL }},
6674 { &hf_x2ap_old_ecgi,
6675 { "old-ecgi", "x2ap.old_ecgi_element",
6676 FT_NONE, BASE_NONE, NULL, 0,
6677 "ECGI", HFILL }},
6678 { &hf_x2ap_Old_ECGIs_item,
6679 { "ECGI", "x2ap.ECGI_element",
6680 FT_NONE, BASE_NONE, NULL, 0,
6681 NULL, HFILL }},
6682 { &hf_x2ap_CellToReport_List_item,
6683 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6684 FT_NONE, BASE_NONE, NULL, 0,
6685 NULL, HFILL }},
6686 { &hf_x2ap_MeasurementInitiationResult_List_item,
6687 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6688 FT_NONE, BASE_NONE, NULL, 0,
6689 NULL, HFILL }},
6690 { &hf_x2ap_measurementFailureCause_List,
6691 { "measurementFailureCause-List", "x2ap.measurementFailureCause_List",
6692 FT_UINT32, BASE_DEC, NULL, 0,
6693 NULL, HFILL }},
6694 { &hf_x2ap_MeasurementFailureCause_List_item,
6695 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6696 FT_NONE, BASE_NONE, NULL, 0,
6697 NULL, HFILL }},
6698 { &hf_x2ap_measurementFailedReportCharacteristics,
6699 { "measurementFailedReportCharacteristics", "x2ap.measurementFailedReportCharacteristics",
6700 FT_BYTES, BASE_NONE, NULL, 0,
6701 "ReportCharacteristics", HFILL }},
6702 { &hf_x2ap_CompleteFailureCauseInformation_List_item,
6703 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6704 FT_NONE, BASE_NONE, NULL, 0,
6705 NULL, HFILL }},
6706 { &hf_x2ap_CellMeasurementResult_List_item,
6707 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
6708 FT_NONE, BASE_NONE, NULL, 0,
6709 NULL, HFILL }},
6710 { &hf_x2ap_hWLoadIndicator,
6711 { "hWLoadIndicator", "x2ap.hWLoadIndicator_element",
6712 FT_NONE, BASE_NONE, NULL, 0,
6713 NULL, HFILL }},
6714 { &hf_x2ap_s1TNLLoadIndicator,
6715 { "s1TNLLoadIndicator", "x2ap.s1TNLLoadIndicator_element",
6716 FT_NONE, BASE_NONE, NULL, 0,
6717 NULL, HFILL }},
6718 { &hf_x2ap_radioResourceStatus,
6719 { "radioResourceStatus", "x2ap.radioResourceStatus_element",
6720 FT_NONE, BASE_NONE, NULL, 0,
6721 NULL, HFILL }},
6722 { &hf_x2ap_privateIEs,
6723 { "privateIEs", "x2ap.privateIEs",
6724 FT_UINT32, BASE_DEC, NULL, 0,
6725 "PrivateIE_Container", HFILL }},
6726 { &hf_x2ap_ServedCellsToActivate_item,
6727 { "ServedCellsToActivate-Item", "x2ap.ServedCellsToActivate_Item_element",
6728 FT_NONE, BASE_NONE, NULL, 0,
6729 NULL, HFILL }},
6730 { &hf_x2ap_ecgi,
6731 { "ecgi", "x2ap.ecgi_element",
6732 FT_NONE, BASE_NONE, NULL, 0,
6733 NULL, HFILL }},
6734 { &hf_x2ap_ActivatedCellList_item,
6735 { "ActivatedCellList-Item", "x2ap.ActivatedCellList_Item_element",
6736 FT_NONE, BASE_NONE, NULL, 0,
6737 NULL, HFILL }},
6738 { &hf_x2ap_initiatingMessage,
6739 { "initiatingMessage", "x2ap.initiatingMessage_element",
6740 FT_NONE, BASE_NONE, NULL, 0,
6741 NULL, HFILL }},
6742 { &hf_x2ap_successfulOutcome,
6743 { "successfulOutcome", "x2ap.successfulOutcome_element",
6744 FT_NONE, BASE_NONE, NULL, 0,
6745 NULL, HFILL }},
6746 { &hf_x2ap_unsuccessfulOutcome,
6747 { "unsuccessfulOutcome", "x2ap.unsuccessfulOutcome_element",
6748 FT_NONE, BASE_NONE, NULL, 0,
6749 NULL, HFILL }},
6750 { &hf_x2ap_initiatingMessage_value,
6751 { "value", "x2ap.value_element",
6752 FT_NONE, BASE_NONE, NULL, 0,
6753 "InitiatingMessage_value", HFILL }},
6754 { &hf_x2ap_successfulOutcome_value,
6755 { "value", "x2ap.value_element",
6756 FT_NONE, BASE_NONE, NULL, 0,
6757 "SuccessfulOutcome_value", HFILL }},
6758 { &hf_x2ap_value,
6759 { "value", "x2ap.value_element",
6760 FT_NONE, BASE_NONE, NULL, 0,
6761 "UnsuccessfulOutcome_value", HFILL }},
6763 /*--- End of included file: packet-x2ap-hfarr.c ---*/
6764 #line 149 "../../asn1/x2ap/packet-x2ap-template.c"
6767 /* List of subtrees */
6768 static gint *ett[] = {
6769 &ett_x2ap,
6770 &ett_x2ap_TransportLayerAddress,
6772 /*--- Included file: packet-x2ap-ettarr.c ---*/
6773 #line 1 "../../asn1/x2ap/packet-x2ap-ettarr.c"
6774 &ett_x2ap_PrivateIE_ID,
6775 &ett_x2ap_ProtocolIE_Container,
6776 &ett_x2ap_ProtocolIE_Field,
6777 &ett_x2ap_ProtocolExtensionContainer,
6778 &ett_x2ap_ProtocolExtensionField,
6779 &ett_x2ap_PrivateIE_Container,
6780 &ett_x2ap_PrivateIE_Field,
6781 &ett_x2ap_ABSInformation,
6782 &ett_x2ap_ABSInformationFDD,
6783 &ett_x2ap_ABSInformationTDD,
6784 &ett_x2ap_ABS_Status,
6785 &ett_x2ap_AS_SecurityInformation,
6786 &ett_x2ap_AllocationAndRetentionPriority,
6787 &ett_x2ap_AreaScopeOfMDT,
6788 &ett_x2ap_BroadcastPLMNs_Item,
6789 &ett_x2ap_Cause,
6790 &ett_x2ap_CellBasedMDT,
6791 &ett_x2ap_CellIdListforMDT,
6792 &ett_x2ap_CellType,
6793 &ett_x2ap_CompositeAvailableCapacityGroup,
6794 &ett_x2ap_CompositeAvailableCapacity,
6795 &ett_x2ap_COUNTvalue,
6796 &ett_x2ap_CriticalityDiagnostics,
6797 &ett_x2ap_CriticalityDiagnostics_IE_List,
6798 &ett_x2ap_CriticalityDiagnostics_IE_List_item,
6799 &ett_x2ap_FDD_Info,
6800 &ett_x2ap_TDD_Info,
6801 &ett_x2ap_EUTRA_Mode_Info,
6802 &ett_x2ap_ECGI,
6803 &ett_x2ap_ENB_ID,
6804 &ett_x2ap_EPLMNs,
6805 &ett_x2ap_E_RAB_Level_QoS_Parameters,
6806 &ett_x2ap_E_RAB_List,
6807 &ett_x2ap_E_RAB_Item,
6808 &ett_x2ap_ForbiddenTAs,
6809 &ett_x2ap_ForbiddenTAs_Item,
6810 &ett_x2ap_ForbiddenTACs,
6811 &ett_x2ap_ForbiddenLAs,
6812 &ett_x2ap_ForbiddenLAs_Item,
6813 &ett_x2ap_ForbiddenLACs,
6814 &ett_x2ap_GBR_QosInformation,
6815 &ett_x2ap_GlobalENB_ID,
6816 &ett_x2ap_GTPtunnelEndpoint,
6817 &ett_x2ap_GUGroupIDList,
6818 &ett_x2ap_GU_Group_ID,
6819 &ett_x2ap_GUMMEI,
6820 &ett_x2ap_HandoverRestrictionList,
6821 &ett_x2ap_HWLoadIndicator,
6822 &ett_x2ap_LastVisitedCell_Item,
6823 &ett_x2ap_LastVisitedEUTRANCellInformation,
6824 &ett_x2ap_LastVisitedGERANCellInformation,
6825 &ett_x2ap_LocationReportingInformation,
6826 &ett_x2ap_MDT_Configuration,
6827 &ett_x2ap_MeasurementThresholdA2,
6828 &ett_x2ap_MBSFN_Subframe_Infolist,
6829 &ett_x2ap_MBSFN_Subframe_Info,
6830 &ett_x2ap_MobilityParametersModificationRange,
6831 &ett_x2ap_MobilityParametersInformation,
6832 &ett_x2ap_Neighbour_Information,
6833 &ett_x2ap_Neighbour_Information_item,
6834 &ett_x2ap_PeriodicReportingMDT,
6835 &ett_x2ap_PRACH_Configuration,
6836 &ett_x2ap_RadioResourceStatus,
6837 &ett_x2ap_RelativeNarrowbandTxPower,
6838 &ett_x2ap_S1TNLLoadIndicator,
6839 &ett_x2ap_ServedCells,
6840 &ett_x2ap_ServedCells_item,
6841 &ett_x2ap_ServedCell_Information,
6842 &ett_x2ap_SpecialSubframe_Info,
6843 &ett_x2ap_SubframeAllocation,
6844 &ett_x2ap_TABasedMDT,
6845 &ett_x2ap_TAListforMDT,
6846 &ett_x2ap_ThresholdEventA2,
6847 &ett_x2ap_TraceActivation,
6848 &ett_x2ap_UE_HistoryInformation,
6849 &ett_x2ap_UEAggregateMaximumBitRate,
6850 &ett_x2ap_UESecurityCapabilities,
6851 &ett_x2ap_UL_InterferenceOverloadIndication,
6852 &ett_x2ap_UL_HighInterferenceIndicationInfo,
6853 &ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
6854 &ett_x2ap_UsableABSInformation,
6855 &ett_x2ap_UsableABSInformationFDD,
6856 &ett_x2ap_UsableABSInformationTDD,
6857 &ett_x2ap_HandoverRequest,
6858 &ett_x2ap_UE_ContextInformation,
6859 &ett_x2ap_E_RABs_ToBeSetup_List,
6860 &ett_x2ap_E_RABs_ToBeSetup_Item,
6861 &ett_x2ap_HandoverRequestAcknowledge,
6862 &ett_x2ap_E_RABs_Admitted_List,
6863 &ett_x2ap_E_RABs_Admitted_Item,
6864 &ett_x2ap_HandoverPreparationFailure,
6865 &ett_x2ap_HandoverReport,
6866 &ett_x2ap_SNStatusTransfer,
6867 &ett_x2ap_E_RABs_SubjectToStatusTransfer_List,
6868 &ett_x2ap_E_RABs_SubjectToStatusTransfer_Item,
6869 &ett_x2ap_UEContextRelease,
6870 &ett_x2ap_HandoverCancel,
6871 &ett_x2ap_ErrorIndication,
6872 &ett_x2ap_ResetRequest,
6873 &ett_x2ap_ResetResponse,
6874 &ett_x2ap_X2SetupRequest,
6875 &ett_x2ap_X2SetupResponse,
6876 &ett_x2ap_X2SetupFailure,
6877 &ett_x2ap_LoadInformation,
6878 &ett_x2ap_CellInformation_List,
6879 &ett_x2ap_CellInformation_Item,
6880 &ett_x2ap_ENBConfigurationUpdate,
6881 &ett_x2ap_ServedCellsToModify,
6882 &ett_x2ap_ServedCellsToModify_Item,
6883 &ett_x2ap_Old_ECGIs,
6884 &ett_x2ap_ENBConfigurationUpdateAcknowledge,
6885 &ett_x2ap_ENBConfigurationUpdateFailure,
6886 &ett_x2ap_ResourceStatusRequest,
6887 &ett_x2ap_CellToReport_List,
6888 &ett_x2ap_CellToReport_Item,
6889 &ett_x2ap_ResourceStatusResponse,
6890 &ett_x2ap_MeasurementInitiationResult_List,
6891 &ett_x2ap_MeasurementInitiationResult_Item,
6892 &ett_x2ap_MeasurementFailureCause_List,
6893 &ett_x2ap_MeasurementFailureCause_Item,
6894 &ett_x2ap_ResourceStatusFailure,
6895 &ett_x2ap_CompleteFailureCauseInformation_List,
6896 &ett_x2ap_CompleteFailureCauseInformation_Item,
6897 &ett_x2ap_ResourceStatusUpdate,
6898 &ett_x2ap_CellMeasurementResult_List,
6899 &ett_x2ap_CellMeasurementResult_Item,
6900 &ett_x2ap_PrivateMessage,
6901 &ett_x2ap_MobilityChangeRequest,
6902 &ett_x2ap_MobilityChangeAcknowledge,
6903 &ett_x2ap_MobilityChangeFailure,
6904 &ett_x2ap_RLFIndication,
6905 &ett_x2ap_CellActivationRequest,
6906 &ett_x2ap_ServedCellsToActivate,
6907 &ett_x2ap_ServedCellsToActivate_Item,
6908 &ett_x2ap_CellActivationResponse,
6909 &ett_x2ap_ActivatedCellList,
6910 &ett_x2ap_ActivatedCellList_Item,
6911 &ett_x2ap_CellActivationFailure,
6912 &ett_x2ap_X2AP_PDU,
6913 &ett_x2ap_InitiatingMessage,
6914 &ett_x2ap_SuccessfulOutcome,
6915 &ett_x2ap_UnsuccessfulOutcome,
6917 /*--- End of included file: packet-x2ap-ettarr.c ---*/
6918 #line 156 "../../asn1/x2ap/packet-x2ap-template.c"
6921 module_t *x2ap_module;
6923 /* Register protocol */
6924 proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
6925 /* Register fields and subtrees */
6926 proto_register_field_array(proto_x2ap, hf, array_length(hf));
6927 proto_register_subtree_array(ett, array_length(ett));
6929 /* Register dissector */
6930 register_dissector("x2ap", dissect_x2ap, proto_x2ap);
6932 /* Register dissector tables */
6933 x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
6934 x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
6935 x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC);
6936 x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC);
6937 x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC);
6939 /* Register configuration options for ports */
6940 x2ap_module = prefs_register_protocol(proto_x2ap, proto_reg_handoff_x2ap);
6942 prefs_register_uint_preference(x2ap_module, "sctp.port",
6943 "X2AP SCTP Port",
6944 "Set the SCTP port for X2AP messages",
6946 &gbl_x2apSctpPort);
6951 /*--- proto_reg_handoff_x2ap ---------------------------------------*/
6952 void
6953 proto_reg_handoff_x2ap(void)
6955 dissector_handle_t x2ap_handle;
6956 static gboolean Initialized=FALSE;
6957 static guint SctpPort;
6959 x2ap_handle = find_dissector("x2ap");
6960 if (!Initialized) {
6961 dissector_add_handle("sctp.port", x2ap_handle); /* for "decode-as" */
6962 dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle);
6963 Initialized=TRUE;
6965 /*--- Included file: packet-x2ap-dis-tab.c ---*/
6966 #line 1 "../../asn1/x2ap/packet-x2ap-dis-tab.c"
6967 dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_Item, new_create_dissector_handle(dissect_E_RABs_Admitted_Item_PDU, proto_x2ap));
6968 dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_List, new_create_dissector_handle(dissect_E_RABs_Admitted_List_PDU, proto_x2ap));
6969 dissector_add_uint("x2ap.ies", id_E_RAB_Item, new_create_dissector_handle(dissect_E_RAB_Item_PDU, proto_x2ap));
6970 dissector_add_uint("x2ap.ies", id_E_RABs_NotAdmitted_List, new_create_dissector_handle(dissect_E_RAB_List_PDU, proto_x2ap));
6971 dissector_add_uint("x2ap.ies", id_E_RABs_ToBeSetup_Item, new_create_dissector_handle(dissect_E_RABs_ToBeSetup_Item_PDU, proto_x2ap));
6972 dissector_add_uint("x2ap.ies", id_Cause, new_create_dissector_handle(dissect_Cause_PDU, proto_x2ap));
6973 dissector_add_uint("x2ap.ies", id_CellInformation, new_create_dissector_handle(dissect_CellInformation_List_PDU, proto_x2ap));
6974 dissector_add_uint("x2ap.ies", id_CellInformation_Item, new_create_dissector_handle(dissect_CellInformation_Item_PDU, proto_x2ap));
6975 dissector_add_uint("x2ap.ies", id_New_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
6976 dissector_add_uint("x2ap.ies", id_Old_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
6977 dissector_add_uint("x2ap.ies", id_TargetCell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
6978 dissector_add_uint("x2ap.ies", id_TargeteNBtoSource_eNBTransparentContainer, new_create_dissector_handle(dissect_TargeteNBtoSource_eNBTransparentContainer_PDU, proto_x2ap));
6979 dissector_add_uint("x2ap.ies", id_TraceActivation, new_create_dissector_handle(dissect_TraceActivation_PDU, proto_x2ap));
6980 dissector_add_uint("x2ap.ies", id_UE_ContextInformation, new_create_dissector_handle(dissect_UE_ContextInformation_PDU, proto_x2ap));
6981 dissector_add_uint("x2ap.ies", id_UE_HistoryInformation, new_create_dissector_handle(dissect_UE_HistoryInformation_PDU, proto_x2ap));
6982 dissector_add_uint("x2ap.ies", id_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
6983 dissector_add_uint("x2ap.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_x2ap));
6984 dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_List, new_create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_List_PDU, proto_x2ap));
6985 dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_Item, new_create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_Item_PDU, proto_x2ap));
6986 dissector_add_uint("x2ap.ies", id_ServedCells, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
6987 dissector_add_uint("x2ap.ies", id_GlobalENB_ID, new_create_dissector_handle(dissect_GlobalENB_ID_PDU, proto_x2ap));
6988 dissector_add_uint("x2ap.ies", id_TimeToWait, new_create_dissector_handle(dissect_TimeToWait_PDU, proto_x2ap));
6989 dissector_add_uint("x2ap.ies", id_GUMMEI_ID, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_x2ap));
6990 dissector_add_uint("x2ap.ies", id_GUGroupIDList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
6991 dissector_add_uint("x2ap.ies", id_ServedCellsToAdd, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
6992 dissector_add_uint("x2ap.ies", id_ServedCellsToModify, new_create_dissector_handle(dissect_ServedCellsToModify_PDU, proto_x2ap));
6993 dissector_add_uint("x2ap.ies", id_ServedCellsToDelete, new_create_dissector_handle(dissect_Old_ECGIs_PDU, proto_x2ap));
6994 dissector_add_uint("x2ap.ies", id_Registration_Request, new_create_dissector_handle(dissect_Registration_Request_PDU, proto_x2ap));
6995 dissector_add_uint("x2ap.ies", id_CellToReport, new_create_dissector_handle(dissect_CellToReport_List_PDU, proto_x2ap));
6996 dissector_add_uint("x2ap.ies", id_ReportingPeriodicity, new_create_dissector_handle(dissect_ReportingPeriodicity_PDU, proto_x2ap));
6997 dissector_add_uint("x2ap.ies", id_CellToReport_Item, new_create_dissector_handle(dissect_CellToReport_Item_PDU, proto_x2ap));
6998 dissector_add_uint("x2ap.ies", id_CellMeasurementResult, new_create_dissector_handle(dissect_CellMeasurementResult_List_PDU, proto_x2ap));
6999 dissector_add_uint("x2ap.ies", id_CellMeasurementResult_Item, new_create_dissector_handle(dissect_CellMeasurementResult_Item_PDU, proto_x2ap));
7000 dissector_add_uint("x2ap.ies", id_GUGroupIDToAddList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
7001 dissector_add_uint("x2ap.ies", id_GUGroupIDToDeleteList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
7002 dissector_add_uint("x2ap.ies", id_SRVCCOperationPossible, new_create_dissector_handle(dissect_SRVCCOperationPossible_PDU, proto_x2ap));
7003 dissector_add_uint("x2ap.ies", id_ReportCharacteristics, new_create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_x2ap));
7004 dissector_add_uint("x2ap.ies", id_ENB1_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
7005 dissector_add_uint("x2ap.ies", id_ENB2_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
7006 dissector_add_uint("x2ap.ies", id_ENB1_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7007 dissector_add_uint("x2ap.ies", id_ENB2_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7008 dissector_add_uint("x2ap.ies", id_ENB2_Proposed_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
7009 dissector_add_uint("x2ap.ies", id_ENB1_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
7010 dissector_add_uint("x2ap.ies", id_ENB2_Mobility_Parameters_Modification_Range, new_create_dissector_handle(dissect_MobilityParametersModificationRange_PDU, proto_x2ap));
7011 dissector_add_uint("x2ap.ies", id_FailureCellPCI, new_create_dissector_handle(dissect_PCI_PDU, proto_x2ap));
7012 dissector_add_uint("x2ap.ies", id_Re_establishmentCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7013 dissector_add_uint("x2ap.ies", id_FailureCellCRNTI, new_create_dissector_handle(dissect_CRNTI_PDU, proto_x2ap));
7014 dissector_add_uint("x2ap.ies", id_ShortMAC_I, new_create_dissector_handle(dissect_ShortMAC_I_PDU, proto_x2ap));
7015 dissector_add_uint("x2ap.ies", id_SourceCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7016 dissector_add_uint("x2ap.ies", id_FailureCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
7017 dissector_add_uint("x2ap.ies", id_HandoverReportType, new_create_dissector_handle(dissect_HandoverReportType_PDU, proto_x2ap));
7018 dissector_add_uint("x2ap.ies", id_UE_RLF_Report_Container, new_create_dissector_handle(dissect_UE_RLF_Report_Container_PDU, proto_x2ap));
7019 dissector_add_uint("x2ap.ies", id_ServedCellsToActivate, new_create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_x2ap));
7020 dissector_add_uint("x2ap.ies", id_ActivatedCellList, new_create_dissector_handle(dissect_ActivatedCellList_PDU, proto_x2ap));
7021 dissector_add_uint("x2ap.ies", id_PartialSuccessIndicator, new_create_dissector_handle(dissect_PartialSuccessIndicator_PDU, proto_x2ap));
7022 dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_List, new_create_dissector_handle(dissect_MeasurementInitiationResult_List_PDU, proto_x2ap));
7023 dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_Item, new_create_dissector_handle(dissect_MeasurementInitiationResult_Item_PDU, proto_x2ap));
7024 dissector_add_uint("x2ap.ies", id_MeasurementFailureCause_Item, new_create_dissector_handle(dissect_MeasurementFailureCause_Item_PDU, proto_x2ap));
7025 dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_List, new_create_dissector_handle(dissect_CompleteFailureCauseInformation_List_PDU, proto_x2ap));
7026 dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_Item, new_create_dissector_handle(dissect_CompleteFailureCauseInformation_Item_PDU, proto_x2ap));
7027 dissector_add_uint("x2ap.ies", id_CSGMembershipStatus, new_create_dissector_handle(dissect_CSGMembershipStatus_PDU, proto_x2ap));
7028 dissector_add_uint("x2ap.ies", id_RRCConnSetupIndicator, new_create_dissector_handle(dissect_RRCConnSetupIndicator_PDU, proto_x2ap));
7029 dissector_add_uint("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
7030 dissector_add_uint("x2ap.extension", id_CompositeAvailableCapacityGroup, new_create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
7031 dissector_add_uint("x2ap.extension", id_PRACH_Configuration, new_create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
7032 dissector_add_uint("x2ap.extension", id_MBSFN_Subframe_Info, new_create_dissector_handle(dissect_MBSFN_Subframe_Infolist_PDU, proto_x2ap));
7033 dissector_add_uint("x2ap.extension", id_DeactivationIndication, new_create_dissector_handle(dissect_DeactivationIndication_PDU, proto_x2ap));
7034 dissector_add_uint("x2ap.extension", id_ABSInformation, new_create_dissector_handle(dissect_ABSInformation_PDU, proto_x2ap));
7035 dissector_add_uint("x2ap.extension", id_InvokeIndication, new_create_dissector_handle(dissect_InvokeIndication_PDU, proto_x2ap));
7036 dissector_add_uint("x2ap.extension", id_ABS_Status, new_create_dissector_handle(dissect_ABS_Status_PDU, proto_x2ap));
7037 dissector_add_uint("x2ap.extension", id_CSG_Id, new_create_dissector_handle(dissect_CSG_Id_PDU, proto_x2ap));
7038 dissector_add_uint("x2ap.extension", id_MDTConfiguration, new_create_dissector_handle(dissect_MDT_Configuration_PDU, proto_x2ap));
7039 dissector_add_uint("x2ap.extension", id_ManagementBasedMDTallowed, new_create_dissector_handle(dissect_ManagementBasedMDTallowed_PDU, proto_x2ap));
7040 dissector_add_uint("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
7041 dissector_add_uint("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
7042 dissector_add_uint("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
7043 dissector_add_uint("x2ap.proc.imsg", id_snStatusTransfer, new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap));
7044 dissector_add_uint("x2ap.proc.imsg", id_uEContextRelease, new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap));
7045 dissector_add_uint("x2ap.proc.imsg", id_handoverCancel, new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap));
7046 dissector_add_uint("x2ap.proc.imsg", id_errorIndication, new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap));
7047 dissector_add_uint("x2ap.proc.imsg", id_reset, new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap));
7048 dissector_add_uint("x2ap.proc.sout", id_reset, new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap));
7049 dissector_add_uint("x2ap.proc.imsg", id_x2Setup, new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap));
7050 dissector_add_uint("x2ap.proc.sout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap));
7051 dissector_add_uint("x2ap.proc.uout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap));
7052 dissector_add_uint("x2ap.proc.imsg", id_loadIndication, new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap));
7053 dissector_add_uint("x2ap.proc.imsg", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap));
7054 dissector_add_uint("x2ap.proc.sout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap));
7055 dissector_add_uint("x2ap.proc.uout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap));
7056 dissector_add_uint("x2ap.proc.imsg", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap));
7057 dissector_add_uint("x2ap.proc.sout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap));
7058 dissector_add_uint("x2ap.proc.uout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap));
7059 dissector_add_uint("x2ap.proc.imsg", id_resourceStatusReporting, new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap));
7060 dissector_add_uint("x2ap.proc.imsg", id_privateMessage, new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap));
7061 dissector_add_uint("x2ap.proc.imsg", id_handoverReport, new_create_dissector_handle(dissect_HandoverReport_PDU, proto_x2ap));
7062 dissector_add_uint("x2ap.proc.imsg", id_rLFIndication, new_create_dissector_handle(dissect_RLFIndication_PDU, proto_x2ap));
7063 dissector_add_uint("x2ap.proc.imsg", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeRequest_PDU, proto_x2ap));
7064 dissector_add_uint("x2ap.proc.sout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeAcknowledge_PDU, proto_x2ap));
7065 dissector_add_uint("x2ap.proc.uout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeFailure_PDU, proto_x2ap));
7066 dissector_add_uint("x2ap.proc.imsg", id_cellActivation, new_create_dissector_handle(dissect_CellActivationRequest_PDU, proto_x2ap));
7067 dissector_add_uint("x2ap.proc.sout", id_cellActivation, new_create_dissector_handle(dissect_CellActivationResponse_PDU, proto_x2ap));
7068 dissector_add_uint("x2ap.proc.uout", id_cellActivation, new_create_dissector_handle(dissect_CellActivationFailure_PDU, proto_x2ap));
7071 /*--- End of included file: packet-x2ap-dis-tab.c ---*/
7072 #line 202 "../../asn1/x2ap/packet-x2ap-template.c"
7073 } else {
7074 if (SctpPort != 0) {
7075 dissector_delete_uint("sctp.port", SctpPort, x2ap_handle);
7079 SctpPort=gbl_x2apSctpPort;
7080 if (SctpPort != 0) {
7081 dissector_add_uint("sctp.port", SctpPort, x2ap_handle);