1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -p x2ap -c ./x2ap.cnf -s ./packet-x2ap-template -D . X2AP-CommonDataTypes.asn X2AP-Constants.asn X2AP-Containers.asn X2AP-IEs.asn X2AP-PDU-Contents.asn X2AP-PDU-Descriptions.asn */
6 /* Input file: packet-x2ap-template.c */
8 #line 1 "packet-x2ap-template.c"
10 * Routines for dissecting Evolved Universal Terrestrial Radio Access Network (EUTRAN);
11 * X2 Application Protocol (X2AP);
12 * 3GPP TS 36.423 packet dissection
13 * Copyright 2007-2008, Anders Broman <anders.broman@ericsson.com>
17 * Wireshark - Network traffic analyzer
18 * By Gerald Combs <gerald@wireshark.org>
19 * Copyright 1998 Gerald Combs
21 * This program is free software; you can redistribute it and/or
22 * modify it under the terms of the GNU General Public License
23 * as published by the Free Software Foundation; either version 2
24 * of the License, or (at your option) any later version.
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 * GNU General Public License for more details.
31 * You should have received a copy of the GNU General Public License
32 * along with this program; if not, write to the Free Software
33 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
36 * 3GPP TS 36.423 V8.0.0 (2007-12)
44 #include <epan/packet.h>
48 #include <epan/asn1.h>
49 #include <epan/prefs.h>
50 #include <epan/sctpppids.h>
52 #include "packet-per.h"
53 #include "packet-e212.h"
54 #include "packet-frame.h"
55 #include "packet-lte-rrc.h"
58 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
59 #pragma warning(disable:4146)
62 #define PNAME "EUTRAN X2 Application Protocol (X2AP)"
66 /* Dissector will use SCTP PPID 27 or SCTP port. IANA assigned port = 36422 */
67 #define SCTP_PORT_X2AP 36422
70 /*--- Included file: packet-x2ap-val.h ---*/
71 #line 1 "packet-x2ap-val.h"
72 #define maxPrivateIEs 65535
73 #define maxProtocolExtensions 65535
74 #define maxProtocolIEs 65535
75 #define maxEARFCN 65535
76 #define maxInterfaces 16
77 #define maxCellineNB 256
78 #define maxnoofBearers 256
79 #define maxNrOfErrors 256
80 #define maxnoofPDCP_SN 16
81 #define maxnoofEPLMNs 15
82 #define maxnoofEPLMNsPlusOne 16
83 #define maxnoofForbLACs 4096
84 #define maxnoofForbTACs 4096
85 #define maxnoofBPLMNs 6
86 #define maxnoofNeighbours 512
87 #define maxnoofPRBs 110
89 #define maxnoofCells 16
91 typedef enum _ProcedureCode_enum {
92 id_handoverPreparation = 0,
93 id_handoverCancel = 1,
94 id_loadIndication = 2,
95 id_errorIndication = 3,
96 id_snStatusTransfer = 4,
97 id_uEContextRelease = 5,
100 id_eNBConfigurationUpdate = 8,
101 id_resourceStatusReportingInitiation = 9,
102 id_resourceStatusReporting = 10,
103 id_privateMessage = 11,
104 id_mobilitySettingsChange = 12,
105 id_rLFIndication = 13,
106 id_handoverReport = 14
107 } ProcedureCode_enum;
109 typedef enum _ProtocolIE_ID_enum {
110 id_E_RABs_Admitted_Item = 0,
111 id_E_RABs_Admitted_List = 1,
113 id_E_RABs_NotAdmitted_List = 3,
114 id_E_RABs_ToBeSetup_Item = 4,
116 id_CellInformation = 6,
117 id_CellInformation_Item = 7,
118 id_New_eNB_UE_X2AP_ID = 9,
119 id_Old_eNB_UE_X2AP_ID = 10,
120 id_TargetCell_ID = 11,
121 id_TargeteNBtoSource_eNBTransparentContainer = 12,
122 id_TraceActivation = 13,
123 id_UE_ContextInformation = 14,
124 id_UE_HistoryInformation = 15,
126 id_CriticalityDiagnostics = 17,
127 id_E_RABs_SubjectToStatusTransfer_List = 18,
128 id_E_RABs_SubjectToStatusTransfer_Item = 19,
130 id_GlobalENB_ID = 21,
133 id_GUGroupIDList = 24,
134 id_ServedCellsToAdd = 25,
135 id_ServedCellsToModify = 26,
136 id_ServedCellsToDelete = 27,
137 id_Registration_Request = 28,
138 id_CellToReport = 29,
139 id_ReportingPeriodicity = 30,
140 id_CellToReport_Item = 31,
141 id_CellMeasurementResult = 32,
142 id_CellMeasurementResult_Item = 33,
143 id_GUGroupIDToAddList = 34,
144 id_GUGroupIDToDeleteList = 35,
145 id_SRVCCOperationPossible = 36,
146 id_Measurement_ID = 37,
147 id_ReportCharacteristics = 38,
148 id_ENB1_Measurement_ID = 39,
149 id_ENB2_Measurement_ID = 40,
150 id_Number_of_Antennaports = 41,
151 id_CompositeAvailableCapacityGroup = 42,
152 id_ENB1_Cell_ID = 43,
153 id_ENB2_Cell_ID = 44,
154 id_ENB2_Proposed_Mobility_Parameters = 45,
155 id_ENB1_Mobility_Parameters = 46,
156 id_ENB2_Mobility_Parameters_Modification_Range = 47,
157 id_FailureCellPCI = 48,
158 id_Re_establishmentCellECGI = 49,
159 id_FailureCellCRNTI = 50,
161 id_SourceCellECGI = 52,
162 id_FailureCellECGI = 53,
163 id_HandoverReportType = 54,
164 id_PRACH_Configuration = 55
165 } ProtocolIE_ID_enum;
167 /*--- End of included file: packet-x2ap-val.h ---*/
168 #line 62 "packet-x2ap-template.c"
170 /* Initialize the protocol and registered fields */
171 static int proto_x2ap = -1;
172 static int hf_x2ap_transportLayerAddressIPv4 = -1;
173 static int hf_x2ap_transportLayerAddressIPv6 = -1;
175 /*--- Included file: packet-x2ap-hf.c ---*/
176 #line 1 "packet-x2ap-hf.c"
177 static int hf_x2ap_Cause_PDU = -1; /* Cause */
178 static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */
179 static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
180 static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */
181 static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
182 static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */
183 static int hf_x2ap_E_RAB_Item_PDU = -1; /* E_RAB_Item */
184 static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
185 static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
186 static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
187 static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */
188 static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */
189 static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */
190 static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */
191 static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */
192 static int hf_x2ap_PCI_PDU = -1; /* PCI */
193 static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */
194 static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
195 static int hf_x2ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */
196 static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
197 static int hf_x2ap_ShortMAC_I_PDU = -1; /* ShortMAC_I */
198 static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */
199 static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */
200 static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
201 static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */
202 static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */
203 static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */
204 static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
205 static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
206 static int hf_x2ap_E_RABs_ToBeSetup_Item_PDU = -1; /* E_RABs_ToBeSetup_Item */
207 static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
208 static int hf_x2ap_E_RABs_Admitted_List_PDU = -1; /* E_RABs_Admitted_List */
209 static int hf_x2ap_E_RABs_Admitted_Item_PDU = -1; /* E_RABs_Admitted_Item */
210 static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
211 static int hf_x2ap_HandoverReport_PDU = -1; /* HandoverReport */
212 static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
213 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU = -1; /* E_RABs_SubjectToStatusTransfer_List */
214 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU = -1; /* E_RABs_SubjectToStatusTransfer_Item */
215 static int hf_x2ap_UEContextRelease_PDU = -1; /* UEContextRelease */
216 static int hf_x2ap_HandoverCancel_PDU = -1; /* HandoverCancel */
217 static int hf_x2ap_ErrorIndication_PDU = -1; /* ErrorIndication */
218 static int hf_x2ap_ResetRequest_PDU = -1; /* ResetRequest */
219 static int hf_x2ap_ResetResponse_PDU = -1; /* ResetResponse */
220 static int hf_x2ap_X2SetupRequest_PDU = -1; /* X2SetupRequest */
221 static int hf_x2ap_X2SetupResponse_PDU = -1; /* X2SetupResponse */
222 static int hf_x2ap_X2SetupFailure_PDU = -1; /* X2SetupFailure */
223 static int hf_x2ap_LoadInformation_PDU = -1; /* LoadInformation */
224 static int hf_x2ap_CellInformation_List_PDU = -1; /* CellInformation_List */
225 static int hf_x2ap_CellInformation_Item_PDU = -1; /* CellInformation_Item */
226 static int hf_x2ap_ENBConfigurationUpdate_PDU = -1; /* ENBConfigurationUpdate */
227 static int hf_x2ap_ServedCellsToModify_PDU = -1; /* ServedCellsToModify */
228 static int hf_x2ap_Old_ECGIs_PDU = -1; /* Old_ECGIs */
229 static int hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU = -1; /* ENBConfigurationUpdateAcknowledge */
230 static int hf_x2ap_ENBConfigurationUpdateFailure_PDU = -1; /* ENBConfigurationUpdateFailure */
231 static int hf_x2ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */
232 static int hf_x2ap_CellToReport_List_PDU = -1; /* CellToReport_List */
233 static int hf_x2ap_CellToReport_Item_PDU = -1; /* CellToReport_Item */
234 static int hf_x2ap_ReportingPeriodicity_PDU = -1; /* ReportingPeriodicity */
235 static int hf_x2ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */
236 static int hf_x2ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */
237 static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
238 static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
239 static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
240 static int hf_x2ap_PrivateMessage_PDU = -1; /* PrivateMessage */
241 static int hf_x2ap_MobilityChangeRequest_PDU = -1; /* MobilityChangeRequest */
242 static int hf_x2ap_MobilityChangeAcknowledge_PDU = -1; /* MobilityChangeAcknowledge */
243 static int hf_x2ap_MobilityChangeFailure_PDU = -1; /* MobilityChangeFailure */
244 static int hf_x2ap_RLFIndication_PDU = -1; /* RLFIndication */
245 static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
246 static int hf_x2ap_local = -1; /* INTEGER_0_maxPrivateIEs */
247 static int hf_x2ap_global = -1; /* OBJECT_IDENTIFIER */
248 static int hf_x2ap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
249 static int hf_x2ap_id = -1; /* ProtocolIE_ID */
250 static int hf_x2ap_criticality = -1; /* Criticality */
251 static int hf_x2ap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
252 static int hf_x2ap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
253 static int hf_x2ap_extension_id = -1; /* ProtocolIE_ID */
254 static int hf_x2ap_extensionValue = -1; /* T_extensionValue */
255 static int hf_x2ap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
256 static int hf_x2ap_private_id = -1; /* PrivateIE_ID */
257 static int hf_x2ap_privateIE_Field_value = -1; /* PrivateIE_Field_value */
258 static int hf_x2ap_key_eNodeB_star = -1; /* Key_eNodeB_Star */
259 static int hf_x2ap_nextHopChainingCount = -1; /* NextHopChainingCount */
260 static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
261 static int hf_x2ap_priorityLevel = -1; /* PriorityLevel */
262 static int hf_x2ap_pre_emptionCapability = -1; /* Pre_emptionCapability */
263 static int hf_x2ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */
264 static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */
265 static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */
266 static int hf_x2ap_transport = -1; /* CauseTransport */
267 static int hf_x2ap_protocol = -1; /* CauseProtocol */
268 static int hf_x2ap_misc = -1; /* CauseMisc */
269 static int hf_x2ap_cell_Size = -1; /* Cell_Size */
270 static int hf_x2ap_dL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
271 static int hf_x2ap_uL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
272 static int hf_x2ap_cellCapacityClassValue = -1; /* CellCapacityClassValue */
273 static int hf_x2ap_capacityValue = -1; /* CapacityValue */
274 static int hf_x2ap_pDCP_SN = -1; /* PDCP_SN */
275 static int hf_x2ap_hFN = -1; /* HFN */
276 static int hf_x2ap_procedureCode = -1; /* ProcedureCode */
277 static int hf_x2ap_triggeringMessage = -1; /* TriggeringMessage */
278 static int hf_x2ap_procedureCriticality = -1; /* Criticality */
279 static int hf_x2ap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
280 static int hf_x2ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
281 static int hf_x2ap_iECriticality = -1; /* Criticality */
282 static int hf_x2ap_iE_ID = -1; /* ProtocolIE_ID */
283 static int hf_x2ap_typeOfError = -1; /* TypeOfError */
284 static int hf_x2ap_uL_EARFCN = -1; /* EARFCN */
285 static int hf_x2ap_dL_EARFCN = -1; /* EARFCN */
286 static int hf_x2ap_uL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */
287 static int hf_x2ap_dL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */
288 static int hf_x2ap_eARFCN = -1; /* EARFCN */
289 static int hf_x2ap_transmission_Bandwidth = -1; /* Transmission_Bandwidth */
290 static int hf_x2ap_subframeAssignment = -1; /* SubframeAssignment */
291 static int hf_x2ap_specialSubframe_Info = -1; /* SpecialSubframe_Info */
292 static int hf_x2ap_fDD = -1; /* FDD_Info */
293 static int hf_x2ap_tDD = -1; /* TDD_Info */
294 static int hf_x2ap_pLMN_Identity = -1; /* PLMN_Identity */
295 static int hf_x2ap_eUTRANcellIdentifier = -1; /* EUTRANCellIdentifier */
296 static int hf_x2ap_macro_eNB_ID = -1; /* BIT_STRING_SIZE_20 */
297 static int hf_x2ap_home_eNB_ID = -1; /* BIT_STRING_SIZE_28 */
298 static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */
299 static int hf_x2ap_qCI = -1; /* QCI */
300 static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
301 static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */
302 static int hf_x2ap_E_RAB_List_item = -1; /* ProtocolIE_Single_Container */
303 static int hf_x2ap_e_RAB_ID = -1; /* E_RAB_ID */
304 static int hf_x2ap_cause = -1; /* Cause */
305 static int hf_x2ap_ForbiddenTAs_item = -1; /* ForbiddenTAs_Item */
306 static int hf_x2ap_forbiddenTACs = -1; /* ForbiddenTACs */
307 static int hf_x2ap_ForbiddenTACs_item = -1; /* TAC */
308 static int hf_x2ap_ForbiddenLAs_item = -1; /* ForbiddenLAs_Item */
309 static int hf_x2ap_forbiddenLACs = -1; /* ForbiddenLACs */
310 static int hf_x2ap_ForbiddenLACs_item = -1; /* LAC */
311 static int hf_x2ap_e_RAB_MaximumBitrateDL = -1; /* BitRate */
312 static int hf_x2ap_e_RAB_MaximumBitrateUL = -1; /* BitRate */
313 static int hf_x2ap_e_RAB_GuaranteedBitrateDL = -1; /* BitRate */
314 static int hf_x2ap_e_RAB_GuaranteedBitrateUL = -1; /* BitRate */
315 static int hf_x2ap_eNB_ID = -1; /* ENB_ID */
316 static int hf_x2ap_transportLayerAddress = -1; /* TransportLayerAddress */
317 static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */
318 static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */
319 static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */
320 static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */
321 static int hf_x2ap_mMME_Code = -1; /* MME_Code */
322 static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */
323 static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */
324 static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */
325 static int hf_x2ap_forbiddenLAs = -1; /* ForbiddenLAs */
326 static int hf_x2ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */
327 static int hf_x2ap_dLHWLoadIndicator = -1; /* LoadIndicator */
328 static int hf_x2ap_uLHWLoadIndicator = -1; /* LoadIndicator */
329 static int hf_x2ap_e_UTRAN_Cell = -1; /* LastVisitedEUTRANCellInformation */
330 static int hf_x2ap_uTRAN_Cell = -1; /* LastVisitedUTRANCellInformation */
331 static int hf_x2ap_gERAN_Cell = -1; /* LastVisitedGERANCellInformation */
332 static int hf_x2ap_global_Cell_ID = -1; /* ECGI */
333 static int hf_x2ap_cellType = -1; /* CellType */
334 static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
335 static int hf_x2ap_undefined = -1; /* NULL */
336 static int hf_x2ap_eventType = -1; /* EventType */
337 static int hf_x2ap_reportArea = -1; /* ReportArea */
338 static int hf_x2ap_handoverTriggerChangeLowerLimit = -1; /* INTEGER_M20_20 */
339 static int hf_x2ap_handoverTriggerChangeUpperLimit = -1; /* INTEGER_M20_20 */
340 static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */
341 static int hf_x2ap_Neighbour_Information_item = -1; /* Neighbour_Information_item */
342 static int hf_x2ap_eCGI = -1; /* ECGI */
343 static int hf_x2ap_pCI = -1; /* PCI */
344 static int hf_x2ap_rootSequenceIndex = -1; /* INTEGER_0_837 */
345 static int hf_x2ap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
346 static int hf_x2ap_highSpeedFlag = -1; /* BOOLEAN */
347 static int hf_x2ap_prach_FreqOffset = -1; /* INTEGER_0_94 */
348 static int hf_x2ap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
349 static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
350 static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
351 static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
352 static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
353 static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
354 static int hf_x2ap_dL_GBR_PRB_usage = -1; /* DL_GBR_PRB_usage */
355 static int hf_x2ap_uL_GBR_PRB_usage = -1; /* UL_GBR_PRB_usage */
356 static int hf_x2ap_dL_non_GBR_PRB_usage = -1; /* DL_non_GBR_PRB_usage */
357 static int hf_x2ap_uL_non_GBR_PRB_usage = -1; /* UL_non_GBR_PRB_usage */
358 static int hf_x2ap_dL_Total_PRB_usage = -1; /* DL_Total_PRB_usage */
359 static int hf_x2ap_uL_Total_PRB_usage = -1; /* UL_Total_PRB_usage */
360 static int hf_x2ap_dLS1TNLLoadIndicator = -1; /* LoadIndicator */
361 static int hf_x2ap_uLS1TNLLoadIndicator = -1; /* LoadIndicator */
362 static int hf_x2ap_ServedCells_item = -1; /* ServedCells_item */
363 static int hf_x2ap_servedCellInfo = -1; /* ServedCell_Information */
364 static int hf_x2ap_neighbour_Info = -1; /* Neighbour_Information */
365 static int hf_x2ap_cellId = -1; /* ECGI */
366 static int hf_x2ap_tAC = -1; /* TAC */
367 static int hf_x2ap_broadcastPLMNs = -1; /* BroadcastPLMNs_Item */
368 static int hf_x2ap_eUTRA_Mode_Info = -1; /* EUTRA_Mode_Info */
369 static int hf_x2ap_specialSubframePatterns = -1; /* SpecialSubframePatterns */
370 static int hf_x2ap_cyclicPrefixDL = -1; /* CyclicPrefixDL */
371 static int hf_x2ap_cyclicPrefixUL = -1; /* CyclicPrefixUL */
372 static int hf_x2ap_eUTRANTraceID = -1; /* EUTRANTraceID */
373 static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
374 static int hf_x2ap_traceDepth = -1; /* TraceDepth */
375 static int hf_x2ap_traceCollectionEntityIPAddress = -1; /* TraceCollectionEntityIPAddress */
376 static int hf_x2ap_UE_HistoryInformation_item = -1; /* LastVisitedCell_Item */
377 static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */
378 static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */
379 static int hf_x2ap_encryptionAlgorithms = -1; /* EncryptionAlgorithms */
380 static int hf_x2ap_integrityProtectionAlgorithms = -1; /* IntegrityProtectionAlgorithms */
381 static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_InterferenceOverloadIndication_Item */
382 static int hf_x2ap_UL_HighInterferenceIndicationInfo_item = -1; /* UL_HighInterferenceIndicationInfo_Item */
383 static int hf_x2ap_target_Cell_ID = -1; /* ECGI */
384 static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndication */
385 static int hf_x2ap_protocolIEs = -1; /* ProtocolIE_Container */
386 static int hf_x2ap_mME_UE_S1AP_ID = -1; /* UE_S1AP_ID */
387 static int hf_x2ap_uESecurityCapabilities = -1; /* UESecurityCapabilities */
388 static int hf_x2ap_aS_SecurityInformation = -1; /* AS_SecurityInformation */
389 static int hf_x2ap_uEaggregateMaximumBitRate = -1; /* UEAggregateMaximumBitRate */
390 static int hf_x2ap_subscriberProfileIDforRFP = -1; /* SubscriberProfileIDforRFP */
391 static int hf_x2ap_e_RABs_ToBeSetup_List = -1; /* E_RABs_ToBeSetup_List */
392 static int hf_x2ap_rRC_Context = -1; /* RRC_Context */
393 static int hf_x2ap_handoverRestrictionList = -1; /* HandoverRestrictionList */
394 static int hf_x2ap_locationReportingInformation = -1; /* LocationReportingInformation */
395 static int hf_x2ap_E_RABs_ToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
396 static int hf_x2ap_e_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */
397 static int hf_x2ap_dL_Forwarding = -1; /* DL_Forwarding */
398 static int hf_x2ap_uL_GTPtunnelEndpoint = -1; /* GTPtunnelEndpoint */
399 static int hf_x2ap_E_RABs_Admitted_List_item = -1; /* ProtocolIE_Single_Container */
400 static int hf_x2ap_uL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
401 static int hf_x2ap_dL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
402 static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
403 static int hf_x2ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */
404 static int hf_x2ap_uL_COUNTvalue = -1; /* COUNTvalue */
405 static int hf_x2ap_dL_COUNTvalue = -1; /* COUNTvalue */
406 static int hf_x2ap_CellInformation_List_item = -1; /* ProtocolIE_Single_Container */
407 static int hf_x2ap_cell_ID = -1; /* ECGI */
408 static int hf_x2ap_ul_InterferenceOverloadIndication = -1; /* UL_InterferenceOverloadIndication */
409 static int hf_x2ap_ul_HighInterferenceIndicationInfo = -1; /* UL_HighInterferenceIndicationInfo */
410 static int hf_x2ap_relativeNarrowbandTxPower = -1; /* RelativeNarrowbandTxPower */
411 static int hf_x2ap_ServedCellsToModify_item = -1; /* ServedCellsToModify_Item */
412 static int hf_x2ap_old_ecgi = -1; /* ECGI */
413 static int hf_x2ap_Old_ECGIs_item = -1; /* ECGI */
414 static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container */
415 static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
416 static int hf_x2ap_hWOverLoadIndicator = -1; /* HWLoadIndicator */
417 static int hf_x2ap_s1TNLOverLoadIndicator = -1; /* S1TNLLoadIndicator */
418 static int hf_x2ap_radioresourceStatus = -1; /* RadioResourceStatus */
419 static int hf_x2ap_privateIEs = -1; /* PrivateIE_Container */
420 static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */
421 static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */
422 static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
423 static int hf_x2ap_initiatingMessage_value = -1; /* InitiatingMessage_value */
424 static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
425 static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
427 /*--- End of included file: packet-x2ap-hf.c ---*/
428 #line 68 "packet-x2ap-template.c"
430 /* Initialize the subtree pointers */
431 static int ett_x2ap = -1;
432 static int ett_x2ap_TransportLayerAddress = -1;
434 /*--- Included file: packet-x2ap-ett.c ---*/
435 #line 1 "packet-x2ap-ett.c"
436 static gint ett_x2ap_PrivateIE_ID = -1;
437 static gint ett_x2ap_ProtocolIE_Container = -1;
438 static gint ett_x2ap_ProtocolIE_Field = -1;
439 static gint ett_x2ap_ProtocolExtensionContainer = -1;
440 static gint ett_x2ap_ProtocolExtensionField = -1;
441 static gint ett_x2ap_PrivateIE_Container = -1;
442 static gint ett_x2ap_PrivateIE_Field = -1;
443 static gint ett_x2ap_AS_SecurityInformation = -1;
444 static gint ett_x2ap_AllocationAndRetentionPriority = -1;
445 static gint ett_x2ap_BroadcastPLMNs_Item = -1;
446 static gint ett_x2ap_Cause = -1;
447 static gint ett_x2ap_CellType = -1;
448 static gint ett_x2ap_CompositeAvailableCapacityGroup = -1;
449 static gint ett_x2ap_CompositeAvailableCapacity = -1;
450 static gint ett_x2ap_COUNTvalue = -1;
451 static gint ett_x2ap_CriticalityDiagnostics = -1;
452 static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1;
453 static gint ett_x2ap_CriticalityDiagnostics_IE_List_item = -1;
454 static gint ett_x2ap_FDD_Info = -1;
455 static gint ett_x2ap_TDD_Info = -1;
456 static gint ett_x2ap_EUTRA_Mode_Info = -1;
457 static gint ett_x2ap_ECGI = -1;
458 static gint ett_x2ap_ENB_ID = -1;
459 static gint ett_x2ap_EPLMNs = -1;
460 static gint ett_x2ap_E_RAB_Level_QoS_Parameters = -1;
461 static gint ett_x2ap_E_RAB_List = -1;
462 static gint ett_x2ap_E_RAB_Item = -1;
463 static gint ett_x2ap_ForbiddenTAs = -1;
464 static gint ett_x2ap_ForbiddenTAs_Item = -1;
465 static gint ett_x2ap_ForbiddenTACs = -1;
466 static gint ett_x2ap_ForbiddenLAs = -1;
467 static gint ett_x2ap_ForbiddenLAs_Item = -1;
468 static gint ett_x2ap_ForbiddenLACs = -1;
469 static gint ett_x2ap_GBR_QosInformation = -1;
470 static gint ett_x2ap_GlobalENB_ID = -1;
471 static gint ett_x2ap_GTPtunnelEndpoint = -1;
472 static gint ett_x2ap_GUGroupIDList = -1;
473 static gint ett_x2ap_GU_Group_ID = -1;
474 static gint ett_x2ap_GUMMEI = -1;
475 static gint ett_x2ap_HandoverRestrictionList = -1;
476 static gint ett_x2ap_HWLoadIndicator = -1;
477 static gint ett_x2ap_LastVisitedCell_Item = -1;
478 static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1;
479 static gint ett_x2ap_LastVisitedGERANCellInformation = -1;
480 static gint ett_x2ap_LocationReportingInformation = -1;
481 static gint ett_x2ap_MobilityParametersModificationRange = -1;
482 static gint ett_x2ap_MobilityParametersInformation = -1;
483 static gint ett_x2ap_Neighbour_Information = -1;
484 static gint ett_x2ap_Neighbour_Information_item = -1;
485 static gint ett_x2ap_PRACH_Configuration = -1;
486 static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
487 static gint ett_x2ap_RadioResourceStatus = -1;
488 static gint ett_x2ap_S1TNLLoadIndicator = -1;
489 static gint ett_x2ap_ServedCells = -1;
490 static gint ett_x2ap_ServedCells_item = -1;
491 static gint ett_x2ap_ServedCell_Information = -1;
492 static gint ett_x2ap_SpecialSubframe_Info = -1;
493 static gint ett_x2ap_TraceActivation = -1;
494 static gint ett_x2ap_UE_HistoryInformation = -1;
495 static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
496 static gint ett_x2ap_UESecurityCapabilities = -1;
497 static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
498 static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
499 static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
500 static gint ett_x2ap_HandoverRequest = -1;
501 static gint ett_x2ap_UE_ContextInformation = -1;
502 static gint ett_x2ap_E_RABs_ToBeSetup_List = -1;
503 static gint ett_x2ap_E_RABs_ToBeSetup_Item = -1;
504 static gint ett_x2ap_HandoverRequestAcknowledge = -1;
505 static gint ett_x2ap_E_RABs_Admitted_List = -1;
506 static gint ett_x2ap_E_RABs_Admitted_Item = -1;
507 static gint ett_x2ap_HandoverPreparationFailure = -1;
508 static gint ett_x2ap_HandoverReport = -1;
509 static gint ett_x2ap_SNStatusTransfer = -1;
510 static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_List = -1;
511 static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_Item = -1;
512 static gint ett_x2ap_UEContextRelease = -1;
513 static gint ett_x2ap_HandoverCancel = -1;
514 static gint ett_x2ap_ErrorIndication = -1;
515 static gint ett_x2ap_ResetRequest = -1;
516 static gint ett_x2ap_ResetResponse = -1;
517 static gint ett_x2ap_X2SetupRequest = -1;
518 static gint ett_x2ap_X2SetupResponse = -1;
519 static gint ett_x2ap_X2SetupFailure = -1;
520 static gint ett_x2ap_LoadInformation = -1;
521 static gint ett_x2ap_CellInformation_List = -1;
522 static gint ett_x2ap_CellInformation_Item = -1;
523 static gint ett_x2ap_ENBConfigurationUpdate = -1;
524 static gint ett_x2ap_ServedCellsToModify = -1;
525 static gint ett_x2ap_ServedCellsToModify_Item = -1;
526 static gint ett_x2ap_Old_ECGIs = -1;
527 static gint ett_x2ap_ENBConfigurationUpdateAcknowledge = -1;
528 static gint ett_x2ap_ENBConfigurationUpdateFailure = -1;
529 static gint ett_x2ap_ResourceStatusRequest = -1;
530 static gint ett_x2ap_CellToReport_List = -1;
531 static gint ett_x2ap_CellToReport_Item = -1;
532 static gint ett_x2ap_ResourceStatusResponse = -1;
533 static gint ett_x2ap_ResourceStatusFailure = -1;
534 static gint ett_x2ap_ResourceStatusUpdate = -1;
535 static gint ett_x2ap_CellMeasurementResult_List = -1;
536 static gint ett_x2ap_CellMeasurementResult_Item = -1;
537 static gint ett_x2ap_PrivateMessage = -1;
538 static gint ett_x2ap_MobilityChangeRequest = -1;
539 static gint ett_x2ap_MobilityChangeAcknowledge = -1;
540 static gint ett_x2ap_MobilityChangeFailure = -1;
541 static gint ett_x2ap_RLFIndication = -1;
542 static gint ett_x2ap_X2AP_PDU = -1;
543 static gint ett_x2ap_InitiatingMessage = -1;
544 static gint ett_x2ap_SuccessfulOutcome = -1;
545 static gint ett_x2ap_UnsuccessfulOutcome = -1;
547 /*--- End of included file: packet-x2ap-ett.c ---*/
548 #line 73 "packet-x2ap-template.c"
550 /* Global variables */
551 static guint32 ProcedureCode;
552 static guint32 ProtocolIE_ID;
553 static guint gbl_x2apSctpPort=SCTP_PORT_X2AP;
555 /* Dissector tables */
556 static dissector_table_t x2ap_ies_dissector_table;
557 static dissector_table_t x2ap_extension_dissector_table;
558 static dissector_table_t x2ap_proc_imsg_dissector_table;
559 static dissector_table_t x2ap_proc_sout_dissector_table;
560 static dissector_table_t x2ap_proc_uout_dissector_table;
562 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
563 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
564 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
565 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
566 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
567 void proto_reg_handoff_x2ap(void);
570 /*--- Included file: packet-x2ap-fn.c ---*/
571 #line 1 "packet-x2ap-fn.c"
573 static const value_string x2ap_Criticality_vals[] = {
582 dissect_x2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
583 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
584 3, NULL, FALSE, 0, NULL);
592 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_) {
593 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
594 0U, maxPrivateIEs, NULL, FALSE);
602 dissect_x2ap_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
603 offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
609 static const value_string x2ap_PrivateIE_ID_vals[] = {
615 static const per_choice_t PrivateIE_ID_choice[] = {
616 { 0, &hf_x2ap_local , ASN1_NO_EXTENSIONS , dissect_x2ap_INTEGER_0_maxPrivateIEs },
617 { 1, &hf_x2ap_global , ASN1_NO_EXTENSIONS , dissect_x2ap_OBJECT_IDENTIFIER },
622 dissect_x2ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
623 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
624 ett_x2ap_PrivateIE_ID, PrivateIE_ID_choice,
631 static const value_string x2ap_ProcedureCode_vals[] = {
632 { id_handoverPreparation, "id-handoverPreparation" },
633 { id_handoverCancel, "id-handoverCancel" },
634 { id_loadIndication, "id-loadIndication" },
635 { id_errorIndication, "id-errorIndication" },
636 { id_snStatusTransfer, "id-snStatusTransfer" },
637 { id_uEContextRelease, "id-uEContextRelease" },
638 { id_x2Setup, "id-x2Setup" },
639 { id_reset, "id-reset" },
640 { id_eNBConfigurationUpdate, "id-eNBConfigurationUpdate" },
641 { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" },
642 { id_resourceStatusReporting, "id-resourceStatusReporting" },
643 { id_privateMessage, "id-privateMessage" },
644 { id_mobilitySettingsChange, "id-mobilitySettingsChange" },
645 { id_rLFIndication, "id-rLFIndication" },
646 { id_handoverReport, "id-handoverReport" },
652 dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
654 ProcedureCode = 0xFFFF;
656 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
657 0U, 255U, &ProcedureCode, FALSE);
660 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
661 val_to_str(ProcedureCode, x2ap_ProcedureCode_vals,
668 static const value_string x2ap_ProtocolIE_ID_vals[] = {
669 { id_E_RABs_Admitted_Item, "id-E-RABs-Admitted-Item" },
670 { id_E_RABs_Admitted_List, "id-E-RABs-Admitted-List" },
671 { id_E_RAB_Item, "id-E-RAB-Item" },
672 { id_E_RABs_NotAdmitted_List, "id-E-RABs-NotAdmitted-List" },
673 { id_E_RABs_ToBeSetup_Item, "id-E-RABs-ToBeSetup-Item" },
674 { id_Cause, "id-Cause" },
675 { id_CellInformation, "id-CellInformation" },
676 { id_CellInformation_Item, "id-CellInformation-Item" },
677 { id_New_eNB_UE_X2AP_ID, "id-New-eNB-UE-X2AP-ID" },
678 { id_Old_eNB_UE_X2AP_ID, "id-Old-eNB-UE-X2AP-ID" },
679 { id_TargetCell_ID, "id-TargetCell-ID" },
680 { id_TargeteNBtoSource_eNBTransparentContainer, "id-TargeteNBtoSource-eNBTransparentContainer" },
681 { id_TraceActivation, "id-TraceActivation" },
682 { id_UE_ContextInformation, "id-UE-ContextInformation" },
683 { id_UE_HistoryInformation, "id-UE-HistoryInformation" },
684 { id_UE_X2AP_ID, "id-UE-X2AP-ID" },
685 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
686 { id_E_RABs_SubjectToStatusTransfer_List, "id-E-RABs-SubjectToStatusTransfer-List" },
687 { id_E_RABs_SubjectToStatusTransfer_Item, "id-E-RABs-SubjectToStatusTransfer-Item" },
688 { id_ServedCells, "id-ServedCells" },
689 { id_GlobalENB_ID, "id-GlobalENB-ID" },
690 { id_TimeToWait, "id-TimeToWait" },
691 { id_GUMMEI_ID, "id-GUMMEI-ID" },
692 { id_GUGroupIDList, "id-GUGroupIDList" },
693 { id_ServedCellsToAdd, "id-ServedCellsToAdd" },
694 { id_ServedCellsToModify, "id-ServedCellsToModify" },
695 { id_ServedCellsToDelete, "id-ServedCellsToDelete" },
696 { id_Registration_Request, "id-Registration-Request" },
697 { id_CellToReport, "id-CellToReport" },
698 { id_ReportingPeriodicity, "id-ReportingPeriodicity" },
699 { id_CellToReport_Item, "id-CellToReport-Item" },
700 { id_CellMeasurementResult, "id-CellMeasurementResult" },
701 { id_CellMeasurementResult_Item, "id-CellMeasurementResult-Item" },
702 { id_GUGroupIDToAddList, "id-GUGroupIDToAddList" },
703 { id_GUGroupIDToDeleteList, "id-GUGroupIDToDeleteList" },
704 { id_SRVCCOperationPossible, "id-SRVCCOperationPossible" },
705 { id_Measurement_ID, "id-Measurement-ID" },
706 { id_ReportCharacteristics, "id-ReportCharacteristics" },
707 { id_ENB1_Measurement_ID, "id-ENB1-Measurement-ID" },
708 { id_ENB2_Measurement_ID, "id-ENB2-Measurement-ID" },
709 { id_Number_of_Antennaports, "id-Number-of-Antennaports" },
710 { id_CompositeAvailableCapacityGroup, "id-CompositeAvailableCapacityGroup" },
711 { id_ENB1_Cell_ID, "id-ENB1-Cell-ID" },
712 { id_ENB2_Cell_ID, "id-ENB2-Cell-ID" },
713 { id_ENB2_Proposed_Mobility_Parameters, "id-ENB2-Proposed-Mobility-Parameters" },
714 { id_ENB1_Mobility_Parameters, "id-ENB1-Mobility-Parameters" },
715 { id_ENB2_Mobility_Parameters_Modification_Range, "id-ENB2-Mobility-Parameters-Modification-Range" },
716 { id_FailureCellPCI, "id-FailureCellPCI" },
717 { id_Re_establishmentCellECGI, "id-Re-establishmentCellECGI" },
718 { id_FailureCellCRNTI, "id-FailureCellCRNTI" },
719 { id_ShortMAC_I, "id-ShortMAC-I" },
720 { id_SourceCellECGI, "id-SourceCellECGI" },
721 { id_FailureCellECGI, "id-FailureCellECGI" },
722 { id_HandoverReportType, "id-HandoverReportType" },
723 { id_PRACH_Configuration, "id-PRACH-Configuration" },
729 dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
730 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
731 0U, maxProtocolIEs, &ProtocolIE_ID, FALSE);
735 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)"));
742 static const value_string x2ap_TriggeringMessage_vals[] = {
743 { 0, "initiating-message" },
744 { 1, "successful-outcome" },
745 { 2, "unsuccessful-outcome" },
751 dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
752 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
753 3, NULL, FALSE, 0, NULL);
761 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_) {
762 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
768 static const per_sequence_t ProtocolIE_Field_sequence[] = {
769 { &hf_x2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
770 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
771 { &hf_x2ap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field_value },
776 dissect_x2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
777 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
778 ett_x2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
784 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
785 { &hf_x2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field },
789 dissect_x2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
790 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
791 ett_x2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
792 0, maxProtocolIEs, FALSE);
800 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_) {
801 offset = dissect_x2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
809 dissect_x2ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
810 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
816 static const per_sequence_t ProtocolExtensionField_sequence[] = {
817 { &hf_x2ap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
818 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
819 { &hf_x2ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_T_extensionValue },
824 dissect_x2ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
825 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
826 ett_x2ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
832 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
833 { &hf_x2ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolExtensionField },
837 dissect_x2ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
838 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
839 ett_x2ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
840 1, maxProtocolExtensions, FALSE);
848 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_) {
849 offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
855 static const per_sequence_t PrivateIE_Field_sequence[] = {
856 { &hf_x2ap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_ID },
857 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
858 { &hf_x2ap_privateIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field_value },
863 dissect_x2ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
864 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
865 ett_x2ap_PrivateIE_Field, PrivateIE_Field_sequence);
871 static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
872 { &hf_x2ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field },
876 dissect_x2ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
877 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
878 ett_x2ap_PrivateIE_Container, PrivateIE_Container_sequence_of,
879 1, maxPrivateIEs, FALSE);
887 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_) {
888 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
889 256, 256, FALSE, NULL);
897 dissect_x2ap_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
898 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
899 0U, 7U, NULL, FALSE);
905 static const per_sequence_t AS_SecurityInformation_sequence[] = {
906 { &hf_x2ap_key_eNodeB_star, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Key_eNodeB_Star },
907 { &hf_x2ap_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NextHopChainingCount },
908 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
913 dissect_x2ap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
914 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
915 ett_x2ap_AS_SecurityInformation, AS_SecurityInformation_sequence);
921 static const value_string x2ap_PriorityLevel_vals[] = {
925 { 15, "no-priority" },
931 dissect_x2ap_PriorityLevel(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_integer(tvb, offset, actx, tree, hf_index,
933 0U, 15U, NULL, FALSE);
939 static const value_string x2ap_Pre_emptionCapability_vals[] = {
940 { 0, "shall-not-trigger-pre-emption" },
941 { 1, "may-trigger-pre-emption" },
947 dissect_x2ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
948 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
949 2, NULL, FALSE, 0, NULL);
955 static const value_string x2ap_Pre_emptionVulnerability_vals[] = {
956 { 0, "not-pre-emptable" },
957 { 1, "pre-emptable" },
963 dissect_x2ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
964 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
965 2, NULL, FALSE, 0, NULL);
971 static const per_sequence_t AllocationAndRetentionPriority_sequence[] = {
972 { &hf_x2ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PriorityLevel },
973 { &hf_x2ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionCapability },
974 { &hf_x2ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionVulnerability },
975 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
980 dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
981 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
982 ett_x2ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence);
990 dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
991 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
992 0U, G_GINT64_CONSTANT(10000000000U), NULL, FALSE);
1000 dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1002 tvbuff_t *parameter_tvb=NULL;
1004 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1005 3, 3, FALSE, ¶meter_tvb);
1008 if(tvb_length(tvb)==0)
1013 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, FALSE);
1020 static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = {
1021 { &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1025 dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1026 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1027 ett_x2ap_BroadcastPLMNs_Item, BroadcastPLMNs_Item_sequence_of,
1028 1, maxnoofBPLMNs, FALSE);
1036 dissect_x2ap_CapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1037 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1038 0U, 100U, NULL, FALSE);
1046 dissect_x2ap_CellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1047 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1048 1U, 100U, NULL, TRUE);
1054 static const value_string x2ap_CauseRadioNetwork_vals[] = {
1055 { 0, "handover-desirable-for-radio-reasons" },
1056 { 1, "time-critical-handover" },
1057 { 2, "resource-optimisation-handover" },
1058 { 3, "reduce-load-in-serving-cell" },
1059 { 4, "partial-handover" },
1060 { 5, "unknown-new-eNB-UE-X2AP-ID" },
1061 { 6, "unknown-old-eNB-UE-X2AP-ID" },
1062 { 7, "unknown-pair-of-UE-X2AP-ID" },
1063 { 8, "ho-target-not-allowed" },
1064 { 9, "tx2relocoverall-expiry" },
1065 { 10, "trelocprep-expiry" },
1066 { 11, "cell-not-available" },
1067 { 12, "no-radio-resources-available-in-target-cell" },
1068 { 13, "invalid-MME-GroupID" },
1069 { 14, "unknown-MME-Code" },
1070 { 15, "encryption-and-or-integrity-protection-algorithms-not-supported" },
1071 { 16, "reportCharacteristicsEmpty" },
1072 { 17, "noReportPeriodicity" },
1073 { 18, "existingMeasurementID" },
1074 { 19, "unknown-eNB-Measurement-ID" },
1075 { 20, "measurement-temporarily-not-available" },
1076 { 21, "unspecified" },
1077 { 22, "load-balancing" },
1078 { 23, "handover-optimisation" },
1079 { 24, "value-out-of-allowed-range" },
1085 dissect_x2ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1086 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1087 22, NULL, TRUE, 3, NULL);
1093 static const value_string x2ap_CauseTransport_vals[] = {
1094 { 0, "transport-resource-unavailable" },
1095 { 1, "unspecified" },
1101 dissect_x2ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1102 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1103 2, NULL, TRUE, 0, NULL);
1109 static const value_string x2ap_CauseProtocol_vals[] = {
1110 { 0, "transfer-syntax-error" },
1111 { 1, "abstract-syntax-error-reject" },
1112 { 2, "abstract-syntax-error-ignore-and-notify" },
1113 { 3, "message-not-compatible-with-receiver-state" },
1114 { 4, "semantic-error" },
1115 { 5, "unspecified" },
1116 { 6, "abstract-syntax-error-falsely-constructed-message" },
1122 dissect_x2ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1123 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1124 7, NULL, TRUE, 0, NULL);
1130 static const value_string x2ap_CauseMisc_vals[] = {
1131 { 0, "control-processing-overload" },
1132 { 1, "hardware-failure" },
1133 { 2, "om-intervention" },
1134 { 3, "not-enough-user-plane-processing-resources" },
1135 { 4, "unspecified" },
1141 dissect_x2ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1142 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1143 5, NULL, TRUE, 0, NULL);
1149 static const value_string x2ap_Cause_vals[] = {
1150 { 0, "radioNetwork" },
1157 static const per_choice_t Cause_choice[] = {
1158 { 0, &hf_x2ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseRadioNetwork },
1159 { 1, &hf_x2ap_transport , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseTransport },
1160 { 2, &hf_x2ap_protocol , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseProtocol },
1161 { 3, &hf_x2ap_misc , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseMisc },
1162 { 0, NULL, 0, NULL }
1166 dissect_x2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1167 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1168 ett_x2ap_Cause, Cause_choice,
1175 static const value_string x2ap_Cell_Size_vals[] = {
1185 dissect_x2ap_Cell_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1186 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1187 4, NULL, TRUE, 0, NULL);
1193 static const per_sequence_t CellType_sequence[] = {
1194 { &hf_x2ap_cell_Size , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cell_Size },
1195 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1196 { NULL, 0, 0, NULL }
1200 dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1201 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1202 ett_x2ap_CellType, CellType_sequence);
1208 static const per_sequence_t CompositeAvailableCapacity_sequence[] = {
1209 { &hf_x2ap_cellCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellCapacityClassValue },
1210 { &hf_x2ap_capacityValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CapacityValue },
1211 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1212 { NULL, 0, 0, NULL }
1216 dissect_x2ap_CompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1217 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1218 ett_x2ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence);
1224 static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = {
1225 { &hf_x2ap_dL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
1226 { &hf_x2ap_uL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
1227 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1228 { NULL, 0, 0, NULL }
1232 dissect_x2ap_CompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1233 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1234 ett_x2ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence);
1242 dissect_x2ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1243 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1244 0U, 4095U, NULL, FALSE);
1252 dissect_x2ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1253 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1254 0U, 1048575U, NULL, FALSE);
1260 static const per_sequence_t COUNTvalue_sequence[] = {
1261 { &hf_x2ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SN },
1262 { &hf_x2ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFN },
1263 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1264 { NULL, 0, 0, NULL }
1268 dissect_x2ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1269 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1270 ett_x2ap_COUNTvalue, COUNTvalue_sequence);
1276 static const value_string x2ap_TypeOfError_vals[] = {
1277 { 0, "not-understood" },
1284 dissect_x2ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1285 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1286 2, NULL, TRUE, 0, NULL);
1292 static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
1293 { &hf_x2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
1294 { &hf_x2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
1295 { &hf_x2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TypeOfError },
1296 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1297 { NULL, 0, 0, NULL }
1301 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_) {
1302 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1303 ett_x2ap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
1309 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
1310 { &hf_x2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CriticalityDiagnostics_IE_List_item },
1314 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_) {
1315 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1316 ett_x2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
1317 1, maxNrOfErrors, FALSE);
1323 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
1324 { &hf_x2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProcedureCode },
1325 { &hf_x2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TriggeringMessage },
1326 { &hf_x2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Criticality },
1327 { &hf_x2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CriticalityDiagnostics_IE_List },
1328 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1329 { NULL, 0, 0, NULL }
1333 dissect_x2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1334 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1335 ett_x2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
1343 dissect_x2ap_CRNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1344 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1345 16, 16, FALSE, NULL);
1351 static const value_string x2ap_CyclicPrefixDL_vals[] = {
1359 dissect_x2ap_CyclicPrefixDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1360 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1361 2, NULL, TRUE, 0, NULL);
1367 static const value_string x2ap_CyclicPrefixUL_vals[] = {
1375 dissect_x2ap_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1376 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1377 2, NULL, TRUE, 0, NULL);
1383 static const value_string x2ap_DL_Forwarding_vals[] = {
1384 { 0, "dL-forwardingProposed" },
1390 dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1391 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1392 1, NULL, TRUE, 0, NULL);
1400 dissect_x2ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1401 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1402 0U, maxEARFCN, NULL, FALSE);
1408 static const value_string x2ap_Transmission_Bandwidth_vals[] = {
1420 dissect_x2ap_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1421 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1422 6, NULL, TRUE, 0, NULL);
1428 static const per_sequence_t FDD_Info_sequence[] = {
1429 { &hf_x2ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1430 { &hf_x2ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1431 { &hf_x2ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1432 { &hf_x2ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1433 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1434 { NULL, 0, 0, NULL }
1438 dissect_x2ap_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1439 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1440 ett_x2ap_FDD_Info, FDD_Info_sequence);
1446 static const value_string x2ap_SubframeAssignment_vals[] = {
1459 dissect_x2ap_SubframeAssignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1460 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1461 7, NULL, TRUE, 0, NULL);
1467 static const value_string x2ap_SpecialSubframePatterns_vals[] = {
1482 dissect_x2ap_SpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1483 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1484 9, NULL, TRUE, 0, NULL);
1490 static const per_sequence_t SpecialSubframe_Info_sequence[] = {
1491 { &hf_x2ap_specialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframePatterns },
1492 { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL },
1493 { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL },
1494 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1495 { NULL, 0, 0, NULL }
1499 dissect_x2ap_SpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1500 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1501 ett_x2ap_SpecialSubframe_Info, SpecialSubframe_Info_sequence);
1507 static const per_sequence_t TDD_Info_sequence[] = {
1508 { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1509 { &hf_x2ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth },
1510 { &hf_x2ap_subframeAssignment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAssignment },
1511 { &hf_x2ap_specialSubframe_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframe_Info },
1512 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1513 { NULL, 0, 0, NULL }
1517 dissect_x2ap_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1518 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1519 ett_x2ap_TDD_Info, TDD_Info_sequence);
1525 static const value_string x2ap_EUTRA_Mode_Info_vals[] = {
1531 static const per_choice_t EUTRA_Mode_Info_choice[] = {
1532 { 0, &hf_x2ap_fDD , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_Info },
1533 { 1, &hf_x2ap_tDD , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_Info },
1534 { 0, NULL, 0, NULL }
1538 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_) {
1539 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1540 ett_x2ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice,
1549 dissect_x2ap_EUTRANCellIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1550 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1551 28, 28, FALSE, NULL);
1557 static const per_sequence_t ECGI_sequence[] = {
1558 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1559 { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
1560 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1561 { NULL, 0, 0, NULL }
1565 dissect_x2ap_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1566 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1567 ett_x2ap_ECGI, ECGI_sequence);
1575 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_) {
1576 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1577 20, 20, FALSE, NULL);
1585 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_) {
1586 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1587 28, 28, FALSE, NULL);
1593 static const value_string x2ap_ENB_ID_vals[] = {
1594 { 0, "macro-eNB-ID" },
1595 { 1, "home-eNB-ID" },
1599 static const per_choice_t ENB_ID_choice[] = {
1600 { 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 },
1601 { 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 },
1602 { 0, NULL, 0, NULL }
1606 dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1607 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1608 ett_x2ap_ENB_ID, ENB_ID_choice,
1617 dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1618 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1619 16, 16, TRUE, NULL);
1625 static const per_sequence_t EPLMNs_sequence_of[1] = {
1626 { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1630 dissect_x2ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1631 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1632 ett_x2ap_EPLMNs, EPLMNs_sequence_of,
1633 1, maxnoofEPLMNs, FALSE);
1641 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_) {
1642 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1643 0U, 15U, NULL, TRUE);
1651 dissect_x2ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1652 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1653 0U, 255U, NULL, FALSE);
1659 static const per_sequence_t GBR_QosInformation_sequence[] = {
1660 { &hf_x2ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1661 { &hf_x2ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1662 { &hf_x2ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1663 { &hf_x2ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1664 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1665 { NULL, 0, 0, NULL }
1669 dissect_x2ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1670 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1671 ett_x2ap_GBR_QosInformation, GBR_QosInformation_sequence);
1677 static const per_sequence_t E_RAB_Level_QoS_Parameters_sequence[] = {
1678 { &hf_x2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_QCI },
1679 { &hf_x2ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AllocationAndRetentionPriority },
1680 { &hf_x2ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation },
1681 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1682 { NULL, 0, 0, NULL }
1686 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_) {
1687 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1688 ett_x2ap_E_RAB_Level_QoS_Parameters, E_RAB_Level_QoS_Parameters_sequence);
1694 static const per_sequence_t E_RAB_List_sequence_of[1] = {
1695 { &hf_x2ap_E_RAB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1699 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_) {
1700 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1701 ett_x2ap_E_RAB_List, E_RAB_List_sequence_of,
1702 1, maxnoofBearers, FALSE);
1708 static const per_sequence_t E_RAB_Item_sequence[] = {
1709 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
1710 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
1711 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1712 { NULL, 0, 0, NULL }
1716 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_) {
1717 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1718 ett_x2ap_E_RAB_Item, E_RAB_Item_sequence);
1726 dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1727 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1734 static const value_string x2ap_EventType_vals[] = {
1735 { 0, "change-of-serving-cell" },
1741 dissect_x2ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1742 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1743 1, NULL, TRUE, 0, NULL);
1749 static const value_string x2ap_ForbiddenInterRATs_vals[] = {
1759 dissect_x2ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1760 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1761 4, NULL, TRUE, 0, NULL);
1769 dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1770 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1777 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
1778 { &hf_x2ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1782 dissect_x2ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1783 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1784 ett_x2ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
1785 1, maxnoofForbTACs, FALSE);
1791 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
1792 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1793 { &hf_x2ap_forbiddenTACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTACs },
1794 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1795 { NULL, 0, 0, NULL }
1799 dissect_x2ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1800 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1801 ett_x2ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
1807 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
1808 { &hf_x2ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTAs_Item },
1812 dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1813 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1814 ett_x2ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
1815 1, maxnoofEPLMNsPlusOne, FALSE);
1823 dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1824 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1831 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
1832 { &hf_x2ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LAC },
1836 dissect_x2ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1837 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1838 ett_x2ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
1839 1, maxnoofForbLACs, FALSE);
1845 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
1846 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1847 { &hf_x2ap_forbiddenLACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLACs },
1848 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1849 { NULL, 0, 0, NULL }
1853 dissect_x2ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1854 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1855 ett_x2ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
1861 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
1862 { &hf_x2ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLAs_Item },
1866 dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1867 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1868 ett_x2ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
1869 1, maxnoofEPLMNsPlusOne, FALSE);
1875 static const per_sequence_t GlobalENB_ID_sequence[] = {
1876 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1877 { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID },
1878 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1879 { NULL, 0, 0, NULL }
1883 dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1884 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1885 ett_x2ap_GlobalENB_ID, GlobalENB_ID_sequence);
1893 dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1894 #line 111 "x2ap.cnf"
1895 tvbuff_t *parameter_tvb=NULL;
1896 proto_tree *subtree;
1899 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1900 1, 160, TRUE, ¶meter_tvb);
1904 /* Get the length */
1905 tvb_len = tvb_length(parameter_tvb);
1906 subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress);
1909 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, tvb_len, FALSE);
1913 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, tvb_len, FALSE);
1924 dissect_x2ap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1925 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1932 static const per_sequence_t GTPtunnelEndpoint_sequence[] = {
1933 { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress },
1934 { &hf_x2ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTP_TEI },
1935 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1936 { NULL, 0, 0, NULL }
1940 dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1941 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1942 ett_x2ap_GTPtunnelEndpoint, GTPtunnelEndpoint_sequence);
1950 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_) {
1951 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1958 static const per_sequence_t GU_Group_ID_sequence[] = {
1959 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1960 { &hf_x2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Group_ID },
1961 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1962 { NULL, 0, 0, NULL }
1966 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_) {
1967 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1968 ett_x2ap_GU_Group_ID, GU_Group_ID_sequence);
1974 static const per_sequence_t GUGroupIDList_sequence_of[1] = {
1975 { &hf_x2ap_GUGroupIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
1979 dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1980 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1981 ett_x2ap_GUGroupIDList, GUGroupIDList_sequence_of,
1982 1, maxPools, FALSE);
1990 dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1991 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1998 static const per_sequence_t GUMMEI_sequence[] = {
1999 { &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
2000 { &hf_x2ap_mMME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
2001 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2002 { NULL, 0, 0, NULL }
2006 dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2007 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2008 ett_x2ap_GUMMEI, GUMMEI_sequence);
2014 static const value_string x2ap_HandoverReportType_vals[] = {
2015 { 0, "hoTooEarly" },
2016 { 1, "hoToWrongCell" },
2022 dissect_x2ap_HandoverReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2023 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2024 2, NULL, TRUE, 0, NULL);
2030 static const per_sequence_t HandoverRestrictionList_sequence[] = {
2031 { &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
2032 { &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs },
2033 { &hf_x2ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenTAs },
2034 { &hf_x2ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenLAs },
2035 { &hf_x2ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenInterRATs },
2036 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2037 { NULL, 0, 0, NULL }
2041 dissect_x2ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2042 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2043 ett_x2ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
2049 static const value_string x2ap_LoadIndicator_vals[] = {
2051 { 1, "mediumLoad" },
2059 dissect_x2ap_LoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2060 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2061 4, NULL, TRUE, 0, NULL);
2067 static const per_sequence_t HWLoadIndicator_sequence[] = {
2068 { &hf_x2ap_dLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2069 { &hf_x2ap_uLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2070 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2071 { NULL, 0, 0, NULL }
2075 dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2076 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2077 ett_x2ap_HWLoadIndicator, HWLoadIndicator_sequence);
2085 dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2086 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2087 16, 16, TRUE, NULL);
2095 dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2096 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2105 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_) {
2106 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2107 0U, 4095U, NULL, FALSE);
2113 static const per_sequence_t LastVisitedEUTRANCellInformation_sequence[] = {
2114 { &hf_x2ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2115 { &hf_x2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellType },
2116 { &hf_x2ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Time_UE_StayedInCell },
2117 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2118 { NULL, 0, 0, NULL }
2122 dissect_x2ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2123 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2124 ett_x2ap_LastVisitedEUTRANCellInformation, LastVisitedEUTRANCellInformation_sequence);
2132 dissect_x2ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2133 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2134 NO_BOUND, NO_BOUND, FALSE, NULL);
2142 dissect_x2ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2143 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2149 static const value_string x2ap_LastVisitedGERANCellInformation_vals[] = {
2154 static const per_choice_t LastVisitedGERANCellInformation_choice[] = {
2155 { 0, &hf_x2ap_undefined , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
2156 { 0, NULL, 0, NULL }
2160 dissect_x2ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2161 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2162 ett_x2ap_LastVisitedGERANCellInformation, LastVisitedGERANCellInformation_choice,
2169 static const value_string x2ap_LastVisitedCell_Item_vals[] = {
2170 { 0, "e-UTRAN-Cell" },
2171 { 1, "uTRAN-Cell" },
2172 { 2, "gERAN-Cell" },
2176 static const per_choice_t LastVisitedCell_Item_choice[] = {
2177 { 0, &hf_x2ap_e_UTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedEUTRANCellInformation },
2178 { 1, &hf_x2ap_uTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedUTRANCellInformation },
2179 { 2, &hf_x2ap_gERAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedGERANCellInformation },
2180 { 0, NULL, 0, NULL }
2184 dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2185 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2186 ett_x2ap_LastVisitedCell_Item, LastVisitedCell_Item_choice,
2193 static const value_string x2ap_ReportArea_vals[] = {
2200 dissect_x2ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2201 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2202 1, NULL, TRUE, 0, NULL);
2208 static const per_sequence_t LocationReportingInformation_sequence[] = {
2209 { &hf_x2ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EventType },
2210 { &hf_x2ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportArea },
2211 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2212 { NULL, 0, 0, NULL }
2216 dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2217 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2218 ett_x2ap_LocationReportingInformation, LocationReportingInformation_sequence);
2226 dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2227 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2228 1U, 4095U, NULL, TRUE);
2236 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_) {
2237 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2238 -20, 20U, NULL, FALSE);
2244 static const per_sequence_t MobilityParametersModificationRange_sequence[] = {
2245 { &hf_x2ap_handoverTriggerChangeLowerLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
2246 { &hf_x2ap_handoverTriggerChangeUpperLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
2247 { NULL, 0, 0, NULL }
2251 dissect_x2ap_MobilityParametersModificationRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2252 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2253 ett_x2ap_MobilityParametersModificationRange, MobilityParametersModificationRange_sequence);
2259 static const per_sequence_t MobilityParametersInformation_sequence[] = {
2260 { &hf_x2ap_handoverTriggerChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
2261 { NULL, 0, 0, NULL }
2265 dissect_x2ap_MobilityParametersInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2266 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2267 ett_x2ap_MobilityParametersInformation, MobilityParametersInformation_sequence);
2275 dissect_x2ap_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2276 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2277 0U, 503U, NULL, TRUE);
2283 static const per_sequence_t Neighbour_Information_item_sequence[] = {
2284 { &hf_x2ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2285 { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI },
2286 { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
2287 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2288 { NULL, 0, 0, NULL }
2292 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_) {
2293 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2294 ett_x2ap_Neighbour_Information_item, Neighbour_Information_item_sequence);
2300 static const per_sequence_t Neighbour_Information_sequence_of[1] = {
2301 { &hf_x2ap_Neighbour_Information_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Neighbour_Information_item },
2305 dissect_x2ap_Neighbour_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2306 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2307 ett_x2ap_Neighbour_Information, Neighbour_Information_sequence_of,
2308 0, maxnoofNeighbours, FALSE);
2314 static const value_string x2ap_Number_of_Antennaports_vals[] = {
2323 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_) {
2324 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2325 3, NULL, TRUE, 0, NULL);
2333 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_) {
2334 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2335 0U, 837U, NULL, FALSE);
2343 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_) {
2344 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2345 0U, 15U, NULL, FALSE);
2353 dissect_x2ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2354 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2362 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_) {
2363 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2364 0U, 94U, NULL, FALSE);
2372 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_) {
2373 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2374 0U, 63U, NULL, FALSE);
2380 static const per_sequence_t PRACH_Configuration_sequence[] = {
2381 { &hf_x2ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_837 },
2382 { &hf_x2ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15 },
2383 { &hf_x2ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BOOLEAN },
2384 { &hf_x2ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_94 },
2385 { &hf_x2ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_63 },
2386 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2387 { NULL, 0, 0, NULL }
2391 dissect_x2ap_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2392 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2393 ett_x2ap_PRACH_Configuration, PRACH_Configuration_sequence);
2401 dissect_x2ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2402 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2403 4096, 4096, FALSE, NULL);
2409 static const value_string x2ap_Registration_Request_vals[] = {
2417 dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2418 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2419 2, NULL, TRUE, 0, NULL);
2427 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_) {
2428 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2429 6, 110, TRUE, NULL);
2435 static const value_string x2ap_RNTP_Threshold_vals[] = {
2436 { 0, "minusInfinity" },
2437 { 1, "minusEleven" },
2440 { 4, "minusEight" },
2441 { 5, "minusSeven" },
2445 { 9, "minusThree" },
2457 dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2458 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2459 16, NULL, TRUE, 0, NULL);
2465 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
2474 dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2475 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2476 3, NULL, TRUE, 0, NULL);
2484 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_) {
2485 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2486 0U, 3U, NULL, TRUE);
2494 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_) {
2495 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2496 0U, 4U, NULL, TRUE);
2502 static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = {
2503 { &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ },
2504 { &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold },
2505 { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
2506 { &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ },
2507 { &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ },
2508 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2509 { NULL, 0, 0, NULL }
2513 dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2514 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2515 ett_x2ap_RelativeNarrowbandTxPower, RelativeNarrowbandTxPower_sequence);
2523 dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2524 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2525 32, 32, FALSE, NULL);
2533 dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2534 #line 136 "x2ap.cnf"
2535 tvbuff_t *parameter_tvb=NULL;
2536 gint32 start_offset;
2538 start_offset = offset;
2539 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2540 NO_BOUND, NO_BOUND, FALSE, NULL);
2542 parameter_tvb = tvb_new_subset(tvb, start_offset>>3, -1, -1);
2545 dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, tree);
2555 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_) {
2556 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2557 0U, 100U, NULL, FALSE);
2565 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_) {
2566 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2567 0U, 100U, NULL, FALSE);
2575 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_) {
2576 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2577 0U, 100U, NULL, FALSE);
2585 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_) {
2586 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2587 0U, 100U, NULL, FALSE);
2595 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_) {
2596 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2597 0U, 100U, NULL, FALSE);
2605 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_) {
2606 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2607 0U, 100U, NULL, FALSE);
2613 static const per_sequence_t RadioResourceStatus_sequence[] = {
2614 { &hf_x2ap_dL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage },
2615 { &hf_x2ap_uL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage },
2616 { &hf_x2ap_dL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage },
2617 { &hf_x2ap_uL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage },
2618 { &hf_x2ap_dL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage },
2619 { &hf_x2ap_uL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage },
2620 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2621 { NULL, 0, 0, NULL }
2625 dissect_x2ap_RadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2626 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2627 ett_x2ap_RadioResourceStatus, RadioResourceStatus_sequence);
2633 static const per_sequence_t S1TNLLoadIndicator_sequence[] = {
2634 { &hf_x2ap_dLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2635 { &hf_x2ap_uLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator },
2636 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2637 { NULL, 0, 0, NULL }
2641 dissect_x2ap_S1TNLLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2643 ett_x2ap_S1TNLLoadIndicator, S1TNLLoadIndicator_sequence);
2649 static const per_sequence_t ServedCell_Information_sequence[] = {
2650 { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI },
2651 { &hf_x2ap_cellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2652 { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
2653 { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item },
2654 { &hf_x2ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRA_Mode_Info },
2655 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2656 { NULL, 0, 0, NULL }
2660 dissect_x2ap_ServedCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2661 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2662 ett_x2ap_ServedCell_Information, ServedCell_Information_sequence);
2668 static const per_sequence_t ServedCells_item_sequence[] = {
2669 { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
2670 { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information },
2671 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2672 { NULL, 0, 0, NULL }
2676 dissect_x2ap_ServedCells_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2677 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2678 ett_x2ap_ServedCells_item, ServedCells_item_sequence);
2684 static const per_sequence_t ServedCells_sequence_of[1] = {
2685 { &hf_x2ap_ServedCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCells_item },
2689 dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2690 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2691 ett_x2ap_ServedCells, ServedCells_sequence_of,
2692 1, maxCellineNB, FALSE);
2700 dissect_x2ap_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2701 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2702 16, 16, FALSE, NULL);
2708 static const value_string x2ap_SRVCCOperationPossible_vals[] = {
2715 dissect_x2ap_SRVCCOperationPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2716 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2717 1, NULL, TRUE, 0, NULL);
2725 dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2726 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2727 1U, 256U, NULL, FALSE);
2735 dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2737 tvbuff_t *parameter_tvb=NULL;
2739 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2740 NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
2745 dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, tree);
2753 static const value_string x2ap_TimeToWait_vals[] = {
2765 dissect_x2ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2766 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2767 6, NULL, TRUE, 0, NULL);
2773 static const value_string x2ap_TraceDepth_vals[] = {
2777 { 3, "minimumWithoutVendorSpecificExtension" },
2778 { 4, "mediumWithoutVendorSpecificExtension" },
2779 { 5, "maximumWithoutVendorSpecificExtension" },
2785 dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2786 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2787 6, NULL, TRUE, 0, NULL);
2795 dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2796 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2797 1, 160, TRUE, NULL);
2803 static const per_sequence_t TraceActivation_sequence[] = {
2804 { &hf_x2ap_eUTRANTraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANTraceID },
2805 { &hf_x2ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_InterfacesToTrace },
2806 { &hf_x2ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceDepth },
2807 { &hf_x2ap_traceCollectionEntityIPAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceCollectionEntityIPAddress },
2808 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2809 { NULL, 0, 0, NULL }
2813 dissect_x2ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2814 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2815 ett_x2ap_TraceActivation, TraceActivation_sequence);
2821 static const per_sequence_t UE_HistoryInformation_sequence_of[1] = {
2822 { &hf_x2ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedCell_Item },
2826 dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2827 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2828 ett_x2ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of,
2829 1, maxnoofCells, FALSE);
2837 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_) {
2838 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2839 0U, 4294967295U, NULL, FALSE);
2847 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_) {
2848 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2849 0U, 4095U, NULL, FALSE);
2855 static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
2856 { &hf_x2ap_uEaggregateMaximumBitRateDownlink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2857 { &hf_x2ap_uEaggregateMaximumBitRateUplink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
2858 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2859 { NULL, 0, 0, NULL }
2863 dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2864 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2865 ett_x2ap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
2871 static const per_sequence_t UESecurityCapabilities_sequence[] = {
2872 { &hf_x2ap_encryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EncryptionAlgorithms },
2873 { &hf_x2ap_integrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_IntegrityProtectionAlgorithms },
2874 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2875 { NULL, 0, 0, NULL }
2879 dissect_x2ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2880 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2881 ett_x2ap_UESecurityCapabilities, UESecurityCapabilities_sequence);
2887 static const value_string x2ap_UL_InterferenceOverloadIndication_Item_vals[] = {
2888 { 0, "high-interference" },
2889 { 1, "medium-interference" },
2890 { 2, "low-interference" },
2896 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_) {
2897 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2898 3, NULL, TRUE, 0, NULL);
2904 static const per_sequence_t UL_InterferenceOverloadIndication_sequence_of[1] = {
2905 { &hf_x2ap_UL_InterferenceOverloadIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication_Item },
2909 dissect_x2ap_UL_InterferenceOverloadIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2910 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2911 ett_x2ap_UL_InterferenceOverloadIndication, UL_InterferenceOverloadIndication_sequence_of,
2912 1, maxnoofPRBs, FALSE);
2920 dissect_x2ap_UL_HighInterferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2921 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2922 1, 110, TRUE, NULL);
2928 static const per_sequence_t UL_HighInterferenceIndicationInfo_Item_sequence[] = {
2929 { &hf_x2ap_target_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2930 { &hf_x2ap_ul_interferenceindication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndication },
2931 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2932 { NULL, 0, 0, NULL }
2936 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_) {
2937 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2938 ett_x2ap_UL_HighInterferenceIndicationInfo_Item, UL_HighInterferenceIndicationInfo_Item_sequence);
2944 static const per_sequence_t UL_HighInterferenceIndicationInfo_sequence_of[1] = {
2945 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndicationInfo_Item },
2949 dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2950 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2951 ett_x2ap_UL_HighInterferenceIndicationInfo, UL_HighInterferenceIndicationInfo_sequence_of,
2952 1, maxCellineNB, FALSE);
2958 static const per_sequence_t HandoverRequest_sequence[] = {
2959 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2960 { NULL, 0, 0, NULL }
2964 dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2965 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2966 ett_x2ap_HandoverRequest, HandoverRequest_sequence);
2972 static const per_sequence_t E_RABs_ToBeSetup_List_sequence_of[1] = {
2973 { &hf_x2ap_E_RABs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2977 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_) {
2978 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2979 ett_x2ap_E_RABs_ToBeSetup_List, E_RABs_ToBeSetup_List_sequence_of,
2980 1, maxnoofBearers, FALSE);
2986 static const per_sequence_t UE_ContextInformation_sequence[] = {
2987 { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID },
2988 { &hf_x2ap_uESecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UESecurityCapabilities },
2989 { &hf_x2ap_aS_SecurityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AS_SecurityInformation },
2990 { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate },
2991 { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP },
2992 { &hf_x2ap_e_RABs_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABs_ToBeSetup_List },
2993 { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context },
2994 { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList },
2995 { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation },
2996 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2997 { NULL, 0, 0, NULL }
3001 dissect_x2ap_UE_ContextInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3002 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3003 ett_x2ap_UE_ContextInformation, UE_ContextInformation_sequence);
3009 static const per_sequence_t E_RABs_ToBeSetup_Item_sequence[] = {
3010 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3011 { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters },
3012 { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding },
3013 { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint },
3014 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3015 { NULL, 0, 0, NULL }
3019 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_) {
3020 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3021 ett_x2ap_E_RABs_ToBeSetup_Item, E_RABs_ToBeSetup_Item_sequence);
3027 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
3028 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3029 { NULL, 0, 0, NULL }
3033 dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3034 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3035 ett_x2ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
3041 static const per_sequence_t E_RABs_Admitted_List_sequence_of[1] = {
3042 { &hf_x2ap_E_RABs_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3046 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_) {
3047 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3048 ett_x2ap_E_RABs_Admitted_List, E_RABs_Admitted_List_sequence_of,
3049 1, maxnoofBearers, FALSE);
3055 static const per_sequence_t E_RABs_Admitted_Item_sequence[] = {
3056 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3057 { &hf_x2ap_uL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
3058 { &hf_x2ap_dL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
3059 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3060 { NULL, 0, 0, NULL }
3064 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_) {
3065 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3066 ett_x2ap_E_RABs_Admitted_Item, E_RABs_Admitted_Item_sequence);
3072 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
3073 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3074 { NULL, 0, 0, NULL }
3078 dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3079 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3080 ett_x2ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
3086 static const per_sequence_t HandoverReport_sequence[] = {
3087 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3088 { NULL, 0, 0, NULL }
3092 dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3093 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3094 ett_x2ap_HandoverReport, HandoverReport_sequence);
3100 static const per_sequence_t SNStatusTransfer_sequence[] = {
3101 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3102 { NULL, 0, 0, NULL }
3106 dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3107 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3108 ett_x2ap_SNStatusTransfer, SNStatusTransfer_sequence);
3114 static const per_sequence_t E_RABs_SubjectToStatusTransfer_List_sequence_of[1] = {
3115 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3119 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_) {
3120 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3121 ett_x2ap_E_RABs_SubjectToStatusTransfer_List, E_RABs_SubjectToStatusTransfer_List_sequence_of,
3122 1, maxnoofBearers, FALSE);
3128 static const per_sequence_t E_RABs_SubjectToStatusTransfer_Item_sequence[] = {
3129 { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID },
3130 { &hf_x2ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReceiveStatusofULPDCPSDUs },
3131 { &hf_x2ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
3132 { &hf_x2ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
3133 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3134 { NULL, 0, 0, NULL }
3138 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_) {
3139 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3140 ett_x2ap_E_RABs_SubjectToStatusTransfer_Item, E_RABs_SubjectToStatusTransfer_Item_sequence);
3146 static const per_sequence_t UEContextRelease_sequence[] = {
3147 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3148 { NULL, 0, 0, NULL }
3152 dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3153 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3154 ett_x2ap_UEContextRelease, UEContextRelease_sequence);
3160 static const per_sequence_t HandoverCancel_sequence[] = {
3161 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3162 { NULL, 0, 0, NULL }
3166 dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3167 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3168 ett_x2ap_HandoverCancel, HandoverCancel_sequence);
3174 static const per_sequence_t ErrorIndication_sequence[] = {
3175 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3176 { NULL, 0, 0, NULL }
3180 dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3181 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3182 ett_x2ap_ErrorIndication, ErrorIndication_sequence);
3188 static const per_sequence_t ResetRequest_sequence[] = {
3189 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3190 { NULL, 0, 0, NULL }
3194 dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3195 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3196 ett_x2ap_ResetRequest, ResetRequest_sequence);
3202 static const per_sequence_t ResetResponse_sequence[] = {
3203 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3204 { NULL, 0, 0, NULL }
3208 dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3209 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3210 ett_x2ap_ResetResponse, ResetResponse_sequence);
3216 static const per_sequence_t X2SetupRequest_sequence[] = {
3217 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3218 { NULL, 0, 0, NULL }
3222 dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3223 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3224 ett_x2ap_X2SetupRequest, X2SetupRequest_sequence);
3230 static const per_sequence_t X2SetupResponse_sequence[] = {
3231 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3232 { NULL, 0, 0, NULL }
3236 dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3237 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3238 ett_x2ap_X2SetupResponse, X2SetupResponse_sequence);
3244 static const per_sequence_t X2SetupFailure_sequence[] = {
3245 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3246 { NULL, 0, 0, NULL }
3250 dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3251 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3252 ett_x2ap_X2SetupFailure, X2SetupFailure_sequence);
3258 static const per_sequence_t LoadInformation_sequence[] = {
3259 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3260 { NULL, 0, 0, NULL }
3264 dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3265 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3266 ett_x2ap_LoadInformation, LoadInformation_sequence);
3272 static const per_sequence_t CellInformation_List_sequence_of[1] = {
3273 { &hf_x2ap_CellInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3277 dissect_x2ap_CellInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3278 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3279 ett_x2ap_CellInformation_List, CellInformation_List_sequence_of,
3280 1, maxCellineNB, FALSE);
3286 static const per_sequence_t CellInformation_Item_sequence[] = {
3287 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3288 { &hf_x2ap_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_InterferenceOverloadIndication },
3289 { &hf_x2ap_ul_HighInterferenceIndicationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_HighInterferenceIndicationInfo },
3290 { &hf_x2ap_relativeNarrowbandTxPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RelativeNarrowbandTxPower },
3291 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3292 { NULL, 0, 0, NULL }
3296 dissect_x2ap_CellInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3297 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3298 ett_x2ap_CellInformation_Item, CellInformation_Item_sequence);
3304 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
3305 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3306 { NULL, 0, 0, NULL }
3310 dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3311 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3312 ett_x2ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
3318 static const per_sequence_t ServedCellsToModify_Item_sequence[] = {
3319 { &hf_x2ap_old_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3320 { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
3321 { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information },
3322 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3323 { NULL, 0, 0, NULL }
3327 dissect_x2ap_ServedCellsToModify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3328 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3329 ett_x2ap_ServedCellsToModify_Item, ServedCellsToModify_Item_sequence);
3335 static const per_sequence_t ServedCellsToModify_sequence_of[1] = {
3336 { &hf_x2ap_ServedCellsToModify_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToModify_Item },
3340 dissect_x2ap_ServedCellsToModify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3341 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3342 ett_x2ap_ServedCellsToModify, ServedCellsToModify_sequence_of,
3343 1, maxCellineNB, FALSE);
3349 static const per_sequence_t Old_ECGIs_sequence_of[1] = {
3350 { &hf_x2ap_Old_ECGIs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3354 dissect_x2ap_Old_ECGIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3355 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3356 ett_x2ap_Old_ECGIs, Old_ECGIs_sequence_of,
3357 1, maxCellineNB, FALSE);
3363 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
3364 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3365 { NULL, 0, 0, NULL }
3369 dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3370 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3371 ett_x2ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
3377 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
3378 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3379 { NULL, 0, 0, NULL }
3383 dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3384 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3385 ett_x2ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
3391 static const per_sequence_t ResourceStatusRequest_sequence[] = {
3392 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3393 { NULL, 0, 0, NULL }
3397 dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3398 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3399 ett_x2ap_ResourceStatusRequest, ResourceStatusRequest_sequence);
3405 static const per_sequence_t CellToReport_List_sequence_of[1] = {
3406 { &hf_x2ap_CellToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3410 dissect_x2ap_CellToReport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3411 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3412 ett_x2ap_CellToReport_List, CellToReport_List_sequence_of,
3413 1, maxCellineNB, FALSE);
3419 static const per_sequence_t CellToReport_Item_sequence[] = {
3420 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3421 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3422 { NULL, 0, 0, NULL }
3426 dissect_x2ap_CellToReport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3427 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3428 ett_x2ap_CellToReport_Item, CellToReport_Item_sequence);
3434 static const value_string x2ap_ReportingPeriodicity_vals[] = {
3435 { 0, "one-thousand-ms" },
3436 { 1, "two-thousand-ms" },
3437 { 2, "five-thousand-ms" },
3438 { 3, "ten-thousand-ms" },
3444 dissect_x2ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3445 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3446 4, NULL, TRUE, 0, NULL);
3452 static const per_sequence_t ResourceStatusResponse_sequence[] = {
3453 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3454 { NULL, 0, 0, NULL }
3458 dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3459 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3460 ett_x2ap_ResourceStatusResponse, ResourceStatusResponse_sequence);
3466 static const per_sequence_t ResourceStatusFailure_sequence[] = {
3467 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3468 { NULL, 0, 0, NULL }
3472 dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3473 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3474 ett_x2ap_ResourceStatusFailure, ResourceStatusFailure_sequence);
3480 static const per_sequence_t ResourceStatusUpdate_sequence[] = {
3481 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3482 { NULL, 0, 0, NULL }
3486 dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3487 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3488 ett_x2ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence);
3494 static const per_sequence_t CellMeasurementResult_List_sequence_of[1] = {
3495 { &hf_x2ap_CellMeasurementResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
3499 dissect_x2ap_CellMeasurementResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3500 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3501 ett_x2ap_CellMeasurementResult_List, CellMeasurementResult_List_sequence_of,
3502 1, maxCellineNB, FALSE);
3508 static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
3509 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
3510 { &hf_x2ap_hWOverLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator },
3511 { &hf_x2ap_s1TNLOverLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator },
3512 { &hf_x2ap_radioresourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus },
3513 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
3514 { NULL, 0, 0, NULL }
3518 dissect_x2ap_CellMeasurementResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3519 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3520 ett_x2ap_CellMeasurementResult_Item, CellMeasurementResult_Item_sequence);
3526 static const per_sequence_t PrivateMessage_sequence[] = {
3527 { &hf_x2ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Container },
3528 { NULL, 0, 0, NULL }
3532 dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3533 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3534 ett_x2ap_PrivateMessage, PrivateMessage_sequence);
3540 static const per_sequence_t MobilityChangeRequest_sequence[] = {
3541 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3542 { NULL, 0, 0, NULL }
3546 dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3547 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3548 ett_x2ap_MobilityChangeRequest, MobilityChangeRequest_sequence);
3554 static const per_sequence_t MobilityChangeAcknowledge_sequence[] = {
3555 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3556 { NULL, 0, 0, NULL }
3560 dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3561 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3562 ett_x2ap_MobilityChangeAcknowledge, MobilityChangeAcknowledge_sequence);
3568 static const per_sequence_t MobilityChangeFailure_sequence[] = {
3569 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3570 { NULL, 0, 0, NULL }
3574 dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3575 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3576 ett_x2ap_MobilityChangeFailure, MobilityChangeFailure_sequence);
3582 static const per_sequence_t RLFIndication_sequence[] = {
3583 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
3584 { NULL, 0, 0, NULL }
3588 dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3589 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3590 ett_x2ap_RLFIndication, RLFIndication_sequence);
3598 dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3599 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
3605 static const per_sequence_t InitiatingMessage_sequence[] = {
3606 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
3607 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
3608 { &hf_x2ap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_InitiatingMessage_value },
3609 { NULL, 0, 0, NULL }
3613 dissect_x2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3614 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3615 ett_x2ap_InitiatingMessage, InitiatingMessage_sequence);
3623 dissect_x2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3624 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
3630 static const per_sequence_t SuccessfulOutcome_sequence[] = {
3631 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
3632 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
3633 { &hf_x2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SuccessfulOutcome_value },
3634 { NULL, 0, 0, NULL }
3638 dissect_x2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3639 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3640 ett_x2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
3648 dissect_x2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3649 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
3655 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
3656 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
3657 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
3658 { &hf_x2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UnsuccessfulOutcome_value },
3659 { NULL, 0, 0, NULL }
3663 dissect_x2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3664 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3665 ett_x2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
3671 static const value_string x2ap_X2AP_PDU_vals[] = {
3672 { 0, "initiatingMessage" },
3673 { 1, "successfulOutcome" },
3674 { 2, "unsuccessfulOutcome" },
3678 static const per_choice_t X2AP_PDU_choice[] = {
3679 { 0, &hf_x2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_x2ap_InitiatingMessage },
3680 { 1, &hf_x2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_SuccessfulOutcome },
3681 { 2, &hf_x2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_UnsuccessfulOutcome },
3682 { 0, NULL, 0, NULL }
3686 dissect_x2ap_X2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3687 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3688 ett_x2ap_X2AP_PDU, X2AP_PDU_choice,
3696 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3698 asn1_ctx_t asn1_ctx;
3699 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3700 offset = dissect_x2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_x2ap_Cause_PDU);
3701 offset += 7; offset >>= 3;
3704 static int dissect_CompositeAvailableCapacityGroup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3706 asn1_ctx_t asn1_ctx;
3707 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3708 offset = dissect_x2ap_CompositeAvailableCapacityGroup(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompositeAvailableCapacityGroup_PDU);
3709 offset += 7; offset >>= 3;
3712 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3714 asn1_ctx_t asn1_ctx;
3715 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3716 offset = dissect_x2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_x2ap_CriticalityDiagnostics_PDU);
3717 offset += 7; offset >>= 3;
3720 static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3722 asn1_ctx_t asn1_ctx;
3723 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3724 offset = dissect_x2ap_CRNTI(tvb, offset, &asn1_ctx, tree, hf_x2ap_CRNTI_PDU);
3725 offset += 7; offset >>= 3;
3728 static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3730 asn1_ctx_t asn1_ctx;
3731 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3732 offset = dissect_x2ap_ECGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_ECGI_PDU);
3733 offset += 7; offset >>= 3;
3736 static int dissect_E_RAB_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3738 asn1_ctx_t asn1_ctx;
3739 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3740 offset = dissect_x2ap_E_RAB_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_List_PDU);
3741 offset += 7; offset >>= 3;
3744 static int dissect_E_RAB_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3746 asn1_ctx_t asn1_ctx;
3747 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3748 offset = dissect_x2ap_E_RAB_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_Item_PDU);
3749 offset += 7; offset >>= 3;
3752 static int dissect_GlobalENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3754 asn1_ctx_t asn1_ctx;
3755 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3756 offset = dissect_x2ap_GlobalENB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalENB_ID_PDU);
3757 offset += 7; offset >>= 3;
3760 static int dissect_GUGroupIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3762 asn1_ctx_t asn1_ctx;
3763 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3764 offset = dissect_x2ap_GUGroupIDList(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUGroupIDList_PDU);
3765 offset += 7; offset >>= 3;
3768 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3770 asn1_ctx_t asn1_ctx;
3771 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3772 offset = dissect_x2ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUMMEI_PDU);
3773 offset += 7; offset >>= 3;
3776 static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3778 asn1_ctx_t asn1_ctx;
3779 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3780 offset = dissect_x2ap_HandoverReportType(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReportType_PDU);
3781 offset += 7; offset >>= 3;
3784 static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3786 asn1_ctx_t asn1_ctx;
3787 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3788 offset = dissect_x2ap_Measurement_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_Measurement_ID_PDU);
3789 offset += 7; offset >>= 3;
3792 static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3794 asn1_ctx_t asn1_ctx;
3795 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3796 offset = dissect_x2ap_MobilityParametersModificationRange(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersModificationRange_PDU);
3797 offset += 7; offset >>= 3;
3800 static int dissect_MobilityParametersInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3802 asn1_ctx_t asn1_ctx;
3803 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3804 offset = dissect_x2ap_MobilityParametersInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersInformation_PDU);
3805 offset += 7; offset >>= 3;
3808 static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3810 asn1_ctx_t asn1_ctx;
3811 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3812 offset = dissect_x2ap_Number_of_Antennaports(tvb, offset, &asn1_ctx, tree, hf_x2ap_Number_of_Antennaports_PDU);
3813 offset += 7; offset >>= 3;
3816 static int dissect_PCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3818 asn1_ctx_t asn1_ctx;
3819 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3820 offset = dissect_x2ap_PCI(tvb, offset, &asn1_ctx, tree, hf_x2ap_PCI_PDU);
3821 offset += 7; offset >>= 3;
3824 static int dissect_PRACH_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3826 asn1_ctx_t asn1_ctx;
3827 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3828 offset = dissect_x2ap_PRACH_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_PRACH_Configuration_PDU);
3829 offset += 7; offset >>= 3;
3832 static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3834 asn1_ctx_t asn1_ctx;
3835 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3836 offset = dissect_x2ap_Registration_Request(tvb, offset, &asn1_ctx, tree, hf_x2ap_Registration_Request_PDU);
3837 offset += 7; offset >>= 3;
3840 static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3842 asn1_ctx_t asn1_ctx;
3843 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3844 offset = dissect_x2ap_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportCharacteristics_PDU);
3845 offset += 7; offset >>= 3;
3848 static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3850 asn1_ctx_t asn1_ctx;
3851 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3852 offset = dissect_x2ap_ServedCells(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCells_PDU);
3853 offset += 7; offset >>= 3;
3856 static int dissect_ShortMAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3858 asn1_ctx_t asn1_ctx;
3859 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3860 offset = dissect_x2ap_ShortMAC_I(tvb, offset, &asn1_ctx, tree, hf_x2ap_ShortMAC_I_PDU);
3861 offset += 7; offset >>= 3;
3864 static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3866 asn1_ctx_t asn1_ctx;
3867 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3868 offset = dissect_x2ap_SRVCCOperationPossible(tvb, offset, &asn1_ctx, tree, hf_x2ap_SRVCCOperationPossible_PDU);
3869 offset += 7; offset >>= 3;
3872 static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3874 asn1_ctx_t asn1_ctx;
3875 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3876 offset = dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU);
3877 offset += 7; offset >>= 3;
3880 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3882 asn1_ctx_t asn1_ctx;
3883 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3884 offset = dissect_x2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_x2ap_TimeToWait_PDU);
3885 offset += 7; offset >>= 3;
3888 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3890 asn1_ctx_t asn1_ctx;
3891 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3892 offset = dissect_x2ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceActivation_PDU);
3893 offset += 7; offset >>= 3;
3896 static int dissect_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3898 asn1_ctx_t asn1_ctx;
3899 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3900 offset = dissect_x2ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformation_PDU);
3901 offset += 7; offset >>= 3;
3904 static int dissect_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3906 asn1_ctx_t asn1_ctx;
3907 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3908 offset = dissect_x2ap_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_PDU);
3909 offset += 7; offset >>= 3;
3912 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3914 asn1_ctx_t asn1_ctx;
3915 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3916 offset = dissect_x2ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequest_PDU);
3917 offset += 7; offset >>= 3;
3920 static int dissect_UE_ContextInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3922 asn1_ctx_t asn1_ctx;
3923 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3924 offset = dissect_x2ap_UE_ContextInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_PDU);
3925 offset += 7; offset >>= 3;
3928 static int dissect_E_RABs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3930 asn1_ctx_t asn1_ctx;
3931 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3932 offset = dissect_x2ap_E_RABs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeSetup_Item_PDU);
3933 offset += 7; offset >>= 3;
3936 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3938 asn1_ctx_t asn1_ctx;
3939 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3940 offset = dissect_x2ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequestAcknowledge_PDU);
3941 offset += 7; offset >>= 3;
3944 static int dissect_E_RABs_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3946 asn1_ctx_t asn1_ctx;
3947 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3948 offset = dissect_x2ap_E_RABs_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_List_PDU);
3949 offset += 7; offset >>= 3;
3952 static int dissect_E_RABs_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3954 asn1_ctx_t asn1_ctx;
3955 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3956 offset = dissect_x2ap_E_RABs_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_Item_PDU);
3957 offset += 7; offset >>= 3;
3960 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3962 asn1_ctx_t asn1_ctx;
3963 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3964 offset = dissect_x2ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverPreparationFailure_PDU);
3965 offset += 7; offset >>= 3;
3968 static int dissect_HandoverReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3970 asn1_ctx_t asn1_ctx;
3971 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3972 offset = dissect_x2ap_HandoverReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReport_PDU);
3973 offset += 7; offset >>= 3;
3976 static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3978 asn1_ctx_t asn1_ctx;
3979 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3980 offset = dissect_x2ap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNStatusTransfer_PDU);
3981 offset += 7; offset >>= 3;
3984 static int dissect_E_RABs_SubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3986 asn1_ctx_t asn1_ctx;
3987 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3988 offset = dissect_x2ap_E_RABs_SubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU);
3989 offset += 7; offset >>= 3;
3992 static int dissect_E_RABs_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3994 asn1_ctx_t asn1_ctx;
3995 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
3996 offset = dissect_x2ap_E_RABs_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU);
3997 offset += 7; offset >>= 3;
4000 static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4002 asn1_ctx_t asn1_ctx;
4003 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4004 offset = dissect_x2ap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEContextRelease_PDU);
4005 offset += 7; offset >>= 3;
4008 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4010 asn1_ctx_t asn1_ctx;
4011 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4012 offset = dissect_x2ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverCancel_PDU);
4013 offset += 7; offset >>= 3;
4016 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4018 asn1_ctx_t asn1_ctx;
4019 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4020 offset = dissect_x2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_ErrorIndication_PDU);
4021 offset += 7; offset >>= 3;
4024 static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4026 asn1_ctx_t asn1_ctx;
4027 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4028 offset = dissect_x2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetRequest_PDU);
4029 offset += 7; offset >>= 3;
4032 static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4034 asn1_ctx_t asn1_ctx;
4035 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4036 offset = dissect_x2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetResponse_PDU);
4037 offset += 7; offset >>= 3;
4040 static int dissect_X2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4042 asn1_ctx_t asn1_ctx;
4043 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4044 offset = dissect_x2ap_X2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupRequest_PDU);
4045 offset += 7; offset >>= 3;
4048 static int dissect_X2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4050 asn1_ctx_t asn1_ctx;
4051 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4052 offset = dissect_x2ap_X2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupResponse_PDU);
4053 offset += 7; offset >>= 3;
4056 static int dissect_X2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4058 asn1_ctx_t asn1_ctx;
4059 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4060 offset = dissect_x2ap_X2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupFailure_PDU);
4061 offset += 7; offset >>= 3;
4064 static int dissect_LoadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4066 asn1_ctx_t asn1_ctx;
4067 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4068 offset = dissect_x2ap_LoadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_LoadInformation_PDU);
4069 offset += 7; offset >>= 3;
4072 static int dissect_CellInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4074 asn1_ctx_t asn1_ctx;
4075 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4076 offset = dissect_x2ap_CellInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_List_PDU);
4077 offset += 7; offset >>= 3;
4080 static int dissect_CellInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4082 asn1_ctx_t asn1_ctx;
4083 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4084 offset = dissect_x2ap_CellInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_Item_PDU);
4085 offset += 7; offset >>= 3;
4088 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4090 asn1_ctx_t asn1_ctx;
4091 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4092 offset = dissect_x2ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdate_PDU);
4093 offset += 7; offset >>= 3;
4096 static int dissect_ServedCellsToModify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4098 asn1_ctx_t asn1_ctx;
4099 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4100 offset = dissect_x2ap_ServedCellsToModify(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToModify_PDU);
4101 offset += 7; offset >>= 3;
4104 static int dissect_Old_ECGIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4106 asn1_ctx_t asn1_ctx;
4107 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4108 offset = dissect_x2ap_Old_ECGIs(tvb, offset, &asn1_ctx, tree, hf_x2ap_Old_ECGIs_PDU);
4109 offset += 7; offset >>= 3;
4112 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4114 asn1_ctx_t asn1_ctx;
4115 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4116 offset = dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU);
4117 offset += 7; offset >>= 3;
4120 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4122 asn1_ctx_t asn1_ctx;
4123 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4124 offset = dissect_x2ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateFailure_PDU);
4125 offset += 7; offset >>= 3;
4128 static int dissect_ResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4130 asn1_ctx_t asn1_ctx;
4131 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4132 offset = dissect_x2ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusRequest_PDU);
4133 offset += 7; offset >>= 3;
4136 static int dissect_CellToReport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4138 asn1_ctx_t asn1_ctx;
4139 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4140 offset = dissect_x2ap_CellToReport_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_List_PDU);
4141 offset += 7; offset >>= 3;
4144 static int dissect_CellToReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4146 asn1_ctx_t asn1_ctx;
4147 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4148 offset = dissect_x2ap_CellToReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_Item_PDU);
4149 offset += 7; offset >>= 3;
4152 static int dissect_ReportingPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4154 asn1_ctx_t asn1_ctx;
4155 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4156 offset = dissect_x2ap_ReportingPeriodicity(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriodicity_PDU);
4157 offset += 7; offset >>= 3;
4160 static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4162 asn1_ctx_t asn1_ctx;
4163 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4164 offset = dissect_x2ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusResponse_PDU);
4165 offset += 7; offset >>= 3;
4168 static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4170 asn1_ctx_t asn1_ctx;
4171 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4172 offset = dissect_x2ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusFailure_PDU);
4173 offset += 7; offset >>= 3;
4176 static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4178 asn1_ctx_t asn1_ctx;
4179 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4180 offset = dissect_x2ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusUpdate_PDU);
4181 offset += 7; offset >>= 3;
4184 static int dissect_CellMeasurementResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4186 asn1_ctx_t asn1_ctx;
4187 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4188 offset = dissect_x2ap_CellMeasurementResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_List_PDU);
4189 offset += 7; offset >>= 3;
4192 static int dissect_CellMeasurementResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4194 asn1_ctx_t asn1_ctx;
4195 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4196 offset = dissect_x2ap_CellMeasurementResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_Item_PDU);
4197 offset += 7; offset >>= 3;
4200 static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4202 asn1_ctx_t asn1_ctx;
4203 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4204 offset = dissect_x2ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_x2ap_PrivateMessage_PDU);
4205 offset += 7; offset >>= 3;
4208 static int dissect_MobilityChangeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4210 asn1_ctx_t asn1_ctx;
4211 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4212 offset = dissect_x2ap_MobilityChangeRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeRequest_PDU);
4213 offset += 7; offset >>= 3;
4216 static int dissect_MobilityChangeAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4218 asn1_ctx_t asn1_ctx;
4219 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4220 offset = dissect_x2ap_MobilityChangeAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeAcknowledge_PDU);
4221 offset += 7; offset >>= 3;
4224 static int dissect_MobilityChangeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4226 asn1_ctx_t asn1_ctx;
4227 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4228 offset = dissect_x2ap_MobilityChangeFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeFailure_PDU);
4229 offset += 7; offset >>= 3;
4232 static int dissect_RLFIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4234 asn1_ctx_t asn1_ctx;
4235 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4236 offset = dissect_x2ap_RLFIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLFIndication_PDU);
4237 offset += 7; offset >>= 3;
4240 static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4241 asn1_ctx_t asn1_ctx;
4242 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4243 dissect_x2ap_X2AP_PDU(tvb, 0, &asn1_ctx, tree, hf_x2ap_X2AP_PDU_PDU);
4247 /*--- End of included file: packet-x2ap-fn.c ---*/
4248 #line 94 "packet-x2ap-template.c"
4250 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
4252 return (dissector_try_port(x2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
4255 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
4257 return (dissector_try_port(x2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
4260 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
4262 return (dissector_try_port(x2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
4265 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
4267 return (dissector_try_port(x2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
4270 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
4272 return (dissector_try_port(x2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
4276 dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
4278 proto_item *x2ap_item = NULL;
4279 proto_tree *x2ap_tree = NULL;
4281 /* make entry in the Protocol column on summary display */
4282 col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP");
4284 /* create the x2ap protocol tree */
4285 x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, FALSE);
4286 x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap);
4288 dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree);
4291 /*--- proto_register_x2ap -------------------------------------------*/
4292 void proto_register_x2ap(void) {
4294 /* List of fields */
4296 static hf_register_info hf[] = {
4297 { &hf_x2ap_transportLayerAddressIPv4,
4298 { "transportLayerAddress(IPv4)", "x2ap.transportLayerAddressIPv4",
4299 FT_IPv4, BASE_NONE, NULL, 0,
4301 { &hf_x2ap_transportLayerAddressIPv6,
4302 { "transportLayerAddress(IPv6)", "x2ap.transportLayerAddressIPv6",
4303 FT_IPv4, BASE_NONE, NULL, 0,
4307 /*--- Included file: packet-x2ap-hfarr.c ---*/
4308 #line 1 "packet-x2ap-hfarr.c"
4309 { &hf_x2ap_Cause_PDU,
4310 { "Cause", "x2ap.Cause",
4311 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
4312 "x2ap.Cause", HFILL }},
4313 { &hf_x2ap_CompositeAvailableCapacityGroup_PDU,
4314 { "CompositeAvailableCapacityGroup", "x2ap.CompositeAvailableCapacityGroup",
4315 FT_NONE, BASE_NONE, NULL, 0,
4316 "x2ap.CompositeAvailableCapacityGroup", HFILL }},
4317 { &hf_x2ap_CriticalityDiagnostics_PDU,
4318 { "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics",
4319 FT_NONE, BASE_NONE, NULL, 0,
4320 "x2ap.CriticalityDiagnostics", HFILL }},
4321 { &hf_x2ap_CRNTI_PDU,
4322 { "CRNTI", "x2ap.CRNTI",
4323 FT_BYTES, BASE_NONE, NULL, 0,
4324 "x2ap.CRNTI", HFILL }},
4325 { &hf_x2ap_ECGI_PDU,
4326 { "ECGI", "x2ap.ECGI",
4327 FT_NONE, BASE_NONE, NULL, 0,
4328 "x2ap.ECGI", HFILL }},
4329 { &hf_x2ap_E_RAB_List_PDU,
4330 { "E-RAB-List", "x2ap.E_RAB_List",
4331 FT_UINT32, BASE_DEC, NULL, 0,
4332 "x2ap.E_RAB_List", HFILL }},
4333 { &hf_x2ap_E_RAB_Item_PDU,
4334 { "E-RAB-Item", "x2ap.E_RAB_Item",
4335 FT_NONE, BASE_NONE, NULL, 0,
4336 "x2ap.E_RAB_Item", HFILL }},
4337 { &hf_x2ap_GlobalENB_ID_PDU,
4338 { "GlobalENB-ID", "x2ap.GlobalENB_ID",
4339 FT_NONE, BASE_NONE, NULL, 0,
4340 "x2ap.GlobalENB_ID", HFILL }},
4341 { &hf_x2ap_GUGroupIDList_PDU,
4342 { "GUGroupIDList", "x2ap.GUGroupIDList",
4343 FT_UINT32, BASE_DEC, NULL, 0,
4344 "x2ap.GUGroupIDList", HFILL }},
4345 { &hf_x2ap_GUMMEI_PDU,
4346 { "GUMMEI", "x2ap.GUMMEI",
4347 FT_NONE, BASE_NONE, NULL, 0,
4348 "x2ap.GUMMEI", HFILL }},
4349 { &hf_x2ap_HandoverReportType_PDU,
4350 { "HandoverReportType", "x2ap.HandoverReportType",
4351 FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0,
4352 "x2ap.HandoverReportType", HFILL }},
4353 { &hf_x2ap_Measurement_ID_PDU,
4354 { "Measurement-ID", "x2ap.Measurement_ID",
4355 FT_UINT32, BASE_DEC, NULL, 0,
4356 "x2ap.Measurement_ID", HFILL }},
4357 { &hf_x2ap_MobilityParametersModificationRange_PDU,
4358 { "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange",
4359 FT_NONE, BASE_NONE, NULL, 0,
4360 "x2ap.MobilityParametersModificationRange", HFILL }},
4361 { &hf_x2ap_MobilityParametersInformation_PDU,
4362 { "MobilityParametersInformation", "x2ap.MobilityParametersInformation",
4363 FT_NONE, BASE_NONE, NULL, 0,
4364 "x2ap.MobilityParametersInformation", HFILL }},
4365 { &hf_x2ap_Number_of_Antennaports_PDU,
4366 { "Number-of-Antennaports", "x2ap.Number_of_Antennaports",
4367 FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0,
4368 "x2ap.Number_of_Antennaports", HFILL }},
4370 { "PCI", "x2ap.PCI",
4371 FT_UINT32, BASE_DEC, NULL, 0,
4372 "x2ap.PCI", HFILL }},
4373 { &hf_x2ap_PRACH_Configuration_PDU,
4374 { "PRACH-Configuration", "x2ap.PRACH_Configuration",
4375 FT_NONE, BASE_NONE, NULL, 0,
4376 "x2ap.PRACH_Configuration", HFILL }},
4377 { &hf_x2ap_Registration_Request_PDU,
4378 { "Registration-Request", "x2ap.Registration_Request",
4379 FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0,
4380 "x2ap.Registration_Request", HFILL }},
4381 { &hf_x2ap_ReportCharacteristics_PDU,
4382 { "ReportCharacteristics", "x2ap.ReportCharacteristics",
4383 FT_BYTES, BASE_NONE, NULL, 0,
4384 "x2ap.ReportCharacteristics", HFILL }},
4385 { &hf_x2ap_ServedCells_PDU,
4386 { "ServedCells", "x2ap.ServedCells",
4387 FT_UINT32, BASE_DEC, NULL, 0,
4388 "x2ap.ServedCells", HFILL }},
4389 { &hf_x2ap_ShortMAC_I_PDU,
4390 { "ShortMAC-I", "x2ap.ShortMAC_I",
4391 FT_BYTES, BASE_NONE, NULL, 0,
4392 "x2ap.ShortMAC_I", HFILL }},
4393 { &hf_x2ap_SRVCCOperationPossible_PDU,
4394 { "SRVCCOperationPossible", "x2ap.SRVCCOperationPossible",
4395 FT_UINT32, BASE_DEC, VALS(x2ap_SRVCCOperationPossible_vals), 0,
4396 "x2ap.SRVCCOperationPossible", HFILL }},
4397 { &hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU,
4398 { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer",
4399 FT_BYTES, BASE_NONE, NULL, 0,
4400 "x2ap.TargeteNBtoSource_eNBTransparentContainer", HFILL }},
4401 { &hf_x2ap_TimeToWait_PDU,
4402 { "TimeToWait", "x2ap.TimeToWait",
4403 FT_UINT32, BASE_DEC, VALS(x2ap_TimeToWait_vals), 0,
4404 "x2ap.TimeToWait", HFILL }},
4405 { &hf_x2ap_TraceActivation_PDU,
4406 { "TraceActivation", "x2ap.TraceActivation",
4407 FT_NONE, BASE_NONE, NULL, 0,
4408 "x2ap.TraceActivation", HFILL }},
4409 { &hf_x2ap_UE_HistoryInformation_PDU,
4410 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation",
4411 FT_UINT32, BASE_DEC, NULL, 0,
4412 "x2ap.UE_HistoryInformation", HFILL }},
4413 { &hf_x2ap_UE_X2AP_ID_PDU,
4414 { "UE-X2AP-ID", "x2ap.UE_X2AP_ID",
4415 FT_UINT32, BASE_DEC, NULL, 0,
4416 "x2ap.UE_X2AP_ID", HFILL }},
4417 { &hf_x2ap_HandoverRequest_PDU,
4418 { "HandoverRequest", "x2ap.HandoverRequest",
4419 FT_NONE, BASE_NONE, NULL, 0,
4420 "x2ap.HandoverRequest", HFILL }},
4421 { &hf_x2ap_UE_ContextInformation_PDU,
4422 { "UE-ContextInformation", "x2ap.UE_ContextInformation",
4423 FT_NONE, BASE_NONE, NULL, 0,
4424 "x2ap.UE_ContextInformation", HFILL }},
4425 { &hf_x2ap_E_RABs_ToBeSetup_Item_PDU,
4426 { "E-RABs-ToBeSetup-Item", "x2ap.E_RABs_ToBeSetup_Item",
4427 FT_NONE, BASE_NONE, NULL, 0,
4428 "x2ap.E_RABs_ToBeSetup_Item", HFILL }},
4429 { &hf_x2ap_HandoverRequestAcknowledge_PDU,
4430 { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge",
4431 FT_NONE, BASE_NONE, NULL, 0,
4432 "x2ap.HandoverRequestAcknowledge", HFILL }},
4433 { &hf_x2ap_E_RABs_Admitted_List_PDU,
4434 { "E-RABs-Admitted-List", "x2ap.E_RABs_Admitted_List",
4435 FT_UINT32, BASE_DEC, NULL, 0,
4436 "x2ap.E_RABs_Admitted_List", HFILL }},
4437 { &hf_x2ap_E_RABs_Admitted_Item_PDU,
4438 { "E-RABs-Admitted-Item", "x2ap.E_RABs_Admitted_Item",
4439 FT_NONE, BASE_NONE, NULL, 0,
4440 "x2ap.E_RABs_Admitted_Item", HFILL }},
4441 { &hf_x2ap_HandoverPreparationFailure_PDU,
4442 { "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure",
4443 FT_NONE, BASE_NONE, NULL, 0,
4444 "x2ap.HandoverPreparationFailure", HFILL }},
4445 { &hf_x2ap_HandoverReport_PDU,
4446 { "HandoverReport", "x2ap.HandoverReport",
4447 FT_NONE, BASE_NONE, NULL, 0,
4448 "x2ap.HandoverReport", HFILL }},
4449 { &hf_x2ap_SNStatusTransfer_PDU,
4450 { "SNStatusTransfer", "x2ap.SNStatusTransfer",
4451 FT_NONE, BASE_NONE, NULL, 0,
4452 "x2ap.SNStatusTransfer", HFILL }},
4453 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU,
4454 { "E-RABs-SubjectToStatusTransfer-List", "x2ap.E_RABs_SubjectToStatusTransfer_List",
4455 FT_UINT32, BASE_DEC, NULL, 0,
4456 "x2ap.E_RABs_SubjectToStatusTransfer_List", HFILL }},
4457 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU,
4458 { "E-RABs-SubjectToStatusTransfer-Item", "x2ap.E_RABs_SubjectToStatusTransfer_Item",
4459 FT_NONE, BASE_NONE, NULL, 0,
4460 "x2ap.E_RABs_SubjectToStatusTransfer_Item", HFILL }},
4461 { &hf_x2ap_UEContextRelease_PDU,
4462 { "UEContextRelease", "x2ap.UEContextRelease",
4463 FT_NONE, BASE_NONE, NULL, 0,
4464 "x2ap.UEContextRelease", HFILL }},
4465 { &hf_x2ap_HandoverCancel_PDU,
4466 { "HandoverCancel", "x2ap.HandoverCancel",
4467 FT_NONE, BASE_NONE, NULL, 0,
4468 "x2ap.HandoverCancel", HFILL }},
4469 { &hf_x2ap_ErrorIndication_PDU,
4470 { "ErrorIndication", "x2ap.ErrorIndication",
4471 FT_NONE, BASE_NONE, NULL, 0,
4472 "x2ap.ErrorIndication", HFILL }},
4473 { &hf_x2ap_ResetRequest_PDU,
4474 { "ResetRequest", "x2ap.ResetRequest",
4475 FT_NONE, BASE_NONE, NULL, 0,
4476 "x2ap.ResetRequest", HFILL }},
4477 { &hf_x2ap_ResetResponse_PDU,
4478 { "ResetResponse", "x2ap.ResetResponse",
4479 FT_NONE, BASE_NONE, NULL, 0,
4480 "x2ap.ResetResponse", HFILL }},
4481 { &hf_x2ap_X2SetupRequest_PDU,
4482 { "X2SetupRequest", "x2ap.X2SetupRequest",
4483 FT_NONE, BASE_NONE, NULL, 0,
4484 "x2ap.X2SetupRequest", HFILL }},
4485 { &hf_x2ap_X2SetupResponse_PDU,
4486 { "X2SetupResponse", "x2ap.X2SetupResponse",
4487 FT_NONE, BASE_NONE, NULL, 0,
4488 "x2ap.X2SetupResponse", HFILL }},
4489 { &hf_x2ap_X2SetupFailure_PDU,
4490 { "X2SetupFailure", "x2ap.X2SetupFailure",
4491 FT_NONE, BASE_NONE, NULL, 0,
4492 "x2ap.X2SetupFailure", HFILL }},
4493 { &hf_x2ap_LoadInformation_PDU,
4494 { "LoadInformation", "x2ap.LoadInformation",
4495 FT_NONE, BASE_NONE, NULL, 0,
4496 "x2ap.LoadInformation", HFILL }},
4497 { &hf_x2ap_CellInformation_List_PDU,
4498 { "CellInformation-List", "x2ap.CellInformation_List",
4499 FT_UINT32, BASE_DEC, NULL, 0,
4500 "x2ap.CellInformation_List", HFILL }},
4501 { &hf_x2ap_CellInformation_Item_PDU,
4502 { "CellInformation-Item", "x2ap.CellInformation_Item",
4503 FT_NONE, BASE_NONE, NULL, 0,
4504 "x2ap.CellInformation_Item", HFILL }},
4505 { &hf_x2ap_ENBConfigurationUpdate_PDU,
4506 { "ENBConfigurationUpdate", "x2ap.ENBConfigurationUpdate",
4507 FT_NONE, BASE_NONE, NULL, 0,
4508 "x2ap.ENBConfigurationUpdate", HFILL }},
4509 { &hf_x2ap_ServedCellsToModify_PDU,
4510 { "ServedCellsToModify", "x2ap.ServedCellsToModify",
4511 FT_UINT32, BASE_DEC, NULL, 0,
4512 "x2ap.ServedCellsToModify", HFILL }},
4513 { &hf_x2ap_Old_ECGIs_PDU,
4514 { "Old-ECGIs", "x2ap.Old_ECGIs",
4515 FT_UINT32, BASE_DEC, NULL, 0,
4516 "x2ap.Old_ECGIs", HFILL }},
4517 { &hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU,
4518 { "ENBConfigurationUpdateAcknowledge", "x2ap.ENBConfigurationUpdateAcknowledge",
4519 FT_NONE, BASE_NONE, NULL, 0,
4520 "x2ap.ENBConfigurationUpdateAcknowledge", HFILL }},
4521 { &hf_x2ap_ENBConfigurationUpdateFailure_PDU,
4522 { "ENBConfigurationUpdateFailure", "x2ap.ENBConfigurationUpdateFailure",
4523 FT_NONE, BASE_NONE, NULL, 0,
4524 "x2ap.ENBConfigurationUpdateFailure", HFILL }},
4525 { &hf_x2ap_ResourceStatusRequest_PDU,
4526 { "ResourceStatusRequest", "x2ap.ResourceStatusRequest",
4527 FT_NONE, BASE_NONE, NULL, 0,
4528 "x2ap.ResourceStatusRequest", HFILL }},
4529 { &hf_x2ap_CellToReport_List_PDU,
4530 { "CellToReport-List", "x2ap.CellToReport_List",
4531 FT_UINT32, BASE_DEC, NULL, 0,
4532 "x2ap.CellToReport_List", HFILL }},
4533 { &hf_x2ap_CellToReport_Item_PDU,
4534 { "CellToReport-Item", "x2ap.CellToReport_Item",
4535 FT_NONE, BASE_NONE, NULL, 0,
4536 "x2ap.CellToReport_Item", HFILL }},
4537 { &hf_x2ap_ReportingPeriodicity_PDU,
4538 { "ReportingPeriodicity", "x2ap.ReportingPeriodicity",
4539 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_vals), 0,
4540 "x2ap.ReportingPeriodicity", HFILL }},
4541 { &hf_x2ap_ResourceStatusResponse_PDU,
4542 { "ResourceStatusResponse", "x2ap.ResourceStatusResponse",
4543 FT_NONE, BASE_NONE, NULL, 0,
4544 "x2ap.ResourceStatusResponse", HFILL }},
4545 { &hf_x2ap_ResourceStatusFailure_PDU,
4546 { "ResourceStatusFailure", "x2ap.ResourceStatusFailure",
4547 FT_NONE, BASE_NONE, NULL, 0,
4548 "x2ap.ResourceStatusFailure", HFILL }},
4549 { &hf_x2ap_ResourceStatusUpdate_PDU,
4550 { "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate",
4551 FT_NONE, BASE_NONE, NULL, 0,
4552 "x2ap.ResourceStatusUpdate", HFILL }},
4553 { &hf_x2ap_CellMeasurementResult_List_PDU,
4554 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List",
4555 FT_UINT32, BASE_DEC, NULL, 0,
4556 "x2ap.CellMeasurementResult_List", HFILL }},
4557 { &hf_x2ap_CellMeasurementResult_Item_PDU,
4558 { "CellMeasurementResult-Item", "x2ap.CellMeasurementResult_Item",
4559 FT_NONE, BASE_NONE, NULL, 0,
4560 "x2ap.CellMeasurementResult_Item", HFILL }},
4561 { &hf_x2ap_PrivateMessage_PDU,
4562 { "PrivateMessage", "x2ap.PrivateMessage",
4563 FT_NONE, BASE_NONE, NULL, 0,
4564 "x2ap.PrivateMessage", HFILL }},
4565 { &hf_x2ap_MobilityChangeRequest_PDU,
4566 { "MobilityChangeRequest", "x2ap.MobilityChangeRequest",
4567 FT_NONE, BASE_NONE, NULL, 0,
4568 "x2ap.MobilityChangeRequest", HFILL }},
4569 { &hf_x2ap_MobilityChangeAcknowledge_PDU,
4570 { "MobilityChangeAcknowledge", "x2ap.MobilityChangeAcknowledge",
4571 FT_NONE, BASE_NONE, NULL, 0,
4572 "x2ap.MobilityChangeAcknowledge", HFILL }},
4573 { &hf_x2ap_MobilityChangeFailure_PDU,
4574 { "MobilityChangeFailure", "x2ap.MobilityChangeFailure",
4575 FT_NONE, BASE_NONE, NULL, 0,
4576 "x2ap.MobilityChangeFailure", HFILL }},
4577 { &hf_x2ap_RLFIndication_PDU,
4578 { "RLFIndication", "x2ap.RLFIndication",
4579 FT_NONE, BASE_NONE, NULL, 0,
4580 "x2ap.RLFIndication", HFILL }},
4581 { &hf_x2ap_X2AP_PDU_PDU,
4582 { "X2AP-PDU", "x2ap.X2AP_PDU",
4583 FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
4584 "x2ap.X2AP_PDU", HFILL }},
4586 { "local", "x2ap.local",
4587 FT_UINT32, BASE_DEC, NULL, 0,
4588 "x2ap.INTEGER_0_maxPrivateIEs", HFILL }},
4590 { "global", "x2ap.global",
4591 FT_OID, BASE_NONE, NULL, 0,
4592 "x2ap.OBJECT_IDENTIFIER", HFILL }},
4593 { &hf_x2ap_ProtocolIE_Container_item,
4594 { "ProtocolIE-Field", "x2ap.ProtocolIE_Field",
4595 FT_NONE, BASE_NONE, NULL, 0,
4596 "x2ap.ProtocolIE_Field", HFILL }},
4599 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
4600 "x2ap.ProtocolIE_ID", HFILL }},
4601 { &hf_x2ap_criticality,
4602 { "criticality", "x2ap.criticality",
4603 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
4604 "x2ap.Criticality", HFILL }},
4605 { &hf_x2ap_protocolIE_Field_value,
4606 { "value", "x2ap.value",
4607 FT_NONE, BASE_NONE, NULL, 0,
4608 "x2ap.ProtocolIE_Field_value", HFILL }},
4609 { &hf_x2ap_ProtocolExtensionContainer_item,
4610 { "ProtocolExtensionField", "x2ap.ProtocolExtensionField",
4611 FT_NONE, BASE_NONE, NULL, 0,
4612 "x2ap.ProtocolExtensionField", HFILL }},
4613 { &hf_x2ap_extension_id,
4615 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
4616 "x2ap.ProtocolIE_ID", HFILL }},
4617 { &hf_x2ap_extensionValue,
4618 { "extensionValue", "x2ap.extensionValue",
4619 FT_NONE, BASE_NONE, NULL, 0,
4620 "x2ap.T_extensionValue", HFILL }},
4621 { &hf_x2ap_PrivateIE_Container_item,
4622 { "PrivateIE-Field", "x2ap.PrivateIE_Field",
4623 FT_NONE, BASE_NONE, NULL, 0,
4624 "x2ap.PrivateIE_Field", HFILL }},
4625 { &hf_x2ap_private_id,
4627 FT_UINT32, BASE_DEC, VALS(x2ap_PrivateIE_ID_vals), 0,
4628 "x2ap.PrivateIE_ID", HFILL }},
4629 { &hf_x2ap_privateIE_Field_value,
4630 { "value", "x2ap.value",
4631 FT_NONE, BASE_NONE, NULL, 0,
4632 "x2ap.PrivateIE_Field_value", HFILL }},
4633 { &hf_x2ap_key_eNodeB_star,
4634 { "key-eNodeB-star", "x2ap.key_eNodeB_star",
4635 FT_BYTES, BASE_NONE, NULL, 0,
4636 "x2ap.Key_eNodeB_Star", HFILL }},
4637 { &hf_x2ap_nextHopChainingCount,
4638 { "nextHopChainingCount", "x2ap.nextHopChainingCount",
4639 FT_UINT32, BASE_DEC, NULL, 0,
4640 "x2ap.NextHopChainingCount", HFILL }},
4641 { &hf_x2ap_iE_Extensions,
4642 { "iE-Extensions", "x2ap.iE_Extensions",
4643 FT_UINT32, BASE_DEC, NULL, 0,
4644 "x2ap.ProtocolExtensionContainer", HFILL }},
4645 { &hf_x2ap_priorityLevel,
4646 { "priorityLevel", "x2ap.priorityLevel",
4647 FT_UINT32, BASE_DEC, VALS(x2ap_PriorityLevel_vals), 0,
4648 "x2ap.PriorityLevel", HFILL }},
4649 { &hf_x2ap_pre_emptionCapability,
4650 { "pre-emptionCapability", "x2ap.pre_emptionCapability",
4651 FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionCapability_vals), 0,
4652 "x2ap.Pre_emptionCapability", HFILL }},
4653 { &hf_x2ap_pre_emptionVulnerability,
4654 { "pre-emptionVulnerability", "x2ap.pre_emptionVulnerability",
4655 FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionVulnerability_vals), 0,
4656 "x2ap.Pre_emptionVulnerability", HFILL }},
4657 { &hf_x2ap_BroadcastPLMNs_Item_item,
4658 { "PLMN-Identity", "x2ap.PLMN_Identity",
4659 FT_BYTES, BASE_NONE, NULL, 0,
4660 "x2ap.PLMN_Identity", HFILL }},
4661 { &hf_x2ap_radioNetwork,
4662 { "radioNetwork", "x2ap.radioNetwork",
4663 FT_UINT32, BASE_DEC, VALS(x2ap_CauseRadioNetwork_vals), 0,
4664 "x2ap.CauseRadioNetwork", HFILL }},
4665 { &hf_x2ap_transport,
4666 { "transport", "x2ap.transport",
4667 FT_UINT32, BASE_DEC, VALS(x2ap_CauseTransport_vals), 0,
4668 "x2ap.CauseTransport", HFILL }},
4669 { &hf_x2ap_protocol,
4670 { "protocol", "x2ap.protocol",
4671 FT_UINT32, BASE_DEC, VALS(x2ap_CauseProtocol_vals), 0,
4672 "x2ap.CauseProtocol", HFILL }},
4674 { "misc", "x2ap.misc",
4675 FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0,
4676 "x2ap.CauseMisc", HFILL }},
4677 { &hf_x2ap_cell_Size,
4678 { "cell-Size", "x2ap.cell_Size",
4679 FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Size_vals), 0,
4680 "x2ap.Cell_Size", HFILL }},
4681 { &hf_x2ap_dL_CompositeAvailableCapacity,
4682 { "dL-CompositeAvailableCapacity", "x2ap.dL_CompositeAvailableCapacity",
4683 FT_NONE, BASE_NONE, NULL, 0,
4684 "x2ap.CompositeAvailableCapacity", HFILL }},
4685 { &hf_x2ap_uL_CompositeAvailableCapacity,
4686 { "uL-CompositeAvailableCapacity", "x2ap.uL_CompositeAvailableCapacity",
4687 FT_NONE, BASE_NONE, NULL, 0,
4688 "x2ap.CompositeAvailableCapacity", HFILL }},
4689 { &hf_x2ap_cellCapacityClassValue,
4690 { "cellCapacityClassValue", "x2ap.cellCapacityClassValue",
4691 FT_UINT32, BASE_DEC, NULL, 0,
4692 "x2ap.CellCapacityClassValue", HFILL }},
4693 { &hf_x2ap_capacityValue,
4694 { "capacityValue", "x2ap.capacityValue",
4695 FT_UINT32, BASE_DEC, NULL, 0,
4696 "x2ap.CapacityValue", HFILL }},
4698 { "pDCP-SN", "x2ap.pDCP_SN",
4699 FT_UINT32, BASE_DEC, NULL, 0,
4700 "x2ap.PDCP_SN", HFILL }},
4702 { "hFN", "x2ap.hFN",
4703 FT_UINT32, BASE_DEC, NULL, 0,
4704 "x2ap.HFN", HFILL }},
4705 { &hf_x2ap_procedureCode,
4706 { "procedureCode", "x2ap.procedureCode",
4707 FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureCode_vals), 0,
4708 "x2ap.ProcedureCode", HFILL }},
4709 { &hf_x2ap_triggeringMessage,
4710 { "triggeringMessage", "x2ap.triggeringMessage",
4711 FT_UINT32, BASE_DEC, VALS(x2ap_TriggeringMessage_vals), 0,
4712 "x2ap.TriggeringMessage", HFILL }},
4713 { &hf_x2ap_procedureCriticality,
4714 { "procedureCriticality", "x2ap.procedureCriticality",
4715 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
4716 "x2ap.Criticality", HFILL }},
4717 { &hf_x2ap_iEsCriticalityDiagnostics,
4718 { "iEsCriticalityDiagnostics", "x2ap.iEsCriticalityDiagnostics",
4719 FT_UINT32, BASE_DEC, NULL, 0,
4720 "x2ap.CriticalityDiagnostics_IE_List", HFILL }},
4721 { &hf_x2ap_CriticalityDiagnostics_IE_List_item,
4722 { "CriticalityDiagnostics-IE-List item", "x2ap.CriticalityDiagnostics_IE_List_item",
4723 FT_NONE, BASE_NONE, NULL, 0,
4724 "x2ap.CriticalityDiagnostics_IE_List_item", HFILL }},
4725 { &hf_x2ap_iECriticality,
4726 { "iECriticality", "x2ap.iECriticality",
4727 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
4728 "x2ap.Criticality", HFILL }},
4730 { "iE-ID", "x2ap.iE_ID",
4731 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
4732 "x2ap.ProtocolIE_ID", HFILL }},
4733 { &hf_x2ap_typeOfError,
4734 { "typeOfError", "x2ap.typeOfError",
4735 FT_UINT32, BASE_DEC, VALS(x2ap_TypeOfError_vals), 0,
4736 "x2ap.TypeOfError", HFILL }},
4737 { &hf_x2ap_uL_EARFCN,
4738 { "uL-EARFCN", "x2ap.uL_EARFCN",
4739 FT_UINT32, BASE_DEC, NULL, 0,
4740 "x2ap.EARFCN", HFILL }},
4741 { &hf_x2ap_dL_EARFCN,
4742 { "dL-EARFCN", "x2ap.dL_EARFCN",
4743 FT_UINT32, BASE_DEC, NULL, 0,
4744 "x2ap.EARFCN", HFILL }},
4745 { &hf_x2ap_uL_Transmission_Bandwidth,
4746 { "uL-Transmission-Bandwidth", "x2ap.uL_Transmission_Bandwidth",
4747 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
4748 "x2ap.Transmission_Bandwidth", HFILL }},
4749 { &hf_x2ap_dL_Transmission_Bandwidth,
4750 { "dL-Transmission-Bandwidth", "x2ap.dL_Transmission_Bandwidth",
4751 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
4752 "x2ap.Transmission_Bandwidth", HFILL }},
4754 { "eARFCN", "x2ap.eARFCN",
4755 FT_UINT32, BASE_DEC, NULL, 0,
4756 "x2ap.EARFCN", HFILL }},
4757 { &hf_x2ap_transmission_Bandwidth,
4758 { "transmission-Bandwidth", "x2ap.transmission_Bandwidth",
4759 FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0,
4760 "x2ap.Transmission_Bandwidth", HFILL }},
4761 { &hf_x2ap_subframeAssignment,
4762 { "subframeAssignment", "x2ap.subframeAssignment",
4763 FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAssignment_vals), 0,
4764 "x2ap.SubframeAssignment", HFILL }},
4765 { &hf_x2ap_specialSubframe_Info,
4766 { "specialSubframe-Info", "x2ap.specialSubframe_Info",
4767 FT_NONE, BASE_NONE, NULL, 0,
4768 "x2ap.SpecialSubframe_Info", HFILL }},
4770 { "fDD", "x2ap.fDD",
4771 FT_NONE, BASE_NONE, NULL, 0,
4772 "x2ap.FDD_Info", HFILL }},
4774 { "tDD", "x2ap.tDD",
4775 FT_NONE, BASE_NONE, NULL, 0,
4776 "x2ap.TDD_Info", HFILL }},
4777 { &hf_x2ap_pLMN_Identity,
4778 { "pLMN-Identity", "x2ap.pLMN_Identity",
4779 FT_BYTES, BASE_NONE, NULL, 0,
4780 "x2ap.PLMN_Identity", HFILL }},
4781 { &hf_x2ap_eUTRANcellIdentifier,
4782 { "eUTRANcellIdentifier", "x2ap.eUTRANcellIdentifier",
4783 FT_BYTES, BASE_NONE, NULL, 0,
4784 "x2ap.EUTRANCellIdentifier", HFILL }},
4785 { &hf_x2ap_macro_eNB_ID,
4786 { "macro-eNB-ID", "x2ap.macro_eNB_ID",
4787 FT_BYTES, BASE_NONE, NULL, 0,
4788 "x2ap.BIT_STRING_SIZE_20", HFILL }},
4789 { &hf_x2ap_home_eNB_ID,
4790 { "home-eNB-ID", "x2ap.home_eNB_ID",
4791 FT_BYTES, BASE_NONE, NULL, 0,
4792 "x2ap.BIT_STRING_SIZE_28", HFILL }},
4793 { &hf_x2ap_EPLMNs_item,
4794 { "PLMN-Identity", "x2ap.PLMN_Identity",
4795 FT_BYTES, BASE_NONE, NULL, 0,
4796 "x2ap.PLMN_Identity", HFILL }},
4798 { "qCI", "x2ap.qCI",
4799 FT_UINT32, BASE_DEC, NULL, 0,
4800 "x2ap.QCI", HFILL }},
4801 { &hf_x2ap_allocationAndRetentionPriority,
4802 { "allocationAndRetentionPriority", "x2ap.allocationAndRetentionPriority",
4803 FT_NONE, BASE_NONE, NULL, 0,
4804 "x2ap.AllocationAndRetentionPriority", HFILL }},
4805 { &hf_x2ap_gbrQosInformation,
4806 { "gbrQosInformation", "x2ap.gbrQosInformation",
4807 FT_NONE, BASE_NONE, NULL, 0,
4808 "x2ap.GBR_QosInformation", HFILL }},
4809 { &hf_x2ap_E_RAB_List_item,
4810 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
4811 FT_NONE, BASE_NONE, NULL, 0,
4812 "x2ap.ProtocolIE_Single_Container", HFILL }},
4813 { &hf_x2ap_e_RAB_ID,
4814 { "e-RAB-ID", "x2ap.e_RAB_ID",
4815 FT_UINT32, BASE_DEC, NULL, 0,
4816 "x2ap.E_RAB_ID", HFILL }},
4818 { "cause", "x2ap.cause",
4819 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
4820 "x2ap.Cause", HFILL }},
4821 { &hf_x2ap_ForbiddenTAs_item,
4822 { "ForbiddenTAs-Item", "x2ap.ForbiddenTAs_Item",
4823 FT_NONE, BASE_NONE, NULL, 0,
4824 "x2ap.ForbiddenTAs_Item", HFILL }},
4825 { &hf_x2ap_forbiddenTACs,
4826 { "forbiddenTACs", "x2ap.forbiddenTACs",
4827 FT_UINT32, BASE_DEC, NULL, 0,
4828 "x2ap.ForbiddenTACs", HFILL }},
4829 { &hf_x2ap_ForbiddenTACs_item,
4830 { "TAC", "x2ap.TAC",
4831 FT_BYTES, BASE_NONE, NULL, 0,
4832 "x2ap.TAC", HFILL }},
4833 { &hf_x2ap_ForbiddenLAs_item,
4834 { "ForbiddenLAs-Item", "x2ap.ForbiddenLAs_Item",
4835 FT_NONE, BASE_NONE, NULL, 0,
4836 "x2ap.ForbiddenLAs_Item", HFILL }},
4837 { &hf_x2ap_forbiddenLACs,
4838 { "forbiddenLACs", "x2ap.forbiddenLACs",
4839 FT_UINT32, BASE_DEC, NULL, 0,
4840 "x2ap.ForbiddenLACs", HFILL }},
4841 { &hf_x2ap_ForbiddenLACs_item,
4842 { "LAC", "x2ap.LAC",
4843 FT_BYTES, BASE_NONE, NULL, 0,
4844 "x2ap.LAC", HFILL }},
4845 { &hf_x2ap_e_RAB_MaximumBitrateDL,
4846 { "e-RAB-MaximumBitrateDL", "x2ap.e_RAB_MaximumBitrateDL",
4847 FT_UINT64, BASE_DEC, NULL, 0,
4848 "x2ap.BitRate", HFILL }},
4849 { &hf_x2ap_e_RAB_MaximumBitrateUL,
4850 { "e-RAB-MaximumBitrateUL", "x2ap.e_RAB_MaximumBitrateUL",
4851 FT_UINT64, BASE_DEC, NULL, 0,
4852 "x2ap.BitRate", HFILL }},
4853 { &hf_x2ap_e_RAB_GuaranteedBitrateDL,
4854 { "e-RAB-GuaranteedBitrateDL", "x2ap.e_RAB_GuaranteedBitrateDL",
4855 FT_UINT64, BASE_DEC, NULL, 0,
4856 "x2ap.BitRate", HFILL }},
4857 { &hf_x2ap_e_RAB_GuaranteedBitrateUL,
4858 { "e-RAB-GuaranteedBitrateUL", "x2ap.e_RAB_GuaranteedBitrateUL",
4859 FT_UINT64, BASE_DEC, NULL, 0,
4860 "x2ap.BitRate", HFILL }},
4862 { "eNB-ID", "x2ap.eNB_ID",
4863 FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0,
4864 "x2ap.ENB_ID", HFILL }},
4865 { &hf_x2ap_transportLayerAddress,
4866 { "transportLayerAddress", "x2ap.transportLayerAddress",
4867 FT_BYTES, BASE_NONE, NULL, 0,
4868 "x2ap.TransportLayerAddress", HFILL }},
4869 { &hf_x2ap_gTP_TEID,
4870 { "gTP-TEID", "x2ap.gTP_TEID",
4871 FT_BYTES, BASE_NONE, NULL, 0,
4872 "x2ap.GTP_TEI", HFILL }},
4873 { &hf_x2ap_GUGroupIDList_item,
4874 { "GU-Group-ID", "x2ap.GU_Group_ID",
4875 FT_NONE, BASE_NONE, NULL, 0,
4876 "x2ap.GU_Group_ID", HFILL }},
4877 { &hf_x2ap_mME_Group_ID,
4878 { "mME-Group-ID", "x2ap.mME_Group_ID",
4879 FT_BYTES, BASE_NONE, NULL, 0,
4880 "x2ap.MME_Group_ID", HFILL }},
4881 { &hf_x2ap_gU_Group_ID,
4882 { "gU-Group-ID", "x2ap.gU_Group_ID",
4883 FT_NONE, BASE_NONE, NULL, 0,
4884 "x2ap.GU_Group_ID", HFILL }},
4885 { &hf_x2ap_mMME_Code,
4886 { "mMME-Code", "x2ap.mMME_Code",
4887 FT_BYTES, BASE_NONE, NULL, 0,
4888 "x2ap.MME_Code", HFILL }},
4889 { &hf_x2ap_servingPLMN,
4890 { "servingPLMN", "x2ap.servingPLMN",
4891 FT_BYTES, BASE_NONE, NULL, 0,
4892 "x2ap.PLMN_Identity", HFILL }},
4893 { &hf_x2ap_equivalentPLMNs,
4894 { "equivalentPLMNs", "x2ap.equivalentPLMNs",
4895 FT_UINT32, BASE_DEC, NULL, 0,
4896 "x2ap.EPLMNs", HFILL }},
4897 { &hf_x2ap_forbiddenTAs,
4898 { "forbiddenTAs", "x2ap.forbiddenTAs",
4899 FT_UINT32, BASE_DEC, NULL, 0,
4900 "x2ap.ForbiddenTAs", HFILL }},
4901 { &hf_x2ap_forbiddenLAs,
4902 { "forbiddenLAs", "x2ap.forbiddenLAs",
4903 FT_UINT32, BASE_DEC, NULL, 0,
4904 "x2ap.ForbiddenLAs", HFILL }},
4905 { &hf_x2ap_forbiddenInterRATs,
4906 { "forbiddenInterRATs", "x2ap.forbiddenInterRATs",
4907 FT_UINT32, BASE_DEC, VALS(x2ap_ForbiddenInterRATs_vals), 0,
4908 "x2ap.ForbiddenInterRATs", HFILL }},
4909 { &hf_x2ap_dLHWLoadIndicator,
4910 { "dLHWLoadIndicator", "x2ap.dLHWLoadIndicator",
4911 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
4912 "x2ap.LoadIndicator", HFILL }},
4913 { &hf_x2ap_uLHWLoadIndicator,
4914 { "uLHWLoadIndicator", "x2ap.uLHWLoadIndicator",
4915 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
4916 "x2ap.LoadIndicator", HFILL }},
4917 { &hf_x2ap_e_UTRAN_Cell,
4918 { "e-UTRAN-Cell", "x2ap.e_UTRAN_Cell",
4919 FT_NONE, BASE_NONE, NULL, 0,
4920 "x2ap.LastVisitedEUTRANCellInformation", HFILL }},
4921 { &hf_x2ap_uTRAN_Cell,
4922 { "uTRAN-Cell", "x2ap.uTRAN_Cell",
4923 FT_BYTES, BASE_NONE, NULL, 0,
4924 "x2ap.LastVisitedUTRANCellInformation", HFILL }},
4925 { &hf_x2ap_gERAN_Cell,
4926 { "gERAN-Cell", "x2ap.gERAN_Cell",
4927 FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedGERANCellInformation_vals), 0,
4928 "x2ap.LastVisitedGERANCellInformation", HFILL }},
4929 { &hf_x2ap_global_Cell_ID,
4930 { "global-Cell-ID", "x2ap.global_Cell_ID",
4931 FT_NONE, BASE_NONE, NULL, 0,
4932 "x2ap.ECGI", HFILL }},
4933 { &hf_x2ap_cellType,
4934 { "cellType", "x2ap.cellType",
4935 FT_NONE, BASE_NONE, NULL, 0,
4936 "x2ap.CellType", HFILL }},
4937 { &hf_x2ap_time_UE_StayedInCell,
4938 { "time-UE-StayedInCell", "x2ap.time_UE_StayedInCell",
4939 FT_UINT32, BASE_DEC, NULL, 0,
4940 "x2ap.Time_UE_StayedInCell", HFILL }},
4941 { &hf_x2ap_undefined,
4942 { "undefined", "x2ap.undefined",
4943 FT_NONE, BASE_NONE, NULL, 0,
4944 "x2ap.NULL", HFILL }},
4945 { &hf_x2ap_eventType,
4946 { "eventType", "x2ap.eventType",
4947 FT_UINT32, BASE_DEC, VALS(x2ap_EventType_vals), 0,
4948 "x2ap.EventType", HFILL }},
4949 { &hf_x2ap_reportArea,
4950 { "reportArea", "x2ap.reportArea",
4951 FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
4952 "x2ap.ReportArea", HFILL }},
4953 { &hf_x2ap_handoverTriggerChangeLowerLimit,
4954 { "handoverTriggerChangeLowerLimit", "x2ap.handoverTriggerChangeLowerLimit",
4955 FT_INT32, BASE_DEC, NULL, 0,
4956 "x2ap.INTEGER_M20_20", HFILL }},
4957 { &hf_x2ap_handoverTriggerChangeUpperLimit,
4958 { "handoverTriggerChangeUpperLimit", "x2ap.handoverTriggerChangeUpperLimit",
4959 FT_INT32, BASE_DEC, NULL, 0,
4960 "x2ap.INTEGER_M20_20", HFILL }},
4961 { &hf_x2ap_handoverTriggerChange,
4962 { "handoverTriggerChange", "x2ap.handoverTriggerChange",
4963 FT_INT32, BASE_DEC, NULL, 0,
4964 "x2ap.INTEGER_M20_20", HFILL }},
4965 { &hf_x2ap_Neighbour_Information_item,
4966 { "Neighbour-Information item", "x2ap.Neighbour_Information_item",
4967 FT_NONE, BASE_NONE, NULL, 0,
4968 "x2ap.Neighbour_Information_item", HFILL }},
4970 { "eCGI", "x2ap.eCGI",
4971 FT_NONE, BASE_NONE, NULL, 0,
4972 "x2ap.ECGI", HFILL }},
4974 { "pCI", "x2ap.pCI",
4975 FT_UINT32, BASE_DEC, NULL, 0,
4976 "x2ap.PCI", HFILL }},
4977 { &hf_x2ap_rootSequenceIndex,
4978 { "rootSequenceIndex", "x2ap.rootSequenceIndex",
4979 FT_UINT32, BASE_DEC, NULL, 0,
4980 "x2ap.INTEGER_0_837", HFILL }},
4981 { &hf_x2ap_zeroCorrelationIndex,
4982 { "zeroCorrelationIndex", "x2ap.zeroCorrelationIndex",
4983 FT_UINT32, BASE_DEC, NULL, 0,
4984 "x2ap.INTEGER_0_15", HFILL }},
4985 { &hf_x2ap_highSpeedFlag,
4986 { "highSpeedFlag", "x2ap.highSpeedFlag",
4987 FT_BOOLEAN, BASE_NONE, NULL, 0,
4988 "x2ap.BOOLEAN", HFILL }},
4989 { &hf_x2ap_prach_FreqOffset,
4990 { "prach-FreqOffset", "x2ap.prach_FreqOffset",
4991 FT_UINT32, BASE_DEC, NULL, 0,
4992 "x2ap.INTEGER_0_94", HFILL }},
4993 { &hf_x2ap_prach_ConfigIndex,
4994 { "prach-ConfigIndex", "x2ap.prach_ConfigIndex",
4995 FT_UINT32, BASE_DEC, NULL, 0,
4996 "x2ap.INTEGER_0_63", HFILL }},
4997 { &hf_x2ap_rNTP_PerPRB,
4998 { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
4999 FT_BYTES, BASE_NONE, NULL, 0,
5000 "x2ap.BIT_STRING_SIZE_6_110_", HFILL }},
5001 { &hf_x2ap_rNTP_Threshold,
5002 { "rNTP-Threshold", "x2ap.rNTP_Threshold",
5003 FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
5004 "x2ap.RNTP_Threshold", HFILL }},
5005 { &hf_x2ap_numberOfCellSpecificAntennaPorts,
5006 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
5007 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
5008 "x2ap.T_numberOfCellSpecificAntennaPorts", HFILL }},
5010 { "p-B", "x2ap.p_B",
5011 FT_UINT32, BASE_DEC, NULL, 0,
5012 "x2ap.INTEGER_0_3_", HFILL }},
5013 { &hf_x2ap_pDCCH_InterferenceImpact,
5014 { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
5015 FT_UINT32, BASE_DEC, NULL, 0,
5016 "x2ap.INTEGER_0_4_", HFILL }},
5017 { &hf_x2ap_dL_GBR_PRB_usage,
5018 { "dL-GBR-PRB-usage", "x2ap.dL_GBR_PRB_usage",
5019 FT_UINT32, BASE_DEC, NULL, 0,
5020 "x2ap.DL_GBR_PRB_usage", HFILL }},
5021 { &hf_x2ap_uL_GBR_PRB_usage,
5022 { "uL-GBR-PRB-usage", "x2ap.uL_GBR_PRB_usage",
5023 FT_UINT32, BASE_DEC, NULL, 0,
5024 "x2ap.UL_GBR_PRB_usage", HFILL }},
5025 { &hf_x2ap_dL_non_GBR_PRB_usage,
5026 { "dL-non-GBR-PRB-usage", "x2ap.dL_non_GBR_PRB_usage",
5027 FT_UINT32, BASE_DEC, NULL, 0,
5028 "x2ap.DL_non_GBR_PRB_usage", HFILL }},
5029 { &hf_x2ap_uL_non_GBR_PRB_usage,
5030 { "uL-non-GBR-PRB-usage", "x2ap.uL_non_GBR_PRB_usage",
5031 FT_UINT32, BASE_DEC, NULL, 0,
5032 "x2ap.UL_non_GBR_PRB_usage", HFILL }},
5033 { &hf_x2ap_dL_Total_PRB_usage,
5034 { "dL-Total-PRB-usage", "x2ap.dL_Total_PRB_usage",
5035 FT_UINT32, BASE_DEC, NULL, 0,
5036 "x2ap.DL_Total_PRB_usage", HFILL }},
5037 { &hf_x2ap_uL_Total_PRB_usage,
5038 { "uL-Total-PRB-usage", "x2ap.uL_Total_PRB_usage",
5039 FT_UINT32, BASE_DEC, NULL, 0,
5040 "x2ap.UL_Total_PRB_usage", HFILL }},
5041 { &hf_x2ap_dLS1TNLLoadIndicator,
5042 { "dLS1TNLLoadIndicator", "x2ap.dLS1TNLLoadIndicator",
5043 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
5044 "x2ap.LoadIndicator", HFILL }},
5045 { &hf_x2ap_uLS1TNLLoadIndicator,
5046 { "uLS1TNLLoadIndicator", "x2ap.uLS1TNLLoadIndicator",
5047 FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
5048 "x2ap.LoadIndicator", HFILL }},
5049 { &hf_x2ap_ServedCells_item,
5050 { "ServedCells item", "x2ap.ServedCells_item",
5051 FT_NONE, BASE_NONE, NULL, 0,
5052 "x2ap.ServedCells_item", HFILL }},
5053 { &hf_x2ap_servedCellInfo,
5054 { "servedCellInfo", "x2ap.servedCellInfo",
5055 FT_NONE, BASE_NONE, NULL, 0,
5056 "x2ap.ServedCell_Information", HFILL }},
5057 { &hf_x2ap_neighbour_Info,
5058 { "neighbour-Info", "x2ap.neighbour_Info",
5059 FT_UINT32, BASE_DEC, NULL, 0,
5060 "x2ap.Neighbour_Information", HFILL }},
5062 { "cellId", "x2ap.cellId",
5063 FT_NONE, BASE_NONE, NULL, 0,
5064 "x2ap.ECGI", HFILL }},
5066 { "tAC", "x2ap.tAC",
5067 FT_BYTES, BASE_NONE, NULL, 0,
5068 "x2ap.TAC", HFILL }},
5069 { &hf_x2ap_broadcastPLMNs,
5070 { "broadcastPLMNs", "x2ap.broadcastPLMNs",
5071 FT_UINT32, BASE_DEC, NULL, 0,
5072 "x2ap.BroadcastPLMNs_Item", HFILL }},
5073 { &hf_x2ap_eUTRA_Mode_Info,
5074 { "eUTRA-Mode-Info", "x2ap.eUTRA_Mode_Info",
5075 FT_UINT32, BASE_DEC, VALS(x2ap_EUTRA_Mode_Info_vals), 0,
5076 "x2ap.EUTRA_Mode_Info", HFILL }},
5077 { &hf_x2ap_specialSubframePatterns,
5078 { "specialSubframePatterns", "x2ap.specialSubframePatterns",
5079 FT_UINT32, BASE_DEC, VALS(x2ap_SpecialSubframePatterns_vals), 0,
5080 "x2ap.SpecialSubframePatterns", HFILL }},
5081 { &hf_x2ap_cyclicPrefixDL,
5082 { "cyclicPrefixDL", "x2ap.cyclicPrefixDL",
5083 FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixDL_vals), 0,
5084 "x2ap.CyclicPrefixDL", HFILL }},
5085 { &hf_x2ap_cyclicPrefixUL,
5086 { "cyclicPrefixUL", "x2ap.cyclicPrefixUL",
5087 FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixUL_vals), 0,
5088 "x2ap.CyclicPrefixUL", HFILL }},
5089 { &hf_x2ap_eUTRANTraceID,
5090 { "eUTRANTraceID", "x2ap.eUTRANTraceID",
5091 FT_BYTES, BASE_NONE, NULL, 0,
5092 "x2ap.EUTRANTraceID", HFILL }},
5093 { &hf_x2ap_interfacesToTrace,
5094 { "interfacesToTrace", "x2ap.interfacesToTrace",
5095 FT_BYTES, BASE_NONE, NULL, 0,
5096 "x2ap.InterfacesToTrace", HFILL }},
5097 { &hf_x2ap_traceDepth,
5098 { "traceDepth", "x2ap.traceDepth",
5099 FT_UINT32, BASE_DEC, VALS(x2ap_TraceDepth_vals), 0,
5100 "x2ap.TraceDepth", HFILL }},
5101 { &hf_x2ap_traceCollectionEntityIPAddress,
5102 { "traceCollectionEntityIPAddress", "x2ap.traceCollectionEntityIPAddress",
5103 FT_BYTES, BASE_NONE, NULL, 0,
5104 "x2ap.TraceCollectionEntityIPAddress", HFILL }},
5105 { &hf_x2ap_UE_HistoryInformation_item,
5106 { "LastVisitedCell-Item", "x2ap.LastVisitedCell_Item",
5107 FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedCell_Item_vals), 0,
5108 "x2ap.LastVisitedCell_Item", HFILL }},
5109 { &hf_x2ap_uEaggregateMaximumBitRateDownlink,
5110 { "uEaggregateMaximumBitRateDownlink", "x2ap.uEaggregateMaximumBitRateDownlink",
5111 FT_UINT64, BASE_DEC, NULL, 0,
5112 "x2ap.BitRate", HFILL }},
5113 { &hf_x2ap_uEaggregateMaximumBitRateUplink,
5114 { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink",
5115 FT_UINT64, BASE_DEC, NULL, 0,
5116 "x2ap.BitRate", HFILL }},
5117 { &hf_x2ap_encryptionAlgorithms,
5118 { "encryptionAlgorithms", "x2ap.encryptionAlgorithms",
5119 FT_BYTES, BASE_NONE, NULL, 0,
5120 "x2ap.EncryptionAlgorithms", HFILL }},
5121 { &hf_x2ap_integrityProtectionAlgorithms,
5122 { "integrityProtectionAlgorithms", "x2ap.integrityProtectionAlgorithms",
5123 FT_BYTES, BASE_NONE, NULL, 0,
5124 "x2ap.IntegrityProtectionAlgorithms", HFILL }},
5125 { &hf_x2ap_UL_InterferenceOverloadIndication_item,
5126 { "UL-InterferenceOverloadIndication-Item", "x2ap.UL_InterferenceOverloadIndication_Item",
5127 FT_UINT32, BASE_DEC, VALS(x2ap_UL_InterferenceOverloadIndication_Item_vals), 0,
5128 "x2ap.UL_InterferenceOverloadIndication_Item", HFILL }},
5129 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item,
5130 { "UL-HighInterferenceIndicationInfo-Item", "x2ap.UL_HighInterferenceIndicationInfo_Item",
5131 FT_NONE, BASE_NONE, NULL, 0,
5132 "x2ap.UL_HighInterferenceIndicationInfo_Item", HFILL }},
5133 { &hf_x2ap_target_Cell_ID,
5134 { "target-Cell-ID", "x2ap.target_Cell_ID",
5135 FT_NONE, BASE_NONE, NULL, 0,
5136 "x2ap.ECGI", HFILL }},
5137 { &hf_x2ap_ul_interferenceindication,
5138 { "ul-interferenceindication", "x2ap.ul_interferenceindication",
5139 FT_BYTES, BASE_NONE, NULL, 0,
5140 "x2ap.UL_HighInterferenceIndication", HFILL }},
5141 { &hf_x2ap_protocolIEs,
5142 { "protocolIEs", "x2ap.protocolIEs",
5143 FT_UINT32, BASE_DEC, NULL, 0,
5144 "x2ap.ProtocolIE_Container", HFILL }},
5145 { &hf_x2ap_mME_UE_S1AP_ID,
5146 { "mME-UE-S1AP-ID", "x2ap.mME_UE_S1AP_ID",
5147 FT_UINT32, BASE_DEC, NULL, 0,
5148 "x2ap.UE_S1AP_ID", HFILL }},
5149 { &hf_x2ap_uESecurityCapabilities,
5150 { "uESecurityCapabilities", "x2ap.uESecurityCapabilities",
5151 FT_NONE, BASE_NONE, NULL, 0,
5152 "x2ap.UESecurityCapabilities", HFILL }},
5153 { &hf_x2ap_aS_SecurityInformation,
5154 { "aS-SecurityInformation", "x2ap.aS_SecurityInformation",
5155 FT_NONE, BASE_NONE, NULL, 0,
5156 "x2ap.AS_SecurityInformation", HFILL }},
5157 { &hf_x2ap_uEaggregateMaximumBitRate,
5158 { "uEaggregateMaximumBitRate", "x2ap.uEaggregateMaximumBitRate",
5159 FT_NONE, BASE_NONE, NULL, 0,
5160 "x2ap.UEAggregateMaximumBitRate", HFILL }},
5161 { &hf_x2ap_subscriberProfileIDforRFP,
5162 { "subscriberProfileIDforRFP", "x2ap.subscriberProfileIDforRFP",
5163 FT_UINT32, BASE_DEC, NULL, 0,
5164 "x2ap.SubscriberProfileIDforRFP", HFILL }},
5165 { &hf_x2ap_e_RABs_ToBeSetup_List,
5166 { "e-RABs-ToBeSetup-List", "x2ap.e_RABs_ToBeSetup_List",
5167 FT_UINT32, BASE_DEC, NULL, 0,
5168 "x2ap.E_RABs_ToBeSetup_List", HFILL }},
5169 { &hf_x2ap_rRC_Context,
5170 { "rRC-Context", "x2ap.rRC_Context",
5171 FT_BYTES, BASE_NONE, NULL, 0,
5172 "x2ap.RRC_Context", HFILL }},
5173 { &hf_x2ap_handoverRestrictionList,
5174 { "handoverRestrictionList", "x2ap.handoverRestrictionList",
5175 FT_NONE, BASE_NONE, NULL, 0,
5176 "x2ap.HandoverRestrictionList", HFILL }},
5177 { &hf_x2ap_locationReportingInformation,
5178 { "locationReportingInformation", "x2ap.locationReportingInformation",
5179 FT_NONE, BASE_NONE, NULL, 0,
5180 "x2ap.LocationReportingInformation", HFILL }},
5181 { &hf_x2ap_E_RABs_ToBeSetup_List_item,
5182 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
5183 FT_NONE, BASE_NONE, NULL, 0,
5184 "x2ap.ProtocolIE_Single_Container", HFILL }},
5185 { &hf_x2ap_e_RAB_Level_QoS_Parameters,
5186 { "e-RAB-Level-QoS-Parameters", "x2ap.e_RAB_Level_QoS_Parameters",
5187 FT_NONE, BASE_NONE, NULL, 0,
5188 "x2ap.E_RAB_Level_QoS_Parameters", HFILL }},
5189 { &hf_x2ap_dL_Forwarding,
5190 { "dL-Forwarding", "x2ap.dL_Forwarding",
5191 FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0,
5192 "x2ap.DL_Forwarding", HFILL }},
5193 { &hf_x2ap_uL_GTPtunnelEndpoint,
5194 { "uL-GTPtunnelEndpoint", "x2ap.uL_GTPtunnelEndpoint",
5195 FT_NONE, BASE_NONE, NULL, 0,
5196 "x2ap.GTPtunnelEndpoint", HFILL }},
5197 { &hf_x2ap_E_RABs_Admitted_List_item,
5198 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
5199 FT_NONE, BASE_NONE, NULL, 0,
5200 "x2ap.ProtocolIE_Single_Container", HFILL }},
5201 { &hf_x2ap_uL_GTP_TunnelEndpoint,
5202 { "uL-GTP-TunnelEndpoint", "x2ap.uL_GTP_TunnelEndpoint",
5203 FT_NONE, BASE_NONE, NULL, 0,
5204 "x2ap.GTPtunnelEndpoint", HFILL }},
5205 { &hf_x2ap_dL_GTP_TunnelEndpoint,
5206 { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint",
5207 FT_NONE, BASE_NONE, NULL, 0,
5208 "x2ap.GTPtunnelEndpoint", HFILL }},
5209 { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item,
5210 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
5211 FT_NONE, BASE_NONE, NULL, 0,
5212 "x2ap.ProtocolIE_Single_Container", HFILL }},
5213 { &hf_x2ap_receiveStatusofULPDCPSDUs,
5214 { "receiveStatusofULPDCPSDUs", "x2ap.receiveStatusofULPDCPSDUs",
5215 FT_BYTES, BASE_NONE, NULL, 0,
5216 "x2ap.ReceiveStatusofULPDCPSDUs", HFILL }},
5217 { &hf_x2ap_uL_COUNTvalue,
5218 { "uL-COUNTvalue", "x2ap.uL_COUNTvalue",
5219 FT_NONE, BASE_NONE, NULL, 0,
5220 "x2ap.COUNTvalue", HFILL }},
5221 { &hf_x2ap_dL_COUNTvalue,
5222 { "dL-COUNTvalue", "x2ap.dL_COUNTvalue",
5223 FT_NONE, BASE_NONE, NULL, 0,
5224 "x2ap.COUNTvalue", HFILL }},
5225 { &hf_x2ap_CellInformation_List_item,
5226 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
5227 FT_NONE, BASE_NONE, NULL, 0,
5228 "x2ap.ProtocolIE_Single_Container", HFILL }},
5230 { "cell-ID", "x2ap.cell_ID",
5231 FT_NONE, BASE_NONE, NULL, 0,
5232 "x2ap.ECGI", HFILL }},
5233 { &hf_x2ap_ul_InterferenceOverloadIndication,
5234 { "ul-InterferenceOverloadIndication", "x2ap.ul_InterferenceOverloadIndication",
5235 FT_UINT32, BASE_DEC, NULL, 0,
5236 "x2ap.UL_InterferenceOverloadIndication", HFILL }},
5237 { &hf_x2ap_ul_HighInterferenceIndicationInfo,
5238 { "ul-HighInterferenceIndicationInfo", "x2ap.ul_HighInterferenceIndicationInfo",
5239 FT_UINT32, BASE_DEC, NULL, 0,
5240 "x2ap.UL_HighInterferenceIndicationInfo", HFILL }},
5241 { &hf_x2ap_relativeNarrowbandTxPower,
5242 { "relativeNarrowbandTxPower", "x2ap.relativeNarrowbandTxPower",
5243 FT_NONE, BASE_NONE, NULL, 0,
5244 "x2ap.RelativeNarrowbandTxPower", HFILL }},
5245 { &hf_x2ap_ServedCellsToModify_item,
5246 { "ServedCellsToModify-Item", "x2ap.ServedCellsToModify_Item",
5247 FT_NONE, BASE_NONE, NULL, 0,
5248 "x2ap.ServedCellsToModify_Item", HFILL }},
5249 { &hf_x2ap_old_ecgi,
5250 { "old-ecgi", "x2ap.old_ecgi",
5251 FT_NONE, BASE_NONE, NULL, 0,
5252 "x2ap.ECGI", HFILL }},
5253 { &hf_x2ap_Old_ECGIs_item,
5254 { "ECGI", "x2ap.ECGI",
5255 FT_NONE, BASE_NONE, NULL, 0,
5256 "x2ap.ECGI", HFILL }},
5257 { &hf_x2ap_CellToReport_List_item,
5258 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
5259 FT_NONE, BASE_NONE, NULL, 0,
5260 "x2ap.ProtocolIE_Single_Container", HFILL }},
5261 { &hf_x2ap_CellMeasurementResult_List_item,
5262 { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
5263 FT_NONE, BASE_NONE, NULL, 0,
5264 "x2ap.ProtocolIE_Single_Container", HFILL }},
5265 { &hf_x2ap_hWOverLoadIndicator,
5266 { "hWOverLoadIndicator", "x2ap.hWOverLoadIndicator",
5267 FT_NONE, BASE_NONE, NULL, 0,
5268 "x2ap.HWLoadIndicator", HFILL }},
5269 { &hf_x2ap_s1TNLOverLoadIndicator,
5270 { "s1TNLOverLoadIndicator", "x2ap.s1TNLOverLoadIndicator",
5271 FT_NONE, BASE_NONE, NULL, 0,
5272 "x2ap.S1TNLLoadIndicator", HFILL }},
5273 { &hf_x2ap_radioresourceStatus,
5274 { "radioresourceStatus", "x2ap.radioresourceStatus",
5275 FT_NONE, BASE_NONE, NULL, 0,
5276 "x2ap.RadioResourceStatus", HFILL }},
5277 { &hf_x2ap_privateIEs,
5278 { "privateIEs", "x2ap.privateIEs",
5279 FT_UINT32, BASE_DEC, NULL, 0,
5280 "x2ap.PrivateIE_Container", HFILL }},
5281 { &hf_x2ap_initiatingMessage,
5282 { "initiatingMessage", "x2ap.initiatingMessage",
5283 FT_NONE, BASE_NONE, NULL, 0,
5284 "x2ap.InitiatingMessage", HFILL }},
5285 { &hf_x2ap_successfulOutcome,
5286 { "successfulOutcome", "x2ap.successfulOutcome",
5287 FT_NONE, BASE_NONE, NULL, 0,
5288 "x2ap.SuccessfulOutcome", HFILL }},
5289 { &hf_x2ap_unsuccessfulOutcome,
5290 { "unsuccessfulOutcome", "x2ap.unsuccessfulOutcome",
5291 FT_NONE, BASE_NONE, NULL, 0,
5292 "x2ap.UnsuccessfulOutcome", HFILL }},
5293 { &hf_x2ap_initiatingMessage_value,
5294 { "value", "x2ap.value",
5295 FT_NONE, BASE_NONE, NULL, 0,
5296 "x2ap.InitiatingMessage_value", HFILL }},
5297 { &hf_x2ap_successfulOutcome_value,
5298 { "value", "x2ap.value",
5299 FT_NONE, BASE_NONE, NULL, 0,
5300 "x2ap.SuccessfulOutcome_value", HFILL }},
5302 { "value", "x2ap.value",
5303 FT_NONE, BASE_NONE, NULL, 0,
5304 "x2ap.UnsuccessfulOutcome_value", HFILL }},
5306 /*--- End of included file: packet-x2ap-hfarr.c ---*/
5307 #line 152 "packet-x2ap-template.c"
5310 /* List of subtrees */
5311 static gint *ett[] = {
5313 &ett_x2ap_TransportLayerAddress,
5315 /*--- Included file: packet-x2ap-ettarr.c ---*/
5316 #line 1 "packet-x2ap-ettarr.c"
5317 &ett_x2ap_PrivateIE_ID,
5318 &ett_x2ap_ProtocolIE_Container,
5319 &ett_x2ap_ProtocolIE_Field,
5320 &ett_x2ap_ProtocolExtensionContainer,
5321 &ett_x2ap_ProtocolExtensionField,
5322 &ett_x2ap_PrivateIE_Container,
5323 &ett_x2ap_PrivateIE_Field,
5324 &ett_x2ap_AS_SecurityInformation,
5325 &ett_x2ap_AllocationAndRetentionPriority,
5326 &ett_x2ap_BroadcastPLMNs_Item,
5329 &ett_x2ap_CompositeAvailableCapacityGroup,
5330 &ett_x2ap_CompositeAvailableCapacity,
5331 &ett_x2ap_COUNTvalue,
5332 &ett_x2ap_CriticalityDiagnostics,
5333 &ett_x2ap_CriticalityDiagnostics_IE_List,
5334 &ett_x2ap_CriticalityDiagnostics_IE_List_item,
5337 &ett_x2ap_EUTRA_Mode_Info,
5341 &ett_x2ap_E_RAB_Level_QoS_Parameters,
5342 &ett_x2ap_E_RAB_List,
5343 &ett_x2ap_E_RAB_Item,
5344 &ett_x2ap_ForbiddenTAs,
5345 &ett_x2ap_ForbiddenTAs_Item,
5346 &ett_x2ap_ForbiddenTACs,
5347 &ett_x2ap_ForbiddenLAs,
5348 &ett_x2ap_ForbiddenLAs_Item,
5349 &ett_x2ap_ForbiddenLACs,
5350 &ett_x2ap_GBR_QosInformation,
5351 &ett_x2ap_GlobalENB_ID,
5352 &ett_x2ap_GTPtunnelEndpoint,
5353 &ett_x2ap_GUGroupIDList,
5354 &ett_x2ap_GU_Group_ID,
5356 &ett_x2ap_HandoverRestrictionList,
5357 &ett_x2ap_HWLoadIndicator,
5358 &ett_x2ap_LastVisitedCell_Item,
5359 &ett_x2ap_LastVisitedEUTRANCellInformation,
5360 &ett_x2ap_LastVisitedGERANCellInformation,
5361 &ett_x2ap_LocationReportingInformation,
5362 &ett_x2ap_MobilityParametersModificationRange,
5363 &ett_x2ap_MobilityParametersInformation,
5364 &ett_x2ap_Neighbour_Information,
5365 &ett_x2ap_Neighbour_Information_item,
5366 &ett_x2ap_PRACH_Configuration,
5367 &ett_x2ap_RelativeNarrowbandTxPower,
5368 &ett_x2ap_RadioResourceStatus,
5369 &ett_x2ap_S1TNLLoadIndicator,
5370 &ett_x2ap_ServedCells,
5371 &ett_x2ap_ServedCells_item,
5372 &ett_x2ap_ServedCell_Information,
5373 &ett_x2ap_SpecialSubframe_Info,
5374 &ett_x2ap_TraceActivation,
5375 &ett_x2ap_UE_HistoryInformation,
5376 &ett_x2ap_UEAggregateMaximumBitRate,
5377 &ett_x2ap_UESecurityCapabilities,
5378 &ett_x2ap_UL_InterferenceOverloadIndication,
5379 &ett_x2ap_UL_HighInterferenceIndicationInfo,
5380 &ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
5381 &ett_x2ap_HandoverRequest,
5382 &ett_x2ap_UE_ContextInformation,
5383 &ett_x2ap_E_RABs_ToBeSetup_List,
5384 &ett_x2ap_E_RABs_ToBeSetup_Item,
5385 &ett_x2ap_HandoverRequestAcknowledge,
5386 &ett_x2ap_E_RABs_Admitted_List,
5387 &ett_x2ap_E_RABs_Admitted_Item,
5388 &ett_x2ap_HandoverPreparationFailure,
5389 &ett_x2ap_HandoverReport,
5390 &ett_x2ap_SNStatusTransfer,
5391 &ett_x2ap_E_RABs_SubjectToStatusTransfer_List,
5392 &ett_x2ap_E_RABs_SubjectToStatusTransfer_Item,
5393 &ett_x2ap_UEContextRelease,
5394 &ett_x2ap_HandoverCancel,
5395 &ett_x2ap_ErrorIndication,
5396 &ett_x2ap_ResetRequest,
5397 &ett_x2ap_ResetResponse,
5398 &ett_x2ap_X2SetupRequest,
5399 &ett_x2ap_X2SetupResponse,
5400 &ett_x2ap_X2SetupFailure,
5401 &ett_x2ap_LoadInformation,
5402 &ett_x2ap_CellInformation_List,
5403 &ett_x2ap_CellInformation_Item,
5404 &ett_x2ap_ENBConfigurationUpdate,
5405 &ett_x2ap_ServedCellsToModify,
5406 &ett_x2ap_ServedCellsToModify_Item,
5407 &ett_x2ap_Old_ECGIs,
5408 &ett_x2ap_ENBConfigurationUpdateAcknowledge,
5409 &ett_x2ap_ENBConfigurationUpdateFailure,
5410 &ett_x2ap_ResourceStatusRequest,
5411 &ett_x2ap_CellToReport_List,
5412 &ett_x2ap_CellToReport_Item,
5413 &ett_x2ap_ResourceStatusResponse,
5414 &ett_x2ap_ResourceStatusFailure,
5415 &ett_x2ap_ResourceStatusUpdate,
5416 &ett_x2ap_CellMeasurementResult_List,
5417 &ett_x2ap_CellMeasurementResult_Item,
5418 &ett_x2ap_PrivateMessage,
5419 &ett_x2ap_MobilityChangeRequest,
5420 &ett_x2ap_MobilityChangeAcknowledge,
5421 &ett_x2ap_MobilityChangeFailure,
5422 &ett_x2ap_RLFIndication,
5424 &ett_x2ap_InitiatingMessage,
5425 &ett_x2ap_SuccessfulOutcome,
5426 &ett_x2ap_UnsuccessfulOutcome,
5428 /*--- End of included file: packet-x2ap-ettarr.c ---*/
5429 #line 159 "packet-x2ap-template.c"
5432 module_t *x2ap_module;
5434 /* Register protocol */
5435 proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
5436 /* Register fields and subtrees */
5437 proto_register_field_array(proto_x2ap, hf, array_length(hf));
5438 proto_register_subtree_array(ett, array_length(ett));
5440 /* Register dissector */
5441 register_dissector("x2ap", dissect_x2ap, proto_x2ap);
5443 /* Register dissector tables */
5444 x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
5445 x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
5446 x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC);
5447 x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC);
5448 x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC);
5450 /* Register configuration options for ports */
5451 x2ap_module = prefs_register_protocol(proto_x2ap, proto_reg_handoff_x2ap);
5453 prefs_register_uint_preference(x2ap_module, "sctp.port",
5455 "Set the SCTP port for X2AP messages",
5462 /*--- proto_reg_handoff_x2ap ---------------------------------------*/
5464 proto_reg_handoff_x2ap(void)
5466 dissector_handle_t x2ap_handle;
5467 static gboolean Initialized=FALSE;
5468 static guint SctpPort;
5470 x2ap_handle = find_dissector("x2ap");
5472 dissector_add_handle("sctp.port", x2ap_handle); /* for "decode-as" */
5473 dissector_add("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle);
5476 /*--- Included file: packet-x2ap-dis-tab.c ---*/
5477 #line 1 "packet-x2ap-dis-tab.c"
5478 dissector_add("x2ap.ies", id_E_RABs_Admitted_Item, new_create_dissector_handle(dissect_E_RABs_Admitted_Item_PDU, proto_x2ap));
5479 dissector_add("x2ap.ies", id_E_RABs_Admitted_List, new_create_dissector_handle(dissect_E_RABs_Admitted_List_PDU, proto_x2ap));
5480 dissector_add("x2ap.ies", id_E_RAB_Item, new_create_dissector_handle(dissect_E_RAB_Item_PDU, proto_x2ap));
5481 dissector_add("x2ap.ies", id_E_RABs_NotAdmitted_List, new_create_dissector_handle(dissect_E_RAB_List_PDU, proto_x2ap));
5482 dissector_add("x2ap.ies", id_E_RABs_ToBeSetup_Item, new_create_dissector_handle(dissect_E_RABs_ToBeSetup_Item_PDU, proto_x2ap));
5483 dissector_add("x2ap.ies", id_Cause, new_create_dissector_handle(dissect_Cause_PDU, proto_x2ap));
5484 dissector_add("x2ap.ies", id_CellInformation, new_create_dissector_handle(dissect_CellInformation_List_PDU, proto_x2ap));
5485 dissector_add("x2ap.ies", id_CellInformation_Item, new_create_dissector_handle(dissect_CellInformation_Item_PDU, proto_x2ap));
5486 dissector_add("x2ap.ies", id_New_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
5487 dissector_add("x2ap.ies", id_Old_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
5488 dissector_add("x2ap.ies", id_TargetCell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
5489 dissector_add("x2ap.ies", id_TargeteNBtoSource_eNBTransparentContainer, new_create_dissector_handle(dissect_TargeteNBtoSource_eNBTransparentContainer_PDU, proto_x2ap));
5490 dissector_add("x2ap.ies", id_TraceActivation, new_create_dissector_handle(dissect_TraceActivation_PDU, proto_x2ap));
5491 dissector_add("x2ap.ies", id_UE_ContextInformation, new_create_dissector_handle(dissect_UE_ContextInformation_PDU, proto_x2ap));
5492 dissector_add("x2ap.ies", id_UE_HistoryInformation, new_create_dissector_handle(dissect_UE_HistoryInformation_PDU, proto_x2ap));
5493 dissector_add("x2ap.ies", id_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
5494 dissector_add("x2ap.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_x2ap));
5495 dissector_add("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_List, new_create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_List_PDU, proto_x2ap));
5496 dissector_add("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_Item, new_create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_Item_PDU, proto_x2ap));
5497 dissector_add("x2ap.ies", id_ServedCells, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
5498 dissector_add("x2ap.ies", id_GlobalENB_ID, new_create_dissector_handle(dissect_GlobalENB_ID_PDU, proto_x2ap));
5499 dissector_add("x2ap.ies", id_TimeToWait, new_create_dissector_handle(dissect_TimeToWait_PDU, proto_x2ap));
5500 dissector_add("x2ap.ies", id_GUMMEI_ID, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_x2ap));
5501 dissector_add("x2ap.ies", id_GUGroupIDList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
5502 dissector_add("x2ap.ies", id_ServedCellsToAdd, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
5503 dissector_add("x2ap.ies", id_ServedCellsToModify, new_create_dissector_handle(dissect_ServedCellsToModify_PDU, proto_x2ap));
5504 dissector_add("x2ap.ies", id_ServedCellsToDelete, new_create_dissector_handle(dissect_Old_ECGIs_PDU, proto_x2ap));
5505 dissector_add("x2ap.ies", id_Registration_Request, new_create_dissector_handle(dissect_Registration_Request_PDU, proto_x2ap));
5506 dissector_add("x2ap.ies", id_CellToReport, new_create_dissector_handle(dissect_CellToReport_List_PDU, proto_x2ap));
5507 dissector_add("x2ap.ies", id_ReportingPeriodicity, new_create_dissector_handle(dissect_ReportingPeriodicity_PDU, proto_x2ap));
5508 dissector_add("x2ap.ies", id_CellToReport_Item, new_create_dissector_handle(dissect_CellToReport_Item_PDU, proto_x2ap));
5509 dissector_add("x2ap.ies", id_CellMeasurementResult, new_create_dissector_handle(dissect_CellMeasurementResult_List_PDU, proto_x2ap));
5510 dissector_add("x2ap.ies", id_CellMeasurementResult_Item, new_create_dissector_handle(dissect_CellMeasurementResult_Item_PDU, proto_x2ap));
5511 dissector_add("x2ap.ies", id_GUGroupIDToAddList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
5512 dissector_add("x2ap.ies", id_GUGroupIDToDeleteList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
5513 dissector_add("x2ap.ies", id_SRVCCOperationPossible, new_create_dissector_handle(dissect_SRVCCOperationPossible_PDU, proto_x2ap));
5514 dissector_add("x2ap.ies", id_ReportCharacteristics, new_create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_x2ap));
5515 dissector_add("x2ap.ies", id_ENB1_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
5516 dissector_add("x2ap.ies", id_ENB2_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
5517 dissector_add("x2ap.ies", id_ENB1_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
5518 dissector_add("x2ap.ies", id_ENB2_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
5519 dissector_add("x2ap.ies", id_ENB2_Proposed_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
5520 dissector_add("x2ap.ies", id_ENB1_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
5521 dissector_add("x2ap.ies", id_ENB2_Mobility_Parameters_Modification_Range, new_create_dissector_handle(dissect_MobilityParametersModificationRange_PDU, proto_x2ap));
5522 dissector_add("x2ap.ies", id_FailureCellPCI, new_create_dissector_handle(dissect_PCI_PDU, proto_x2ap));
5523 dissector_add("x2ap.ies", id_Re_establishmentCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
5524 dissector_add("x2ap.ies", id_FailureCellCRNTI, new_create_dissector_handle(dissect_CRNTI_PDU, proto_x2ap));
5525 dissector_add("x2ap.ies", id_ShortMAC_I, new_create_dissector_handle(dissect_ShortMAC_I_PDU, proto_x2ap));
5526 dissector_add("x2ap.ies", id_SourceCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
5527 dissector_add("x2ap.ies", id_FailureCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
5528 dissector_add("x2ap.ies", id_HandoverReportType, new_create_dissector_handle(dissect_HandoverReportType_PDU, proto_x2ap));
5529 dissector_add("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
5530 dissector_add("x2ap.extension", id_CompositeAvailableCapacityGroup, new_create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
5531 dissector_add("x2ap.extension", id_PRACH_Configuration, new_create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
5532 dissector_add("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
5533 dissector_add("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
5534 dissector_add("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
5535 dissector_add("x2ap.proc.imsg", id_snStatusTransfer, new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap));
5536 dissector_add("x2ap.proc.imsg", id_uEContextRelease, new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap));
5537 dissector_add("x2ap.proc.imsg", id_handoverCancel, new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap));
5538 dissector_add("x2ap.proc.imsg", id_errorIndication, new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap));
5539 dissector_add("x2ap.proc.imsg", id_reset, new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap));
5540 dissector_add("x2ap.proc.sout", id_reset, new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap));
5541 dissector_add("x2ap.proc.imsg", id_x2Setup, new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap));
5542 dissector_add("x2ap.proc.sout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap));
5543 dissector_add("x2ap.proc.uout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap));
5544 dissector_add("x2ap.proc.imsg", id_loadIndication, new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap));
5545 dissector_add("x2ap.proc.imsg", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap));
5546 dissector_add("x2ap.proc.sout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap));
5547 dissector_add("x2ap.proc.uout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap));
5548 dissector_add("x2ap.proc.imsg", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap));
5549 dissector_add("x2ap.proc.sout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap));
5550 dissector_add("x2ap.proc.uout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap));
5551 dissector_add("x2ap.proc.imsg", id_resourceStatusReporting, new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap));
5552 dissector_add("x2ap.proc.imsg", id_privateMessage, new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap));
5553 dissector_add("x2ap.proc.imsg", id_handoverReport, new_create_dissector_handle(dissect_HandoverReport_PDU, proto_x2ap));
5554 dissector_add("x2ap.proc.imsg", id_rLFIndication, new_create_dissector_handle(dissect_RLFIndication_PDU, proto_x2ap));
5555 dissector_add("x2ap.proc.imsg", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeRequest_PDU, proto_x2ap));
5556 dissector_add("x2ap.proc.sout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeAcknowledge_PDU, proto_x2ap));
5557 dissector_add("x2ap.proc.uout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeFailure_PDU, proto_x2ap));
5560 /*--- End of included file: packet-x2ap-dis-tab.c ---*/
5561 #line 205 "packet-x2ap-template.c"
5563 if (SctpPort != 0) {
5564 dissector_delete("sctp.port", SctpPort, x2ap_handle);
5568 SctpPort=gbl_x2apSctpPort;
5569 if (SctpPort != 0) {
5570 dissector_add("sctp.port", SctpPort, x2ap_handle);