Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-s1ap.c
blob9c794e063ea2119cb17502540dd67a2df987c93a
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-s1ap.c */
4 /* asn2wrs.py -q -L -p s1ap -c ./s1ap.cnf -s ./packet-s1ap-template -D . -O ../.. S1AP-CommonDataTypes.asn S1AP-Constants.asn S1AP-Containers.asn S1AP-IEs.asn S1AP-PDU-Contents.asn S1AP-PDU-Descriptions.asn S1AP-SonTransfer-IEs.asn */
6 /* packet-s1ap.c
7 * Routines for E-UTRAN S1 Application Protocol (S1AP) packet dissection
8 * Copyright 2007-2016, Anders Broman <anders.broman@ericsson.com>
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
16 * Based on the RANAP dissector
18 * References: 3GPP TS 36.413 V18.2.0 (2024-06)
21 #include "config.h"
23 #include <epan/packet.h>
25 #include <epan/asn1.h>
26 #include <epan/prefs.h>
27 #include <epan/sctpppids.h>
28 #include <epan/expert.h>
29 #include <epan/conversation.h>
30 #include <epan/proto_data.h>
31 #include <epan/exceptions.h>
32 #include <epan/show_exception.h>
33 #include <epan/tfs.h>
34 #include <epan/unit_strings.h>
35 #include <wsutil/array.h>
37 #include "packet-per.h"
38 #include "packet-e212.h"
39 #include "packet-lte-rrc.h"
40 #include "packet-ranap.h"
41 #include "packet-bssgp.h"
42 #include "packet-s1ap.h"
43 #include "packet-a21.h"
44 #include "packet-gsm_map.h"
45 #include "packet-cell_broadcast.h"
46 #include "packet-gsm_a_common.h"
47 #include "packet-ntp.h"
48 #include "packet-ngap.h"
50 #define PNAME "S1 Application Protocol"
51 #define PSNAME "S1AP"
52 #define PFNAME "s1ap"
54 /* Dissector will use SCTP PPID 18 or SCTP port. IANA assigned port = 36412 */
55 #define SCTP_PORT_S1AP 36412
57 void proto_register_s1ap(void);
58 void proto_reg_handoff_s1ap(void);
60 static dissector_handle_t gcsna_handle;
61 static dissector_handle_t nas_eps_handle;
62 static dissector_handle_t lppa_handle;
63 static dissector_handle_t bssgp_handle;
64 static dissector_handle_t lte_rrc_ue_radio_access_cap_info_handle;
65 static dissector_handle_t lte_rrc_ue_radio_access_cap_info_nb_handle;
66 static dissector_handle_t nr_rrc_ue_radio_access_cap_info_handle;
67 static dissector_handle_t lte_rrc_ue_radio_paging_info_handle;
68 static dissector_handle_t lte_rrc_ue_radio_paging_info_nb_handle;
69 static dissector_handle_t nr_rrc_ue_radio_paging_info_handle;
71 #define maxPrivateIEs 65535
72 #define maxProtocolExtensions 65535
73 #define maxProtocolIEs 65535
74 #define maxnoofCSGs 256
75 #define maxnoofE_RABs 256
76 #define maxnoofTAIs 256
77 #define maxnoofTACs 256
78 #define maxnoofErrors 256
79 #define maxnoofBPLMNs 6
80 #define maxnoofPLMNsPerMME 32
81 #define maxnoofEPLMNs 15
82 #define maxnoofEPLMNsPlusOne 16
83 #define maxnoofForbLACs 4096
84 #define maxnoofForbTACs 4096
85 #define maxnoofIndividualS1ConnectionsToReset 256
86 #define maxnoofCellsinUEHistoryInfo 16
87 #define maxnoofCellsineNB 256
88 #define maxnoofTAIforWarning 65535
89 #define maxnoofCellID 65535
90 #define maxnoofDCNs 32
91 #define maxnoofEmergencyAreaID 65535
92 #define maxnoofCellinTAI 65535
93 #define maxnoofCellinEAI 65535
94 #define maxnoofeNBX2TLAs 2
95 #define maxnoofeNBX2ExtTLAs 16
96 #define maxnoofeNBX2GTPTLAs 16
97 #define maxnoofRATs 8
98 #define maxnoofGroupIDs 65535
99 #define maxnoofMMECs 256
100 #define maxnoofCellIDforMDT 32
101 #define maxnoofTAforMDT 8
102 #define maxnoofMDTPLMNs 16
103 #define maxnoofCellsforRestart 256
104 #define maxnoofRestartTAIs 2048
105 #define maxnoofRestartEmergencyAreaIDs 256
106 #define maxEARFCN 262143
107 #define maxnoofMBSFNAreaMDT 8
108 #define maxnoofRecommendedCells 16
109 #define maxnoofRecommendedENBs 16
110 #define maxnooftimeperiods 2
111 #define maxnoofCellIDforQMC 32
112 #define maxnoofTAforQMC 8
113 #define maxnoofPLMNforQMC 16
114 #define maxnoofBluetoothName 4
115 #define maxnoofWLANName 4
116 #define maxnoofConnectedengNBs 256
117 #define maxnoofPC5QoSFlows 2048
118 #define maxnooffrequencies 64
119 #define maxNARFCN 3279165
120 #define maxRS_IndexCellQual 16
121 #define maxnoofPSCellsPerPrimaryCellinUEHistoryInfo 8
122 #define maxnoofTACsInNTN 12
123 #define maxnoofSensorName 3
124 #define maxnoofIRATReportingCells 128
125 #define maxnoofcandidateCells 16
126 #define maxnoofCellineNB 256
128 typedef enum _ProcedureCode_enum {
129 id_HandoverPreparation = 0,
130 id_HandoverResourceAllocation = 1,
131 id_HandoverNotification = 2,
132 id_PathSwitchRequest = 3,
133 id_HandoverCancel = 4,
134 id_E_RABSetup = 5,
135 id_E_RABModify = 6,
136 id_E_RABRelease = 7,
137 id_E_RABReleaseIndication = 8,
138 id_InitialContextSetup = 9,
139 id_Paging = 10,
140 id_downlinkNASTransport = 11,
141 id_initialUEMessage = 12,
142 id_uplinkNASTransport = 13,
143 id_Reset = 14,
144 id_ErrorIndication = 15,
145 id_NASNonDeliveryIndication = 16,
146 id_S1Setup = 17,
147 id_UEContextReleaseRequest = 18,
148 id_DownlinkS1cdma2000tunnelling = 19,
149 id_UplinkS1cdma2000tunnelling = 20,
150 id_UEContextModification = 21,
151 id_UECapabilityInfoIndication = 22,
152 id_UEContextRelease = 23,
153 id_eNBStatusTransfer = 24,
154 id_MMEStatusTransfer = 25,
155 id_DeactivateTrace = 26,
156 id_TraceStart = 27,
157 id_TraceFailureIndication = 28,
158 id_ENBConfigurationUpdate = 29,
159 id_MMEConfigurationUpdate = 30,
160 id_LocationReportingControl = 31,
161 id_LocationReportingFailureIndication = 32,
162 id_LocationReport = 33,
163 id_OverloadStart = 34,
164 id_OverloadStop = 35,
165 id_WriteReplaceWarning = 36,
166 id_eNBDirectInformationTransfer = 37,
167 id_MMEDirectInformationTransfer = 38,
168 id_PrivateMessage = 39,
169 id_eNBConfigurationTransfer = 40,
170 id_MMEConfigurationTransfer = 41,
171 id_CellTrafficTrace = 42,
172 id_Kill = 43,
173 id_downlinkUEAssociatedLPPaTransport = 44,
174 id_uplinkUEAssociatedLPPaTransport = 45,
175 id_downlinkNonUEAssociatedLPPaTransport = 46,
176 id_uplinkNonUEAssociatedLPPaTransport = 47,
177 id_UERadioCapabilityMatch = 48,
178 id_PWSRestartIndication = 49,
179 id_E_RABModificationIndication = 50,
180 id_PWSFailureIndication = 51,
181 id_RerouteNASRequest = 52,
182 id_UEContextModificationIndication = 53,
183 id_ConnectionEstablishmentIndication = 54,
184 id_UEContextSuspend = 55,
185 id_UEContextResume = 56,
186 id_NASDeliveryIndication = 57,
187 id_RetrieveUEInformation = 58,
188 id_UEInformationTransfer = 59,
189 id_eNBCPRelocationIndication = 60,
190 id_MMECPRelocationIndication = 61,
191 id_SecondaryRATDataUsageReport = 62,
192 id_UERadioCapabilityIDMapping = 63,
193 id_HandoverSuccess = 64,
194 id_eNBEarlyStatusTransfer = 65,
195 id_MMEEarlyStatusTransfer = 66
196 } ProcedureCode_enum;
198 typedef enum _ProtocolIE_ID_enum {
199 id_MME_UE_S1AP_ID = 0,
200 id_HandoverType = 1,
201 id_Cause = 2,
202 id_SourceID = 3,
203 id_TargetID = 4,
204 id_Unknown_5 = 5,
205 id_Unknown_6 = 6,
206 id_Unknown_7 = 7,
207 id_eNB_UE_S1AP_ID = 8,
208 id_Unknown_9 = 9,
209 id_Unknown_10 = 10,
210 id_Unknown_11 = 11,
211 id_E_RABSubjecttoDataForwardingList = 12,
212 id_E_RABtoReleaseListHOCmd = 13,
213 id_E_RABDataForwardingItem = 14,
214 id_E_RABReleaseItemBearerRelComp = 15,
215 id_E_RABToBeSetupListBearerSUReq = 16,
216 id_E_RABToBeSetupItemBearerSUReq = 17,
217 id_E_RABAdmittedList = 18,
218 id_E_RABFailedToSetupListHOReqAck = 19,
219 id_E_RABAdmittedItem = 20,
220 id_E_RABFailedtoSetupItemHOReqAck = 21,
221 id_E_RABToBeSwitchedDLList = 22,
222 id_E_RABToBeSwitchedDLItem = 23,
223 id_E_RABToBeSetupListCtxtSUReq = 24,
224 id_TraceActivation = 25,
225 id_NAS_PDU = 26,
226 id_E_RABToBeSetupItemHOReq = 27,
227 id_E_RABSetupListBearerSURes = 28,
228 id_E_RABFailedToSetupListBearerSURes = 29,
229 id_E_RABToBeModifiedListBearerModReq = 30,
230 id_E_RABModifyListBearerModRes = 31,
231 id_E_RABFailedToModifyList = 32,
232 id_E_RABToBeReleasedList = 33,
233 id_E_RABFailedToReleaseList = 34,
234 id_E_RABItem = 35,
235 id_E_RABToBeModifiedItemBearerModReq = 36,
236 id_E_RABModifyItemBearerModRes = 37,
237 id_E_RABReleaseItem = 38,
238 id_E_RABSetupItemBearerSURes = 39,
239 id_SecurityContext = 40,
240 id_HandoverRestrictionList = 41,
241 id_Unknown_42 = 42,
242 id_UEPagingID = 43,
243 id_pagingDRX = 44,
244 id_Unknown_45 = 45,
245 id_TAIList = 46,
246 id_TAIItem = 47,
247 id_E_RABFailedToSetupListCtxtSURes = 48,
248 id_E_RABReleaseItemHOCmd = 49,
249 id_E_RABSetupItemCtxtSURes = 50,
250 id_E_RABSetupListCtxtSURes = 51,
251 id_E_RABToBeSetupItemCtxtSUReq = 52,
252 id_E_RABToBeSetupListHOReq = 53,
253 id_Unknown_54 = 54,
254 id_GERANtoLTEHOInformationRes = 55,
255 id_Unknown_56 = 56,
256 id_UTRANtoLTEHOInformationRes = 57,
257 id_CriticalityDiagnostics = 58,
258 id_Global_ENB_ID = 59,
259 id_eNBname = 60,
260 id_MMEname = 61,
261 id_Unknown_62 = 62,
262 id_ServedPLMNs = 63,
263 id_SupportedTAs = 64,
264 id_TimeToWait = 65,
265 id_uEaggregateMaximumBitrate = 66,
266 id_TAI = 67,
267 id_Unknown_68 = 68,
268 id_E_RABReleaseListBearerRelComp = 69,
269 id_cdma2000PDU = 70,
270 id_cdma2000RATType = 71,
271 id_cdma2000SectorID = 72,
272 id_SecurityKey = 73,
273 id_UERadioCapability = 74,
274 id_GUMMEI_ID = 75,
275 id_Unknown_76 = 76,
276 id_Unknown_77 = 77,
277 id_E_RABInformationListItem = 78,
278 id_Direct_Forwarding_Path_Availability = 79,
279 id_UEIdentityIndexValue = 80,
280 id_Unknown_81 = 81,
281 id_Unknown_82 = 82,
282 id_cdma2000HOStatus = 83,
283 id_cdma2000HORequiredIndication = 84,
284 id_Unknown_85 = 85,
285 id_E_UTRAN_Trace_ID = 86,
286 id_RelativeMMECapacity = 87,
287 id_SourceMME_UE_S1AP_ID = 88,
288 id_Bearers_SubjectToStatusTransfer_Item = 89,
289 id_eNB_StatusTransfer_TransparentContainer = 90,
290 id_UE_associatedLogicalS1_ConnectionItem = 91,
291 id_ResetType = 92,
292 id_UE_associatedLogicalS1_ConnectionListResAck = 93,
293 id_E_RABToBeSwitchedULItem = 94,
294 id_E_RABToBeSwitchedULList = 95,
295 id_S_TMSI = 96,
296 id_cdma2000OneXRAND = 97,
297 id_RequestType = 98,
298 id_UE_S1AP_IDs = 99,
299 id_EUTRAN_CGI = 100,
300 id_OverloadResponse = 101,
301 id_cdma2000OneXSRVCCInfo = 102,
302 id_E_RABFailedToBeReleasedList = 103,
303 id_Source_ToTarget_TransparentContainer = 104,
304 id_ServedGUMMEIs = 105,
305 id_SubscriberProfileIDforRFP = 106,
306 id_UESecurityCapabilities = 107,
307 id_CSFallbackIndicator = 108,
308 id_CNDomain = 109,
309 id_E_RABReleasedList = 110,
310 id_MessageIdentifier = 111,
311 id_SerialNumber = 112,
312 id_WarningAreaList = 113,
313 id_RepetitionPeriod = 114,
314 id_NumberofBroadcastRequest = 115,
315 id_WarningType = 116,
316 id_WarningSecurityInfo = 117,
317 id_DataCodingScheme = 118,
318 id_WarningMessageContents = 119,
319 id_BroadcastCompletedAreaList = 120,
320 id_Inter_SystemInformationTransferTypeEDT = 121,
321 id_Inter_SystemInformationTransferTypeMDT = 122,
322 id_Target_ToSource_TransparentContainer = 123,
323 id_SRVCCOperationPossible = 124,
324 id_SRVCCHOIndication = 125,
325 id_NAS_DownlinkCount = 126,
326 id_CSG_Id = 127,
327 id_CSG_IdList = 128,
328 id_SONConfigurationTransferECT = 129,
329 id_SONConfigurationTransferMCT = 130,
330 id_TraceCollectionEntityIPAddress = 131,
331 id_MSClassmark2 = 132,
332 id_MSClassmark3 = 133,
333 id_RRC_Establishment_Cause = 134,
334 id_NASSecurityParametersfromE_UTRAN = 135,
335 id_NASSecurityParameterstoE_UTRAN = 136,
336 id_DefaultPagingDRX = 137,
337 id_Source_ToTarget_TransparentContainer_Secondary = 138,
338 id_Target_ToSource_TransparentContainer_Secondary = 139,
339 id_EUTRANRoundTripDelayEstimationInfo = 140,
340 id_BroadcastCancelledAreaList = 141,
341 id_ConcurrentWarningMessageIndicator = 142,
342 id_Data_Forwarding_Not_Possible = 143,
343 id_ExtendedRepetitionPeriod = 144,
344 id_CellAccessMode = 145,
345 id_CSGMembershipStatus = 146,
346 id_LPPa_PDU = 147,
347 id_Routing_ID = 148,
348 id_Time_Synchronisation_Info = 149,
349 id_PS_ServiceNotAvailable = 150,
350 id_PagingPriority = 151,
351 id_x2TNLConfigurationInfo = 152,
352 id_eNBX2ExtendedTransportLayerAddresses = 153,
353 id_GUMMEIList = 154,
354 id_GW_TransportLayerAddress = 155,
355 id_Correlation_ID = 156,
356 id_SourceMME_GUMMEI = 157,
357 id_MME_UE_S1AP_ID_2 = 158,
358 id_RegisteredLAI = 159,
359 id_RelayNode_Indicator = 160,
360 id_TrafficLoadReductionIndication = 161,
361 id_MDTConfiguration = 162,
362 id_MMERelaySupportIndicator = 163,
363 id_GWContextReleaseIndication = 164,
364 id_ManagementBasedMDTAllowed = 165,
365 id_PrivacyIndicator = 166,
366 id_Time_UE_StayedInCell_EnhancedGranularity = 167,
367 id_HO_Cause = 168,
368 id_VoiceSupportMatchIndicator = 169,
369 id_GUMMEIType = 170,
370 id_M3Configuration = 171,
371 id_M4Configuration = 172,
372 id_M5Configuration = 173,
373 id_MDT_Location_Info = 174,
374 id_MobilityInformation = 175,
375 id_Tunnel_Information_for_BBF = 176,
376 id_ManagementBasedMDTPLMNList = 177,
377 id_SignallingBasedMDTPLMNList = 178,
378 id_ULCOUNTValueExtended = 179,
379 id_DLCOUNTValueExtended = 180,
380 id_ReceiveStatusOfULPDCPSDUsExtended = 181,
381 id_ECGIListForRestart = 182,
382 id_SIPTO_Correlation_ID = 183,
383 id_SIPTO_L_GW_TransportLayerAddress = 184,
384 id_TransportInformation = 185,
385 id_LHN_ID = 186,
386 id_AdditionalCSFallbackIndicator = 187,
387 id_TAIListForRestart = 188,
388 id_UserLocationInformation = 189,
389 id_EmergencyAreaIDListForRestart = 190,
390 id_KillAllWarningMessages = 191,
391 id_Masked_IMEISV = 192,
392 id_eNBIndirectX2TransportLayerAddresses = 193,
393 id_uE_HistoryInformationFromTheUE = 194,
394 id_ProSeAuthorized = 195,
395 id_ExpectedUEBehaviour = 196,
396 id_LoggedMBSFNMDT = 197,
397 id_UERadioCapabilityForPaging = 198,
398 id_E_RABToBeModifiedListBearerModInd = 199,
399 id_E_RABToBeModifiedItemBearerModInd = 200,
400 id_E_RABNotToBeModifiedListBearerModInd = 201,
401 id_E_RABNotToBeModifiedItemBearerModInd = 202,
402 id_E_RABModifyListBearerModConf = 203,
403 id_E_RABModifyItemBearerModConf = 204,
404 id_E_RABFailedToModifyListBearerModConf = 205,
405 id_SON_Information_Report = 206,
406 id_Muting_Availability_Indication = 207,
407 id_Muting_Pattern_Information = 208,
408 id_Synchronisation_Information = 209,
409 id_E_RABToBeReleasedListBearerModConf = 210,
410 id_AssistanceDataForPaging = 211,
411 id_CellIdentifierAndCELevelForCECapableUEs = 212,
412 id_InformationOnRecommendedCellsAndENBsForPaging = 213,
413 id_RecommendedCellItem = 214,
414 id_RecommendedENBItem = 215,
415 id_ProSeUEtoNetworkRelaying = 216,
416 id_ULCOUNTValuePDCP_SNlength18 = 217,
417 id_DLCOUNTValuePDCP_SNlength18 = 218,
418 id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 = 219,
419 id_M6Configuration = 220,
420 id_M7Configuration = 221,
421 id_PWSfailedECGIList = 222,
422 id_MME_Group_ID = 223,
423 id_Additional_GUTI = 224,
424 id_S1_Message = 225,
425 id_CSGMembershipInfo = 226,
426 id_Paging_eDRXInformation = 227,
427 id_UE_RetentionInformation = 228,
428 id_Unknown_229 = 229,
429 id_UE_Usage_Type = 230,
430 id_extended_UEIdentityIndexValue = 231,
431 id_RAT_Type = 232,
432 id_BearerType = 233,
433 id_NB_IoT_DefaultPagingDRX = 234,
434 id_E_RABFailedToResumeListResumeReq = 235,
435 id_E_RABFailedToResumeItemResumeReq = 236,
436 id_E_RABFailedToResumeListResumeRes = 237,
437 id_E_RABFailedToResumeItemResumeRes = 238,
438 id_NB_IoT_Paging_eDRXInformation = 239,
439 id_V2XServicesAuthorized = 240,
440 id_UEUserPlaneCIoTSupportIndicator = 241,
441 id_CE_mode_B_SupportIndicator = 242,
442 id_SRVCCOperationNotPossible = 243,
443 id_NB_IoT_UEIdentityIndexValue = 244,
444 id_RRC_Resume_Cause = 245,
445 id_DCN_ID = 246,
446 id_ServedDCNs = 247,
447 id_UESidelinkAggregateMaximumBitrate = 248,
448 id_DLNASPDUDeliveryAckRequest = 249,
449 id_Coverage_Level = 250,
450 id_EnhancedCoverageRestricted = 251,
451 id_UE_Level_QoS_Parameters = 252,
452 id_DL_CP_SecurityInformation = 253,
453 id_UL_CP_SecurityInformation = 254,
454 id_extended_e_RAB_MaximumBitrateDL = 255,
455 id_extended_e_RAB_MaximumBitrateUL = 256,
456 id_extended_e_RAB_GuaranteedBitrateDL = 257,
457 id_extended_e_RAB_GuaranteedBitrateUL = 258,
458 id_extended_uEaggregateMaximumBitRateDL = 259,
459 id_extended_uEaggregateMaximumBitRateUL = 260,
460 id_NRrestrictioninEPSasSecondaryRAT = 261,
461 id_UEAppLayerMeasConfig = 262,
462 id_UE_Application_Layer_Measurement_Capability = 263,
463 id_SecondaryRATDataUsageReportList = 264,
464 id_SecondaryRATDataUsageReportItem = 265,
465 id_HandoverFlag = 266,
466 id_E_RABUsageReportItem = 267,
467 id_SecondaryRATDataUsageRequest = 268,
468 id_NRUESecurityCapabilities = 269,
469 id_UnlicensedSpectrumRestriction = 270,
470 id_CE_ModeBRestricted = 271,
471 id_LTE_M_Indication = 272,
472 id_DownlinkPacketLossRate = 273,
473 id_UplinkPacketLossRate = 274,
474 id_UECapabilityInfoRequest = 275,
475 id_serviceType = 276,
476 id_AerialUEsubscriptionInformation = 277,
477 id_Subscription_Based_UE_DifferentiationInfo = 278,
478 id_Unknown_279 = 279,
479 id_EndIndication = 280,
480 id_EDT_Session = 281,
481 id_CNTypeRestrictions = 282,
482 id_PendingDataIndication = 283,
483 id_BluetoothMeasurementConfiguration = 284,
484 id_WLANMeasurementConfiguration = 285,
485 id_WarningAreaCoordinates = 286,
486 id_NRrestrictionin5GS = 287,
487 id_PSCellInformation = 288,
488 id_Unknown_289 = 289,
489 id_LastNG_RANPLMNIdentity = 290,
490 id_ConnectedengNBList = 291,
491 id_ConnectedengNBToAddList = 292,
492 id_ConnectedengNBToRemoveList = 293,
493 id_EN_DCSONConfigurationTransfer_ECT = 294,
494 id_EN_DCSONConfigurationTransfer_MCT = 295,
495 id_IMSvoiceEPSfallbackfrom5G = 296,
496 id_TimeSinceSecondaryNodeRelease = 297,
497 id_RequestTypeAdditionalInfo = 298,
498 id_AdditionalRRMPriorityIndex = 299,
499 id_ContextatSource = 300,
500 id_IAB_Authorized = 301,
501 id_IAB_Node_Indication = 302,
502 id_IAB_Supported = 303,
503 id_DataSize = 304,
504 id_Ethernet_Type = 305,
505 id_NRV2XServicesAuthorized = 306,
506 id_NRUESidelinkAggregateMaximumBitrate = 307,
507 id_PC5QoSParameters = 308,
508 id_IntersystemSONConfigurationTransferMCT = 309,
509 id_IntersystemSONConfigurationTransferECT = 310,
510 id_IntersystemMeasurementConfiguration = 311,
511 id_SourceNodeID = 312,
512 id_NB_IoT_RLF_Report_Container = 313,
513 id_UERadioCapabilityID = 314,
514 id_UERadioCapability_NR_Format = 315,
515 id_MDTConfigurationNR = 316,
516 id_DAPSRequestInfo = 317,
517 id_DAPSResponseInfoList = 318,
518 id_DAPSResponseInfoItem = 319,
519 id_NotifySourceeNB = 320,
520 id_eNB_EarlyStatusTransfer_TransparentContainer = 321,
521 id_Bearers_SubjectToEarlyStatusTransfer_Item = 322,
522 id_WUS_Assistance_Information = 323,
523 id_NB_IoT_PagingDRX = 324,
524 id_TraceCollectionEntityURI = 325,
525 id_EmergencyIndicator = 326,
526 id_UERadioCapabilityForPaging_NR_Format = 327,
527 id_SourceTransportLayerAddress = 328,
528 id_lastVisitedPSCellList = 329,
529 id_RACSIndication = 330,
530 id_PagingCause = 331,
531 id_SecurityIndication = 332,
532 id_SecurityResult = 333,
533 id_E_RABSecurityResultItem = 334,
534 id_E_RABSecurityResultList = 335,
535 id_RAT_Restrictions = 336,
536 id_UEContextReferenceatSourceeNB = 337,
537 id_Unknown_338 = 338,
538 id_LTE_NTN_TAI_Information = 339,
539 id_SourceNodeTransportLayerAddress = 340,
540 id_E_RABToBeUpdatedList = 341,
541 id_E_RABToBeUpdatedItem = 342,
542 id_SourceSNID = 343,
543 id_LoggedMDTTrigger = 344,
544 id_SensorMeasurementConfiguration = 345,
545 id_M4ReportAmount = 346,
546 id_M5ReportAmount = 347,
547 id_M6ReportAmount = 348,
548 id_M7ReportAmount = 349,
549 id_TimeBasedHandoverInformation = 350,
550 id_Bearers_SubjectToDLDiscarding_Item = 351,
551 id_Bearers_SubjectToDLDiscardingList = 352
552 } ProtocolIE_ID_enum;
554 typedef enum _HandoverType_enum {
555 intralte = 0,
556 ltetoutran = 1,
557 ltetogeran = 2,
558 utrantolte = 3,
559 gerantolte = 4,
560 eps_to_5gs = 5,
561 fivegs_to_eps = 6
562 } HandoverType_enum;
564 typedef enum _RAT_Type_enum {
565 nbiot = 0,
566 nbiot_leo = 1,
567 nbiot_meo = 2,
568 nbiot_geo = 3,
569 nbiot_othersat = 4,
570 eutran_leo = 5,
571 eutran_meo = 6,
572 eutran_geo = 7,
573 eutran_othersat = 8
574 } RAT_Type_enum;
576 typedef enum _SRVCCHOIndication_enum {
577 pSandCS = 0,
578 cSonly = 1
579 } SRVCCHOIndication_enum;
581 /* Initialize the protocol and registered fields */
582 static int proto_s1ap;
584 static int hf_s1ap_transportLayerAddressIPv4;
585 static int hf_s1ap_transportLayerAddressIPv6;
586 static int hf_s1ap_E_UTRAN_Trace_ID_TraceID;
587 static int hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference;
588 static int hf_s1ap_interfacesToTrace_S1_MME;
589 static int hf_s1ap_interfacesToTrace_X2;
590 static int hf_s1ap_interfacesToTrace_Uu;
591 static int hf_s1ap_interfacesToTrace_F1_C;
592 static int hf_s1ap_interfacesToTrace_E1;
593 static int hf_s1ap_interfacesToTrace_Reserved;
594 static int hf_s1ap_encryptionAlgorithms_EEA1;
595 static int hf_s1ap_encryptionAlgorithms_EEA2;
596 static int hf_s1ap_encryptionAlgorithms_EEA3;
597 static int hf_s1ap_encryptionAlgorithms_Reserved;
598 static int hf_s1ap_integrityProtectionAlgorithms_EIA1;
599 static int hf_s1ap_integrityProtectionAlgorithms_EIA2;
600 static int hf_s1ap_integrityProtectionAlgorithms_EIA3;
601 static int hf_s1ap_integrityProtectionAlgorithms_EIA7;
602 static int hf_s1ap_integrityProtectionAlgorithms_Reserved;
603 static int hf_s1ap_SerialNumber_gs;
604 static int hf_s1ap_SerialNumber_msg_code;
605 static int hf_s1ap_SerialNumber_upd_nb;
606 static int hf_s1ap_WarningType_value;
607 static int hf_s1ap_WarningType_emergency_user_alert;
608 static int hf_s1ap_WarningType_popup;
609 static int hf_s1ap_WarningMessageContents_nb_pages;
610 static int hf_s1ap_WarningMessageContents_decoded_page;
611 static int hf_s1ap_measurementsToActivate_M1;
612 static int hf_s1ap_measurementsToActivate_M2;
613 static int hf_s1ap_measurementsToActivate_M3;
614 static int hf_s1ap_measurementsToActivate_M4;
615 static int hf_s1ap_measurementsToActivate_M5;
616 static int hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered;
617 static int hf_s1ap_measurementsToActivate_M6;
618 static int hf_s1ap_measurementsToActivate_M7;
619 static int hf_s1ap_MDT_Location_Info_GNSS;
620 static int hf_s1ap_MDT_Location_Info_E_CID;
621 static int hf_s1ap_MDT_Location_Info_Reserved;
622 static int hf_s1ap_NRencryptionAlgorithms_NEA1;
623 static int hf_s1ap_NRencryptionAlgorithms_NEA2;
624 static int hf_s1ap_NRencryptionAlgorithms_NEA3;
625 static int hf_s1ap_NRencryptionAlgorithms_Reserved;
626 static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA1;
627 static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA2;
628 static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA3;
629 static int hf_s1ap_NRintegrityProtectionAlgorithms_Reserved;
630 static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service;
631 static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service;
632 static int hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved;
633 static int hf_s1ap_rAT_RestrictionInformation_LEO;
634 static int hf_s1ap_rAT_RestrictionInformation_MEO;
635 static int hf_s1ap_rAT_RestrictionInformation_GEO;
636 static int hf_s1ap_rAT_RestrictionInformation_OTHERSAT;
637 static int hf_s1ap_rAT_RestrictionInformation_NR_LEO;
638 static int hf_s1ap_rAT_RestrictionInformation_NR_MEO;
639 static int hf_s1ap_rAT_RestrictionInformation_NR_GEO;
640 static int hf_s1ap_rAT_RestrictionInformation_NR_OTHERSAT;
641 static int hf_s1ap_Additional_GUTI_PDU; /* Additional_GUTI */
642 static int hf_s1ap_AdditionalRRMPriorityIndex_PDU; /* AdditionalRRMPriorityIndex */
643 static int hf_s1ap_AerialUEsubscriptionInformation_PDU; /* AerialUEsubscriptionInformation */
644 static int hf_s1ap_AssistanceDataForPaging_PDU; /* AssistanceDataForPaging */
645 static int hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU; /* Bearers_SubjectToStatusTransfer_Item */
646 static int hf_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item_PDU; /* Bearers_SubjectToEarlyStatusTransfer_Item */
647 static int hf_s1ap_Bearers_SubjectToDLDiscardingList_PDU; /* Bearers_SubjectToDLDiscardingList */
648 static int hf_s1ap_Bearers_SubjectToDLDiscarding_Item_PDU; /* Bearers_SubjectToDLDiscarding_Item */
649 static int hf_s1ap_BearerType_PDU; /* BearerType */
650 static int hf_s1ap_BluetoothMeasurementConfiguration_PDU; /* BluetoothMeasurementConfiguration */
651 static int hf_s1ap_BroadcastCancelledAreaList_PDU; /* BroadcastCancelledAreaList */
652 static int hf_s1ap_BroadcastCompletedAreaList_PDU; /* BroadcastCompletedAreaList */
653 static int hf_s1ap_Cause_PDU; /* Cause */
654 static int hf_s1ap_CellAccessMode_PDU; /* CellAccessMode */
655 static int hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU; /* CellIdentifierAndCELevelForCECapableUEs */
656 static int hf_s1ap_CE_mode_B_SupportIndicator_PDU; /* CE_mode_B_SupportIndicator */
657 static int hf_s1ap_Cdma2000PDU_PDU; /* Cdma2000PDU */
658 static int hf_s1ap_Cdma2000RATType_PDU; /* Cdma2000RATType */
659 static int hf_s1ap_Cdma2000SectorID_PDU; /* Cdma2000SectorID */
660 static int hf_s1ap_Cdma2000HOStatus_PDU; /* Cdma2000HOStatus */
661 static int hf_s1ap_Cdma2000HORequiredIndication_PDU; /* Cdma2000HORequiredIndication */
662 static int hf_s1ap_Cdma2000OneXSRVCCInfo_PDU; /* Cdma2000OneXSRVCCInfo */
663 static int hf_s1ap_Cdma2000OneXRAND_PDU; /* Cdma2000OneXRAND */
664 static int hf_s1ap_CNDomain_PDU; /* CNDomain */
665 static int hf_s1ap_CNTypeRestrictions_PDU; /* CNTypeRestrictions */
666 static int hf_s1ap_ConcurrentWarningMessageIndicator_PDU; /* ConcurrentWarningMessageIndicator */
667 static int hf_s1ap_ConnectedengNBList_PDU; /* ConnectedengNBList */
668 static int hf_s1ap_ContextatSource_PDU; /* ContextatSource */
669 static int hf_s1ap_Correlation_ID_PDU; /* Correlation_ID */
670 static int hf_s1ap_CSFallbackIndicator_PDU; /* CSFallbackIndicator */
671 static int hf_s1ap_AdditionalCSFallbackIndicator_PDU; /* AdditionalCSFallbackIndicator */
672 static int hf_s1ap_CSG_Id_PDU; /* CSG_Id */
673 static int hf_s1ap_CSG_IdList_PDU; /* CSG_IdList */
674 static int hf_s1ap_CSGMembershipStatus_PDU; /* CSGMembershipStatus */
675 static int hf_s1ap_COUNTValueExtended_PDU; /* COUNTValueExtended */
676 static int hf_s1ap_COUNTvaluePDCP_SNlength18_PDU; /* COUNTvaluePDCP_SNlength18 */
677 static int hf_s1ap_Coverage_Level_PDU; /* Coverage_Level */
678 static int hf_s1ap_CriticalityDiagnostics_PDU; /* CriticalityDiagnostics */
679 static int hf_s1ap_DAPSRequestInfo_PDU; /* DAPSRequestInfo */
680 static int hf_s1ap_DAPSResponseInfoList_PDU; /* DAPSResponseInfoList */
681 static int hf_s1ap_DAPSResponseInfoItem_PDU; /* DAPSResponseInfoItem */
682 static int hf_s1ap_DataCodingScheme_PDU; /* DataCodingScheme */
683 static int hf_s1ap_DataSize_PDU; /* DataSize */
684 static int hf_s1ap_DCN_ID_PDU; /* DCN_ID */
685 static int hf_s1ap_ServedDCNs_PDU; /* ServedDCNs */
686 static int hf_s1ap_DL_CP_SecurityInformation_PDU; /* DL_CP_SecurityInformation */
687 static int hf_s1ap_Direct_Forwarding_Path_Availability_PDU; /* Direct_Forwarding_Path_Availability */
688 static int hf_s1ap_Data_Forwarding_Not_Possible_PDU; /* Data_Forwarding_Not_Possible */
689 static int hf_s1ap_DLNASPDUDeliveryAckRequest_PDU; /* DLNASPDUDeliveryAckRequest */
690 static int hf_s1ap_PWSfailedECGIList_PDU; /* PWSfailedECGIList */
691 static int hf_s1ap_EDT_Session_PDU; /* EDT_Session */
692 static int hf_s1ap_EmergencyAreaIDListForRestart_PDU; /* EmergencyAreaIDListForRestart */
693 static int hf_s1ap_EmergencyIndicator_PDU; /* EmergencyIndicator */
694 static int hf_s1ap_ENB_EarlyStatusTransfer_TransparentContainer_PDU; /* ENB_EarlyStatusTransfer_TransparentContainer */
695 static int hf_s1ap_s1ap_Global_ENB_ID_PDU; /* Global_ENB_ID */
696 static int hf_s1ap_GUMMEIList_PDU; /* GUMMEIList */
697 static int hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU; /* ENB_StatusTransfer_TransparentContainer */
698 static int hf_s1ap_ENB_UE_S1AP_ID_PDU; /* ENB_UE_S1AP_ID */
699 static int hf_s1ap_ENBname_PDU; /* ENBname */
700 static int hf_s1ap_s1ap_EN_DCSONConfigurationTransfer_PDU; /* EN_DCSONConfigurationTransfer */
701 static int hf_s1ap_EndIndication_PDU; /* EndIndication */
702 static int hf_s1ap_EnhancedCoverageRestricted_PDU; /* EnhancedCoverageRestricted */
703 static int hf_s1ap_CE_ModeBRestricted_PDU; /* CE_ModeBRestricted */
704 static int hf_s1ap_E_RABInformationListItem_PDU; /* E_RABInformationListItem */
705 static int hf_s1ap_E_RABList_PDU; /* E_RABList */
706 static int hf_s1ap_E_RABItem_PDU; /* E_RABItem */
707 static int hf_s1ap_E_RABLevelQoSParameters_PDU; /* E_RABLevelQoSParameters */
708 static int hf_s1ap_E_RABSecurityResultList_PDU; /* E_RABSecurityResultList */
709 static int hf_s1ap_E_RABSecurityResultItem_PDU; /* E_RABSecurityResultItem */
710 static int hf_s1ap_E_RABUsageReportItem_PDU; /* E_RABUsageReportItem */
711 static int hf_s1ap_Ethernet_Type_PDU; /* Ethernet_Type */
712 static int hf_s1ap_s1ap_EUTRAN_CGI_PDU; /* EUTRAN_CGI */
713 static int hf_s1ap_EUTRANRoundTripDelayEstimationInfo_PDU; /* EUTRANRoundTripDelayEstimationInfo */
714 static int hf_s1ap_ExpectedUEBehaviour_PDU; /* ExpectedUEBehaviour */
715 static int hf_s1ap_ExtendedBitRate_PDU; /* ExtendedBitRate */
716 static int hf_s1ap_ExtendedRepetitionPeriod_PDU; /* ExtendedRepetitionPeriod */
717 static int hf_s1ap_Extended_UEIdentityIndexValue_PDU; /* Extended_UEIdentityIndexValue */
718 static int hf_s1ap_GUMMEI_PDU; /* GUMMEI */
719 static int hf_s1ap_GUMMEIType_PDU; /* GUMMEIType */
720 static int hf_s1ap_GWContextReleaseIndication_PDU; /* GWContextReleaseIndication */
721 static int hf_s1ap_HandoverFlag_PDU; /* HandoverFlag */
722 static int hf_s1ap_s1ap_HandoverRestrictionList_PDU; /* HandoverRestrictionList */
723 static int hf_s1ap_HandoverType_PDU; /* HandoverType */
724 static int hf_s1ap_Masked_IMEISV_PDU; /* Masked_IMEISV */
725 static int hf_s1ap_InformationOnRecommendedCellsAndENBsForPaging_PDU; /* InformationOnRecommendedCellsAndENBsForPaging */
726 static int hf_s1ap_IntersystemMeasurementConfiguration_PDU; /* IntersystemMeasurementConfiguration */
727 static int hf_s1ap_s1ap_IntersystemSONConfigurationTransfer_PDU; /* IntersystemSONConfigurationTransfer */
728 static int hf_s1ap_IMSvoiceEPSfallbackfrom5G_PDU; /* IMSvoiceEPSfallbackfrom5G */
729 static int hf_s1ap_IAB_Authorized_PDU; /* IAB_Authorized */
730 static int hf_s1ap_IAB_Node_Indication_PDU; /* IAB_Node_Indication */
731 static int hf_s1ap_IAB_Supported_PDU; /* IAB_Supported */
732 static int hf_s1ap_KillAllWarningMessages_PDU; /* KillAllWarningMessages */
733 static int hf_s1ap_LAI_PDU; /* LAI */
734 static int hf_s1ap_s1ap_LastVisitedEUTRANCellInformation_PDU; /* LastVisitedEUTRANCellInformation */
735 static int hf_s1ap_LastVisitedPSCellList_PDU; /* LastVisitedPSCellList */
736 static int hf_s1ap_s1ap_LastVisitedGERANCellInformation_PDU; /* LastVisitedGERANCellInformation */
737 static int hf_s1ap_LPPa_PDU_PDU; /* LPPa_PDU */
738 static int hf_s1ap_LHN_ID_PDU; /* LHN_ID */
739 static int hf_s1ap_LoggedMBSFNMDT_PDU; /* LoggedMBSFNMDT */
740 static int hf_s1ap_LoggedMDTTrigger_PDU; /* LoggedMDTTrigger */
741 static int hf_s1ap_LTE_M_Indication_PDU; /* LTE_M_Indication */
742 static int hf_s1ap_LTE_NTN_TAI_Information_PDU; /* LTE_NTN_TAI_Information */
743 static int hf_s1ap_M3Configuration_PDU; /* M3Configuration */
744 static int hf_s1ap_M4Configuration_PDU; /* M4Configuration */
745 static int hf_s1ap_M4ReportAmountMDT_PDU; /* M4ReportAmountMDT */
746 static int hf_s1ap_M5Configuration_PDU; /* M5Configuration */
747 static int hf_s1ap_M5ReportAmountMDT_PDU; /* M5ReportAmountMDT */
748 static int hf_s1ap_M6Configuration_PDU; /* M6Configuration */
749 static int hf_s1ap_M6ReportAmountMDT_PDU; /* M6ReportAmountMDT */
750 static int hf_s1ap_M7Configuration_PDU; /* M7Configuration */
751 static int hf_s1ap_M7ReportAmountMDT_PDU; /* M7ReportAmountMDT */
752 static int hf_s1ap_MDT_Location_Info_PDU; /* MDT_Location_Info */
753 static int hf_s1ap_MDT_Configuration_PDU; /* MDT_Configuration */
754 static int hf_s1ap_ManagementBasedMDTAllowed_PDU; /* ManagementBasedMDTAllowed */
755 static int hf_s1ap_MDTPLMNList_PDU; /* MDTPLMNList */
756 static int hf_s1ap_PrivacyIndicator_PDU; /* PrivacyIndicator */
757 static int hf_s1ap_s1ap_MDTMode_PDU; /* MDTMode */
758 static int hf_s1ap_MessageIdentifier_PDU; /* MessageIdentifier */
759 static int hf_s1ap_MobilityInformation_PDU; /* MobilityInformation */
760 static int hf_s1ap_MMEname_PDU; /* MMEname */
761 static int hf_s1ap_MMERelaySupportIndicator_PDU; /* MMERelaySupportIndicator */
762 static int hf_s1ap_MME_Group_ID_PDU; /* MME_Group_ID */
763 static int hf_s1ap_MME_UE_S1AP_ID_PDU; /* MME_UE_S1AP_ID */
764 static int hf_s1ap_MSClassmark2_PDU; /* MSClassmark2 */
765 static int hf_s1ap_MSClassmark3_PDU; /* MSClassmark3 */
766 static int hf_s1ap_MutingAvailabilityIndication_PDU; /* MutingAvailabilityIndication */
767 static int hf_s1ap_MutingPatternInformation_PDU; /* MutingPatternInformation */
768 static int hf_s1ap_MDT_ConfigurationNR_PDU; /* MDT_ConfigurationNR */
769 static int hf_s1ap_NAS_PDU_PDU; /* NAS_PDU */
770 static int hf_s1ap_NASSecurityParametersfromE_UTRAN_PDU; /* NASSecurityParametersfromE_UTRAN */
771 static int hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU; /* NASSecurityParameterstoE_UTRAN */
772 static int hf_s1ap_NB_IoT_DefaultPagingDRX_PDU; /* NB_IoT_DefaultPagingDRX */
773 static int hf_s1ap_NB_IoT_PagingDRX_PDU; /* NB_IoT_PagingDRX */
774 static int hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU; /* NB_IoT_Paging_eDRXInformation */
775 static int hf_s1ap_NB_IoT_RLF_Report_Container_PDU; /* NB_IoT_RLF_Report_Container */
776 static int hf_s1ap_NB_IoT_UEIdentityIndexValue_PDU; /* NB_IoT_UEIdentityIndexValue */
777 static int hf_s1ap_NotifySourceeNB_PDU; /* NotifySourceeNB */
778 static int hf_s1ap_NRrestrictioninEPSasSecondaryRAT_PDU; /* NRrestrictioninEPSasSecondaryRAT */
779 static int hf_s1ap_NRrestrictionin5GS_PDU; /* NRrestrictionin5GS */
780 static int hf_s1ap_NRUESecurityCapabilities_PDU; /* NRUESecurityCapabilities */
781 static int hf_s1ap_NumberofBroadcastRequest_PDU; /* NumberofBroadcastRequest */
782 static int hf_s1ap_NRV2XServicesAuthorized_PDU; /* NRV2XServicesAuthorized */
783 static int hf_s1ap_NRUESidelinkAggregateMaximumBitrate_PDU; /* NRUESidelinkAggregateMaximumBitrate */
784 static int hf_s1ap_OverloadResponse_PDU; /* OverloadResponse */
785 static int hf_s1ap_Packet_LossRate_PDU; /* Packet_LossRate */
786 static int hf_s1ap_Paging_eDRXInformation_PDU; /* Paging_eDRXInformation */
787 static int hf_s1ap_PagingDRX_PDU; /* PagingDRX */
788 static int hf_s1ap_PagingPriority_PDU; /* PagingPriority */
789 static int hf_s1ap_PagingCause_PDU; /* PagingCause */
790 static int hf_s1ap_PC5QoSParameters_PDU; /* PC5QoSParameters */
791 static int hf_s1ap_PendingDataIndication_PDU; /* PendingDataIndication */
792 static int hf_s1ap_PLMNidentity_PDU; /* PLMNidentity */
793 static int hf_s1ap_ProSeAuthorized_PDU; /* ProSeAuthorized */
794 static int hf_s1ap_ProSeUEtoNetworkRelaying_PDU; /* ProSeUEtoNetworkRelaying */
795 static int hf_s1ap_PS_ServiceNotAvailable_PDU; /* PS_ServiceNotAvailable */
796 static int hf_s1ap_s1ap_PSCellInformation_PDU; /* PSCellInformation */
797 static int hf_s1ap_RACSIndication_PDU; /* RACSIndication */
798 static int hf_s1ap_ReceiveStatusOfULPDCPSDUsExtended_PDU; /* ReceiveStatusOfULPDCPSDUsExtended */
799 static int hf_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU; /* ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 */
800 static int hf_s1ap_RecommendedCellItem_PDU; /* RecommendedCellItem */
801 static int hf_s1ap_RecommendedENBItem_PDU; /* RecommendedENBItem */
802 static int hf_s1ap_RelativeMMECapacity_PDU; /* RelativeMMECapacity */
803 static int hf_s1ap_RelayNode_Indicator_PDU; /* RelayNode_Indicator */
804 static int hf_s1ap_RAT_Restrictions_PDU; /* RAT_Restrictions */
805 static int hf_s1ap_RAT_Type_PDU; /* RAT_Type */
806 static int hf_s1ap_RequestType_PDU; /* RequestType */
807 static int hf_s1ap_RequestTypeAdditionalInfo_PDU; /* RequestTypeAdditionalInfo */
808 static int hf_s1ap_RepetitionPeriod_PDU; /* RepetitionPeriod */
809 static int hf_s1ap_RRC_Establishment_Cause_PDU; /* RRC_Establishment_Cause */
810 static int hf_s1ap_ECGIListForRestart_PDU; /* ECGIListForRestart */
811 static int hf_s1ap_Routing_ID_PDU; /* Routing_ID */
812 static int hf_s1ap_SecurityKey_PDU; /* SecurityKey */
813 static int hf_s1ap_SecurityContext_PDU; /* SecurityContext */
814 static int hf_s1ap_SecondaryRATDataUsageRequest_PDU; /* SecondaryRATDataUsageRequest */
815 static int hf_s1ap_SecondaryRATDataUsageReportList_PDU; /* SecondaryRATDataUsageReportList */
816 static int hf_s1ap_SecondaryRATDataUsageReportItem_PDU; /* SecondaryRATDataUsageReportItem */
817 static int hf_s1ap_SecurityIndication_PDU; /* SecurityIndication */
818 static int hf_s1ap_SensorMeasurementConfiguration_PDU; /* SensorMeasurementConfiguration */
819 static int hf_s1ap_SerialNumber_PDU; /* SerialNumber */
820 static int hf_s1ap_ServiceType_PDU; /* ServiceType */
821 static int hf_s1ap_SONInformationReport_PDU; /* SONInformationReport */
822 static int hf_s1ap_s1ap_SONConfigurationTransfer_PDU; /* SONConfigurationTransfer */
823 static int hf_s1ap_SynchronisationInformation_PDU; /* SynchronisationInformation */
824 static int hf_s1ap_Source_ToTarget_TransparentContainer_PDU; /* Source_ToTarget_TransparentContainer */
825 static int hf_s1ap_SRVCCOperationNotPossible_PDU; /* SRVCCOperationNotPossible */
826 static int hf_s1ap_SRVCCOperationPossible_PDU; /* SRVCCOperationPossible */
827 static int hf_s1ap_SRVCCHOIndication_PDU; /* SRVCCHOIndication */
828 static int hf_s1ap_SourceNodeID_PDU; /* SourceNodeID */
829 static int hf_s1ap_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU; /* SourceeNB_ToTargeteNB_TransparentContainer */
830 static int hf_s1ap_ServedGUMMEIs_PDU; /* ServedGUMMEIs */
831 static int hf_s1ap_ServedPLMNs_PDU; /* ServedPLMNs */
832 static int hf_s1ap_SubscriberProfileIDforRFP_PDU; /* SubscriberProfileIDforRFP */
833 static int hf_s1ap_Subscription_Based_UE_DifferentiationInfo_PDU; /* Subscription_Based_UE_DifferentiationInfo */
834 static int hf_s1ap_SupportedTAs_PDU; /* SupportedTAs */
835 static int hf_s1ap_TimeSynchronisationInfo_PDU; /* TimeSynchronisationInfo */
836 static int hf_s1ap_S_TMSI_PDU; /* S_TMSI */
837 static int hf_s1ap_TAI_PDU; /* TAI */
838 static int hf_s1ap_TargetID_PDU; /* TargetID */
839 static int hf_s1ap_Global_RAN_NODE_ID_PDU; /* Global_RAN_NODE_ID */
840 static int hf_s1ap_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU; /* TargeteNB_ToSourceeNB_TransparentContainer */
841 static int hf_s1ap_Target_ToSource_TransparentContainer_PDU; /* Target_ToSource_TransparentContainer */
842 static int hf_s1ap_TimeBasedHandoverInformation_PDU; /* TimeBasedHandoverInformation */
843 static int hf_s1ap_TimeToWait_PDU; /* TimeToWait */
844 static int hf_s1ap_Time_UE_StayedInCell_EnhancedGranularity_PDU; /* Time_UE_StayedInCell_EnhancedGranularity */
845 static int hf_s1ap_TimeSinceSecondaryNodeRelease_PDU; /* TimeSinceSecondaryNodeRelease */
846 static int hf_s1ap_TransportInformation_PDU; /* TransportInformation */
847 static int hf_s1ap_TransportLayerAddress_PDU; /* TransportLayerAddress */
848 static int hf_s1ap_TraceActivation_PDU; /* TraceActivation */
849 static int hf_s1ap_E_UTRAN_Trace_ID_PDU; /* E_UTRAN_Trace_ID */
850 static int hf_s1ap_TrafficLoadReductionIndication_PDU; /* TrafficLoadReductionIndication */
851 static int hf_s1ap_TunnelInformation_PDU; /* TunnelInformation */
852 static int hf_s1ap_TAIListForRestart_PDU; /* TAIListForRestart */
853 static int hf_s1ap_UEAggregateMaximumBitrate_PDU; /* UEAggregateMaximumBitrate */
854 static int hf_s1ap_UEAppLayerMeasConfig_PDU; /* UEAppLayerMeasConfig */
855 static int hf_s1ap_UECapabilityInfoRequest_PDU; /* UECapabilityInfoRequest */
856 static int hf_s1ap_UE_RetentionInformation_PDU; /* UE_RetentionInformation */
857 static int hf_s1ap_UE_S1AP_IDs_PDU; /* UE_S1AP_IDs */
858 static int hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU; /* UE_associatedLogicalS1_ConnectionItem */
859 static int hf_s1ap_UEIdentityIndexValue_PDU; /* UEIdentityIndexValue */
860 static int hf_s1ap_s1ap_UE_HistoryInformation_PDU; /* UE_HistoryInformation */
861 static int hf_s1ap_UE_HistoryInformationFromTheUE_PDU; /* UE_HistoryInformationFromTheUE */
862 static int hf_s1ap_UEPagingID_PDU; /* UEPagingID */
863 static int hf_s1ap_UERadioCapability_PDU; /* UERadioCapability */
864 static int hf_s1ap_UERadioCapabilityForPaging_PDU; /* UERadioCapabilityForPaging */
865 static int hf_s1ap_UERadioCapabilityID_PDU; /* UERadioCapabilityID */
866 static int hf_s1ap_UESecurityCapabilities_PDU; /* UESecurityCapabilities */
867 static int hf_s1ap_UESidelinkAggregateMaximumBitrate_PDU; /* UESidelinkAggregateMaximumBitrate */
868 static int hf_s1ap_UE_Usage_Type_PDU; /* UE_Usage_Type */
869 static int hf_s1ap_UL_CP_SecurityInformation_PDU; /* UL_CP_SecurityInformation */
870 static int hf_s1ap_UnlicensedSpectrumRestriction_PDU; /* UnlicensedSpectrumRestriction */
871 static int hf_s1ap_URI_Address_PDU; /* URI_Address */
872 static int hf_s1ap_UserLocationInformation_PDU; /* UserLocationInformation */
873 static int hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU; /* UEUserPlaneCIoTSupportIndicator */
874 static int hf_s1ap_UE_Application_Layer_Measurement_Capability_PDU; /* UE_Application_Layer_Measurement_Capability */
875 static int hf_s1ap_VoiceSupportMatchIndicator_PDU; /* VoiceSupportMatchIndicator */
876 static int hf_s1ap_V2XServicesAuthorized_PDU; /* V2XServicesAuthorized */
877 static int hf_s1ap_WarningAreaCoordinates_PDU; /* WarningAreaCoordinates */
878 static int hf_s1ap_WarningAreaList_PDU; /* WarningAreaList */
879 static int hf_s1ap_WarningType_PDU; /* WarningType */
880 static int hf_s1ap_WarningSecurityInfo_PDU; /* WarningSecurityInfo */
881 static int hf_s1ap_WarningMessageContents_PDU; /* WarningMessageContents */
882 static int hf_s1ap_WLANMeasurementConfiguration_PDU; /* WLANMeasurementConfiguration */
883 static int hf_s1ap_WUS_Assistance_Information_PDU; /* WUS_Assistance_Information */
884 static int hf_s1ap_X2TNLConfigurationInfo_PDU; /* X2TNLConfigurationInfo */
885 static int hf_s1ap_ENBX2ExtTLAs_PDU; /* ENBX2ExtTLAs */
886 static int hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU; /* ENBIndirectX2TransportLayerAddresses */
887 static int hf_s1ap_HandoverRequired_PDU; /* HandoverRequired */
888 static int hf_s1ap_HandoverCommand_PDU; /* HandoverCommand */
889 static int hf_s1ap_E_RABSubjecttoDataForwardingList_PDU; /* E_RABSubjecttoDataForwardingList */
890 static int hf_s1ap_E_RABDataForwardingItem_PDU; /* E_RABDataForwardingItem */
891 static int hf_s1ap_HandoverPreparationFailure_PDU; /* HandoverPreparationFailure */
892 static int hf_s1ap_HandoverRequest_PDU; /* HandoverRequest */
893 static int hf_s1ap_E_RABToBeSetupListHOReq_PDU; /* E_RABToBeSetupListHOReq */
894 static int hf_s1ap_E_RABToBeSetupItemHOReq_PDU; /* E_RABToBeSetupItemHOReq */
895 static int hf_s1ap_HandoverRequestAcknowledge_PDU; /* HandoverRequestAcknowledge */
896 static int hf_s1ap_E_RABAdmittedList_PDU; /* E_RABAdmittedList */
897 static int hf_s1ap_E_RABAdmittedItem_PDU; /* E_RABAdmittedItem */
898 static int hf_s1ap_E_RABFailedtoSetupListHOReqAck_PDU; /* E_RABFailedtoSetupListHOReqAck */
899 static int hf_s1ap_E_RABFailedToSetupItemHOReqAck_PDU; /* E_RABFailedToSetupItemHOReqAck */
900 static int hf_s1ap_HandoverFailure_PDU; /* HandoverFailure */
901 static int hf_s1ap_HandoverNotify_PDU; /* HandoverNotify */
902 static int hf_s1ap_PathSwitchRequest_PDU; /* PathSwitchRequest */
903 static int hf_s1ap_E_RABToBeSwitchedDLList_PDU; /* E_RABToBeSwitchedDLList */
904 static int hf_s1ap_E_RABToBeSwitchedDLItem_PDU; /* E_RABToBeSwitchedDLItem */
905 static int hf_s1ap_PathSwitchRequestAcknowledge_PDU; /* PathSwitchRequestAcknowledge */
906 static int hf_s1ap_E_RABToBeSwitchedULList_PDU; /* E_RABToBeSwitchedULList */
907 static int hf_s1ap_E_RABToBeSwitchedULItem_PDU; /* E_RABToBeSwitchedULItem */
908 static int hf_s1ap_E_RABToBeUpdatedList_PDU; /* E_RABToBeUpdatedList */
909 static int hf_s1ap_E_RABToBeUpdatedItem_PDU; /* E_RABToBeUpdatedItem */
910 static int hf_s1ap_PathSwitchRequestFailure_PDU; /* PathSwitchRequestFailure */
911 static int hf_s1ap_HandoverCancel_PDU; /* HandoverCancel */
912 static int hf_s1ap_HandoverCancelAcknowledge_PDU; /* HandoverCancelAcknowledge */
913 static int hf_s1ap_HandoverSuccess_PDU; /* HandoverSuccess */
914 static int hf_s1ap_ENBEarlyStatusTransfer_PDU; /* ENBEarlyStatusTransfer */
915 static int hf_s1ap_MMEEarlyStatusTransfer_PDU; /* MMEEarlyStatusTransfer */
916 static int hf_s1ap_E_RABSetupRequest_PDU; /* E_RABSetupRequest */
917 static int hf_s1ap_E_RABToBeSetupListBearerSUReq_PDU; /* E_RABToBeSetupListBearerSUReq */
918 static int hf_s1ap_E_RABToBeSetupItemBearerSUReq_PDU; /* E_RABToBeSetupItemBearerSUReq */
919 static int hf_s1ap_E_RABSetupResponse_PDU; /* E_RABSetupResponse */
920 static int hf_s1ap_E_RABSetupListBearerSURes_PDU; /* E_RABSetupListBearerSURes */
921 static int hf_s1ap_E_RABSetupItemBearerSURes_PDU; /* E_RABSetupItemBearerSURes */
922 static int hf_s1ap_E_RABModifyRequest_PDU; /* E_RABModifyRequest */
923 static int hf_s1ap_E_RABToBeModifiedListBearerModReq_PDU; /* E_RABToBeModifiedListBearerModReq */
924 static int hf_s1ap_E_RABToBeModifiedItemBearerModReq_PDU; /* E_RABToBeModifiedItemBearerModReq */
925 static int hf_s1ap_E_RABModifyResponse_PDU; /* E_RABModifyResponse */
926 static int hf_s1ap_E_RABModifyListBearerModRes_PDU; /* E_RABModifyListBearerModRes */
927 static int hf_s1ap_E_RABModifyItemBearerModRes_PDU; /* E_RABModifyItemBearerModRes */
928 static int hf_s1ap_E_RABReleaseCommand_PDU; /* E_RABReleaseCommand */
929 static int hf_s1ap_E_RABReleaseResponse_PDU; /* E_RABReleaseResponse */
930 static int hf_s1ap_E_RABReleaseListBearerRelComp_PDU; /* E_RABReleaseListBearerRelComp */
931 static int hf_s1ap_E_RABReleaseItemBearerRelComp_PDU; /* E_RABReleaseItemBearerRelComp */
932 static int hf_s1ap_E_RABReleaseIndication_PDU; /* E_RABReleaseIndication */
933 static int hf_s1ap_InitialContextSetupRequest_PDU; /* InitialContextSetupRequest */
934 static int hf_s1ap_E_RABToBeSetupListCtxtSUReq_PDU; /* E_RABToBeSetupListCtxtSUReq */
935 static int hf_s1ap_E_RABToBeSetupItemCtxtSUReq_PDU; /* E_RABToBeSetupItemCtxtSUReq */
936 static int hf_s1ap_InitialContextSetupResponse_PDU; /* InitialContextSetupResponse */
937 static int hf_s1ap_E_RABSetupListCtxtSURes_PDU; /* E_RABSetupListCtxtSURes */
938 static int hf_s1ap_E_RABSetupItemCtxtSURes_PDU; /* E_RABSetupItemCtxtSURes */
939 static int hf_s1ap_InitialContextSetupFailure_PDU; /* InitialContextSetupFailure */
940 static int hf_s1ap_Paging_PDU; /* Paging */
941 static int hf_s1ap_TAIList_PDU; /* TAIList */
942 static int hf_s1ap_TAIItem_PDU; /* TAIItem */
943 static int hf_s1ap_UEContextReleaseRequest_PDU; /* UEContextReleaseRequest */
944 static int hf_s1ap_UEContextReleaseCommand_PDU; /* UEContextReleaseCommand */
945 static int hf_s1ap_UEContextReleaseComplete_PDU; /* UEContextReleaseComplete */
946 static int hf_s1ap_UEContextModificationRequest_PDU; /* UEContextModificationRequest */
947 static int hf_s1ap_UEContextModificationResponse_PDU; /* UEContextModificationResponse */
948 static int hf_s1ap_UEContextModificationFailure_PDU; /* UEContextModificationFailure */
949 static int hf_s1ap_UERadioCapabilityMatchRequest_PDU; /* UERadioCapabilityMatchRequest */
950 static int hf_s1ap_UERadioCapabilityMatchResponse_PDU; /* UERadioCapabilityMatchResponse */
951 static int hf_s1ap_DownlinkNASTransport_PDU; /* DownlinkNASTransport */
952 static int hf_s1ap_InitialUEMessage_PDU; /* InitialUEMessage */
953 static int hf_s1ap_UplinkNASTransport_PDU; /* UplinkNASTransport */
954 static int hf_s1ap_NASNonDeliveryIndication_PDU; /* NASNonDeliveryIndication */
955 static int hf_s1ap_RerouteNASRequest_PDU; /* RerouteNASRequest */
956 static int hf_s1ap_S1_Message_PDU; /* S1_Message */
957 static int hf_s1ap_NASDeliveryIndication_PDU; /* NASDeliveryIndication */
958 static int hf_s1ap_Reset_PDU; /* Reset */
959 static int hf_s1ap_ResetType_PDU; /* ResetType */
960 static int hf_s1ap_ResetAcknowledge_PDU; /* ResetAcknowledge */
961 static int hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_PDU; /* UE_associatedLogicalS1_ConnectionListResAck */
962 static int hf_s1ap_ErrorIndication_PDU; /* ErrorIndication */
963 static int hf_s1ap_S1SetupRequest_PDU; /* S1SetupRequest */
964 static int hf_s1ap_S1SetupResponse_PDU; /* S1SetupResponse */
965 static int hf_s1ap_S1SetupFailure_PDU; /* S1SetupFailure */
966 static int hf_s1ap_ENBConfigurationUpdate_PDU; /* ENBConfigurationUpdate */
967 static int hf_s1ap_ENBConfigurationUpdateAcknowledge_PDU; /* ENBConfigurationUpdateAcknowledge */
968 static int hf_s1ap_ENBConfigurationUpdateFailure_PDU; /* ENBConfigurationUpdateFailure */
969 static int hf_s1ap_MMEConfigurationUpdate_PDU; /* MMEConfigurationUpdate */
970 static int hf_s1ap_MMEConfigurationUpdateAcknowledge_PDU; /* MMEConfigurationUpdateAcknowledge */
971 static int hf_s1ap_MMEConfigurationUpdateFailure_PDU; /* MMEConfigurationUpdateFailure */
972 static int hf_s1ap_DownlinkS1cdma2000tunnelling_PDU; /* DownlinkS1cdma2000tunnelling */
973 static int hf_s1ap_UplinkS1cdma2000tunnelling_PDU; /* UplinkS1cdma2000tunnelling */
974 static int hf_s1ap_UECapabilityInfoIndication_PDU; /* UECapabilityInfoIndication */
975 static int hf_s1ap_ENBStatusTransfer_PDU; /* ENBStatusTransfer */
976 static int hf_s1ap_MMEStatusTransfer_PDU; /* MMEStatusTransfer */
977 static int hf_s1ap_TraceStart_PDU; /* TraceStart */
978 static int hf_s1ap_TraceFailureIndication_PDU; /* TraceFailureIndication */
979 static int hf_s1ap_DeactivateTrace_PDU; /* DeactivateTrace */
980 static int hf_s1ap_CellTrafficTrace_PDU; /* CellTrafficTrace */
981 static int hf_s1ap_LocationReportingControl_PDU; /* LocationReportingControl */
982 static int hf_s1ap_LocationReportingFailureIndication_PDU; /* LocationReportingFailureIndication */
983 static int hf_s1ap_LocationReport_PDU; /* LocationReport */
984 static int hf_s1ap_OverloadStart_PDU; /* OverloadStart */
985 static int hf_s1ap_OverloadStop_PDU; /* OverloadStop */
986 static int hf_s1ap_WriteReplaceWarningRequest_PDU; /* WriteReplaceWarningRequest */
987 static int hf_s1ap_WriteReplaceWarningResponse_PDU; /* WriteReplaceWarningResponse */
988 static int hf_s1ap_ENBDirectInformationTransfer_PDU; /* ENBDirectInformationTransfer */
989 static int hf_s1ap_Inter_SystemInformationTransferType_PDU; /* Inter_SystemInformationTransferType */
990 static int hf_s1ap_MMEDirectInformationTransfer_PDU; /* MMEDirectInformationTransfer */
991 static int hf_s1ap_ENBConfigurationTransfer_PDU; /* ENBConfigurationTransfer */
992 static int hf_s1ap_MMEConfigurationTransfer_PDU; /* MMEConfigurationTransfer */
993 static int hf_s1ap_PrivateMessage_PDU; /* PrivateMessage */
994 static int hf_s1ap_KillRequest_PDU; /* KillRequest */
995 static int hf_s1ap_KillResponse_PDU; /* KillResponse */
996 static int hf_s1ap_PWSRestartIndication_PDU; /* PWSRestartIndication */
997 static int hf_s1ap_PWSFailureIndication_PDU; /* PWSFailureIndication */
998 static int hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU; /* DownlinkUEAssociatedLPPaTransport */
999 static int hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU; /* UplinkUEAssociatedLPPaTransport */
1000 static int hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU; /* DownlinkNonUEAssociatedLPPaTransport */
1001 static int hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU; /* UplinkNonUEAssociatedLPPaTransport */
1002 static int hf_s1ap_E_RABModificationIndication_PDU; /* E_RABModificationIndication */
1003 static int hf_s1ap_E_RABToBeModifiedListBearerModInd_PDU; /* E_RABToBeModifiedListBearerModInd */
1004 static int hf_s1ap_E_RABToBeModifiedItemBearerModInd_PDU; /* E_RABToBeModifiedItemBearerModInd */
1005 static int hf_s1ap_E_RABNotToBeModifiedListBearerModInd_PDU; /* E_RABNotToBeModifiedListBearerModInd */
1006 static int hf_s1ap_E_RABNotToBeModifiedItemBearerModInd_PDU; /* E_RABNotToBeModifiedItemBearerModInd */
1007 static int hf_s1ap_CSGMembershipInfo_PDU; /* CSGMembershipInfo */
1008 static int hf_s1ap_E_RABModificationConfirm_PDU; /* E_RABModificationConfirm */
1009 static int hf_s1ap_E_RABModifyListBearerModConf_PDU; /* E_RABModifyListBearerModConf */
1010 static int hf_s1ap_E_RABModifyItemBearerModConf_PDU; /* E_RABModifyItemBearerModConf */
1011 static int hf_s1ap_UEContextModificationIndication_PDU; /* UEContextModificationIndication */
1012 static int hf_s1ap_UEContextModificationConfirm_PDU; /* UEContextModificationConfirm */
1013 static int hf_s1ap_UEContextSuspendRequest_PDU; /* UEContextSuspendRequest */
1014 static int hf_s1ap_UEContextSuspendResponse_PDU; /* UEContextSuspendResponse */
1015 static int hf_s1ap_UEContextResumeRequest_PDU; /* UEContextResumeRequest */
1016 static int hf_s1ap_E_RABFailedToResumeListResumeReq_PDU; /* E_RABFailedToResumeListResumeReq */
1017 static int hf_s1ap_E_RABFailedToResumeItemResumeReq_PDU; /* E_RABFailedToResumeItemResumeReq */
1018 static int hf_s1ap_UEContextResumeResponse_PDU; /* UEContextResumeResponse */
1019 static int hf_s1ap_E_RABFailedToResumeListResumeRes_PDU; /* E_RABFailedToResumeListResumeRes */
1020 static int hf_s1ap_E_RABFailedToResumeItemResumeRes_PDU; /* E_RABFailedToResumeItemResumeRes */
1021 static int hf_s1ap_UEContextResumeFailure_PDU; /* UEContextResumeFailure */
1022 static int hf_s1ap_ConnectionEstablishmentIndication_PDU; /* ConnectionEstablishmentIndication */
1023 static int hf_s1ap_RetrieveUEInformation_PDU; /* RetrieveUEInformation */
1024 static int hf_s1ap_UEInformationTransfer_PDU; /* UEInformationTransfer */
1025 static int hf_s1ap_ENBCPRelocationIndication_PDU; /* ENBCPRelocationIndication */
1026 static int hf_s1ap_MMECPRelocationIndication_PDU; /* MMECPRelocationIndication */
1027 static int hf_s1ap_SecondaryRATDataUsageReport_PDU; /* SecondaryRATDataUsageReport */
1028 static int hf_s1ap_UERadioCapabilityIDMappingRequest_PDU; /* UERadioCapabilityIDMappingRequest */
1029 static int hf_s1ap_UERadioCapabilityIDMappingResponse_PDU; /* UERadioCapabilityIDMappingResponse */
1030 static int hf_s1ap_S1AP_PDU_PDU; /* S1AP_PDU */
1031 static int hf_s1ap_s1ap_SONtransferApplicationIdentity_PDU; /* SONtransferApplicationIdentity */
1032 static int hf_s1ap_s1ap_SONtransferRequestContainer_PDU; /* SONtransferRequestContainer */
1033 static int hf_s1ap_s1ap_SONtransferResponseContainer_PDU; /* SONtransferResponseContainer */
1034 static int hf_s1ap_s1ap_SONtransferCause_PDU; /* SONtransferCause */
1035 static int hf_s1ap_local; /* INTEGER_0_65535 */
1036 static int hf_s1ap_global; /* T_global */
1037 static int hf_s1ap_ProtocolIE_Container_item; /* ProtocolIE_Field */
1038 static int hf_s1ap_id; /* ProtocolIE_ID */
1039 static int hf_s1ap_criticality; /* Criticality */
1040 static int hf_s1ap_ie_field_value; /* T_ie_field_value */
1041 static int hf_s1ap_ProtocolIE_ContainerList_item; /* ProtocolIE_SingleContainer */
1042 static int hf_s1ap_ProtocolExtensionContainer_item; /* ProtocolExtensionField */
1043 static int hf_s1ap_ext_id; /* ProtocolExtensionID */
1044 static int hf_s1ap_extensionValue; /* T_extensionValue */
1045 static int hf_s1ap_PrivateIE_Container_item; /* PrivateIE_Field */
1046 static int hf_s1ap_private_id; /* PrivateIE_ID */
1047 static int hf_s1ap_value; /* T_value */
1048 static int hf_s1ap_gUMMEI; /* GUMMEI */
1049 static int hf_s1ap_m_TMSI; /* M_TMSI */
1050 static int hf_s1ap_iE_Extensions; /* ProtocolExtensionContainer */
1051 static int hf_s1ap_cellBased; /* CellBasedMDT */
1052 static int hf_s1ap_tABased; /* TABasedMDT */
1053 static int hf_s1ap_pLMNWide; /* NULL */
1054 static int hf_s1ap_tAIBased; /* TAIBasedMDT */
1055 static int hf_s1ap_cellBased_01; /* CellBasedQMC */
1056 static int hf_s1ap_tABased_01; /* TABasedQMC */
1057 static int hf_s1ap_tAIBased_01; /* TAIBasedQMC */
1058 static int hf_s1ap_pLMNAreaBased; /* PLMNAreaBasedQMC */
1059 static int hf_s1ap_priorityLevel; /* PriorityLevel */
1060 static int hf_s1ap_pre_emptionCapability; /* Pre_emptionCapability */
1061 static int hf_s1ap_pre_emptionVulnerability; /* Pre_emptionVulnerability */
1062 static int hf_s1ap_cellIdentifierAndCELevelForCECapableUEs; /* CellIdentifierAndCELevelForCECapableUEs */
1063 static int hf_s1ap_assistanceDataForRecommendedCells; /* AssistanceDataForRecommendedCells */
1064 static int hf_s1ap_assistanceDataForCECapableUEs; /* AssistanceDataForCECapableUEs */
1065 static int hf_s1ap_pagingAttemptInformation; /* PagingAttemptInformation */
1066 static int hf_s1ap_recommendedCellsForPaging; /* RecommendedCellsForPaging */
1067 static int hf_s1ap_Bearers_SubjectToStatusTransferList_item; /* ProtocolIE_SingleContainer */
1068 static int hf_s1ap_e_RAB_ID; /* E_RAB_ID */
1069 static int hf_s1ap_uL_COUNTvalue; /* COUNTvalue */
1070 static int hf_s1ap_dL_COUNTvalue; /* COUNTvalue */
1071 static int hf_s1ap_receiveStatusofULPDCPSDUs; /* ReceiveStatusofULPDCPSDUs */
1072 static int hf_s1ap_Bearers_SubjectToEarlyStatusTransferList_item; /* ProtocolIE_SingleContainer */
1073 static int hf_s1ap_dLCOUNT_PDCP_SNlength; /* DLCOUNT_PDCP_SNlength */
1074 static int hf_s1ap_Bearers_SubjectToDLDiscardingList_item; /* ProtocolIE_SingleContainer */
1075 static int hf_s1ap_dL_Discarding; /* DLDiscarding */
1076 static int hf_s1ap_bluetoothMeasConfig; /* BluetoothMeasConfig */
1077 static int hf_s1ap_bluetoothMeasConfigNameList; /* BluetoothMeasConfigNameList */
1078 static int hf_s1ap_bt_rssi; /* T_bt_rssi */
1079 static int hf_s1ap_BluetoothMeasConfigNameList_item; /* BluetoothName */
1080 static int hf_s1ap_BPLMNs_item; /* PLMNidentity */
1081 static int hf_s1ap_cellID_Cancelled; /* CellID_Cancelled */
1082 static int hf_s1ap_tAI_Cancelled; /* TAI_Cancelled */
1083 static int hf_s1ap_emergencyAreaID_Cancelled; /* EmergencyAreaID_Cancelled */
1084 static int hf_s1ap_cellID_Broadcast; /* CellID_Broadcast */
1085 static int hf_s1ap_tAI_Broadcast; /* TAI_Broadcast */
1086 static int hf_s1ap_emergencyAreaID_Broadcast; /* EmergencyAreaID_Broadcast */
1087 static int hf_s1ap_CancelledCellinEAI_item; /* CancelledCellinEAI_Item */
1088 static int hf_s1ap_eCGI; /* EUTRAN_CGI */
1089 static int hf_s1ap_numberOfBroadcasts; /* NumberOfBroadcasts */
1090 static int hf_s1ap_CancelledCellinTAI_item; /* CancelledCellinTAI_Item */
1091 static int hf_s1ap_radioNetwork; /* CauseRadioNetwork */
1092 static int hf_s1ap_transport; /* CauseTransport */
1093 static int hf_s1ap_nas; /* CauseNas */
1094 static int hf_s1ap_protocol; /* CauseProtocol */
1095 static int hf_s1ap_misc; /* CauseMisc */
1096 static int hf_s1ap_global_Cell_ID; /* EUTRAN_CGI */
1097 static int hf_s1ap_cELevel; /* CELevel */
1098 static int hf_s1ap_CellID_Broadcast_item; /* CellID_Broadcast_Item */
1099 static int hf_s1ap_CellID_Cancelled_item; /* CellID_Cancelled_Item */
1100 static int hf_s1ap_cellIdListforMDT; /* CellIdListforMDT */
1101 static int hf_s1ap_CellIdListforMDT_item; /* EUTRAN_CGI */
1102 static int hf_s1ap_cellIdListforQMC; /* CellIdListforQMC */
1103 static int hf_s1ap_CellIdListforQMC_item; /* EUTRAN_CGI */
1104 static int hf_s1ap_cdma2000OneXMEID; /* Cdma2000OneXMEID */
1105 static int hf_s1ap_cdma2000OneXMSI; /* Cdma2000OneXMSI */
1106 static int hf_s1ap_cdma2000OneXPilot; /* Cdma2000OneXPilot */
1107 static int hf_s1ap_cell_Size; /* Cell_Size */
1108 static int hf_s1ap_pLMNidentity; /* PLMNidentity */
1109 static int hf_s1ap_lAC; /* LAC */
1110 static int hf_s1ap_cI; /* CI */
1111 static int hf_s1ap_rAC; /* RAC */
1112 static int hf_s1ap_CNTypeRestrictions_item; /* CNTypeRestrictions_Item */
1113 static int hf_s1ap_pLMN_Identity; /* PLMNidentity */
1114 static int hf_s1ap_cNType; /* CNType */
1115 static int hf_s1ap_ConnectedengNBList_item; /* ConnectedengNBItem */
1116 static int hf_s1ap_en_gNB_ID; /* En_gNB_ID */
1117 static int hf_s1ap_supportedTAs; /* SupportedTAs */
1118 static int hf_s1ap_sourceNG_RAN_node_ID; /* Global_RAN_NODE_ID */
1119 static int hf_s1ap_rAN_UE_NGAP_ID; /* RAN_UE_NGAP_ID */
1120 static int hf_s1ap_CSG_IdList_item; /* CSG_IdList_Item */
1121 static int hf_s1ap_cSG_Id; /* CSG_Id */
1122 static int hf_s1ap_pDCP_SN; /* PDCP_SN */
1123 static int hf_s1ap_hFN; /* HFN */
1124 static int hf_s1ap_pDCP_SNExtended; /* PDCP_SNExtended */
1125 static int hf_s1ap_hFNModified; /* HFNModified */
1126 static int hf_s1ap_pDCP_SNlength18; /* PDCP_SNlength18 */
1127 static int hf_s1ap_hFNforPDCP_SNlength18; /* HFNforPDCP_SNlength18 */
1128 static int hf_s1ap_procedureCode; /* ProcedureCode */
1129 static int hf_s1ap_triggeringMessage; /* TriggeringMessage */
1130 static int hf_s1ap_procedureCriticality; /* Criticality */
1131 static int hf_s1ap_iEsCriticalityDiagnostics; /* CriticalityDiagnostics_IE_List */
1132 static int hf_s1ap_CriticalityDiagnostics_IE_List_item; /* CriticalityDiagnostics_IE_Item */
1133 static int hf_s1ap_iECriticality; /* Criticality */
1134 static int hf_s1ap_iE_ID; /* ProtocolIE_ID */
1135 static int hf_s1ap_typeOfError; /* TypeOfError */
1136 static int hf_s1ap_dAPSIndicator; /* T_dAPSIndicator */
1137 static int hf_s1ap_DAPSResponseInfoList_item; /* ProtocolIE_SingleContainer */
1138 static int hf_s1ap_dAPSResponseInfo; /* DAPSResponseInfo */
1139 static int hf_s1ap_dapsresponseindicator; /* T_dapsresponseindicator */
1140 static int hf_s1ap_ServedDCNs_item; /* ServedDCNsItem */
1141 static int hf_s1ap_dCN_ID; /* DCN_ID */
1142 static int hf_s1ap_relativeDCNCapacity; /* RelativeMMECapacity */
1143 static int hf_s1ap_dl_NAS_MAC; /* DL_NAS_MAC */
1144 static int hf_s1ap_dLCOUNTValuePDCP_SNlength12; /* COUNTvalue */
1145 static int hf_s1ap_dLCOUNTValuePDCP_SNlength15; /* COUNTValueExtended */
1146 static int hf_s1ap_dLCOUNTValuePDCP_SNlength18; /* COUNTvaluePDCP_SNlength18 */
1147 static int hf_s1ap_discardDLCOUNTValuePDCP_SNlength12; /* COUNTvalue */
1148 static int hf_s1ap_discardDLCOUNTValuePDCP_SNlength15; /* COUNTValueExtended */
1149 static int hf_s1ap_discardDLCOUNTValuePDCP_SNlength18; /* COUNTvaluePDCP_SNlength18 */
1150 static int hf_s1ap_ECGIList_item; /* EUTRAN_CGI */
1151 static int hf_s1ap_PWSfailedECGIList_item; /* EUTRAN_CGI */
1152 static int hf_s1ap_EmergencyAreaIDList_item; /* EmergencyAreaID */
1153 static int hf_s1ap_EmergencyAreaID_Broadcast_item; /* EmergencyAreaID_Broadcast_Item */
1154 static int hf_s1ap_emergencyAreaID; /* EmergencyAreaID */
1155 static int hf_s1ap_completedCellinEAI; /* CompletedCellinEAI */
1156 static int hf_s1ap_EmergencyAreaID_Cancelled_item; /* EmergencyAreaID_Cancelled_Item */
1157 static int hf_s1ap_cancelledCellinEAI; /* CancelledCellinEAI */
1158 static int hf_s1ap_CompletedCellinEAI_item; /* CompletedCellinEAI_Item */
1159 static int hf_s1ap_ECGI_List_item; /* EUTRAN_CGI */
1160 static int hf_s1ap_EmergencyAreaIDListForRestart_item; /* EmergencyAreaID */
1161 static int hf_s1ap_bearers_SubjectToEarlyStatusTransferList; /* Bearers_SubjectToEarlyStatusTransferList */
1162 static int hf_s1ap_macroENB_ID; /* BIT_STRING_SIZE_20 */
1163 static int hf_s1ap_homeENB_ID; /* BIT_STRING_SIZE_28 */
1164 static int hf_s1ap_short_macroENB_ID; /* BIT_STRING_SIZE_18 */
1165 static int hf_s1ap_long_macroENB_ID; /* BIT_STRING_SIZE_21 */
1166 static int hf_s1ap_lAI; /* LAI */
1167 static int hf_s1ap_eNB_ID; /* ENB_ID */
1168 static int hf_s1ap_GUMMEIList_item; /* GUMMEI */
1169 static int hf_s1ap_bearers_SubjectToStatusTransferList; /* Bearers_SubjectToStatusTransferList */
1170 static int hf_s1ap_ENBX2TLAs_item; /* TransportLayerAddress */
1171 static int hf_s1ap_transfertype; /* EN_DCSONTransferType */
1172 static int hf_s1ap_sONInformation; /* SONInformation */
1173 static int hf_s1ap_x2TNLConfigInfo; /* X2TNLConfigurationInfo */
1174 static int hf_s1ap_request; /* EN_DCTransferTypeRequest */
1175 static int hf_s1ap_reply; /* EN_DCTransferTypeReply */
1176 static int hf_s1ap_sourceeNB; /* EN_DCSONeNBIdentification */
1177 static int hf_s1ap_targetengNB; /* EN_DCSONengNBIdentification */
1178 static int hf_s1ap_targeteNB; /* EN_DCSONeNBIdentification */
1179 static int hf_s1ap_associatedTAI; /* TAI */
1180 static int hf_s1ap_broadcast5GSTAI; /* FiveGSTAI */
1181 static int hf_s1ap_sourceengNB; /* EN_DCSONengNBIdentification */
1182 static int hf_s1ap_globaleNBID; /* Global_ENB_ID */
1183 static int hf_s1ap_selectedTAI; /* TAI */
1184 static int hf_s1ap_globalengNBID; /* Global_en_gNB_ID */
1185 static int hf_s1ap_EPLMNs_item; /* PLMNidentity */
1186 static int hf_s1ap_E_RABInformationList_item; /* ProtocolIE_SingleContainer */
1187 static int hf_s1ap_dL_Forwarding; /* DL_Forwarding */
1188 static int hf_s1ap_E_RABList_item; /* ProtocolIE_SingleContainer */
1189 static int hf_s1ap_cause; /* Cause */
1190 static int hf_s1ap_qCI; /* QCI */
1191 static int hf_s1ap_allocationRetentionPriority; /* AllocationAndRetentionPriority */
1192 static int hf_s1ap_gbrQosInformation; /* GBR_QosInformation */
1193 static int hf_s1ap_E_RABSecurityResultList_item; /* ProtocolIE_SingleContainer */
1194 static int hf_s1ap_securityResult; /* SecurityResult */
1195 static int hf_s1ap_E_RABUsageReportList_item; /* ProtocolIE_SingleContainer */
1196 static int hf_s1ap_startTimestamp; /* T_startTimestamp */
1197 static int hf_s1ap_endTimestamp; /* T_endTimestamp */
1198 static int hf_s1ap_usageCountUL; /* INTEGER_0_18446744073709551615 */
1199 static int hf_s1ap_usageCountDL; /* INTEGER_0_18446744073709551615 */
1200 static int hf_s1ap_cell_ID; /* CellIdentity */
1201 static int hf_s1ap_l1Threshold; /* MeasurementThresholdL1LoggedMDT */
1202 static int hf_s1ap_hysteresis; /* Hysteresis */
1203 static int hf_s1ap_timeToTrigger; /* TimeToTrigger */
1204 static int hf_s1ap_outOfCoverage; /* T_outOfCoverage */
1205 static int hf_s1ap_eventL1LoggedMDTConfig; /* EventL1LoggedMDTConfig */
1206 static int hf_s1ap_choice_Extensions; /* ProtocolIE_SingleContainer */
1207 static int hf_s1ap_expectedActivity; /* ExpectedUEActivityBehaviour */
1208 static int hf_s1ap_expectedHOInterval; /* ExpectedHOInterval */
1209 static int hf_s1ap_expectedActivityPeriod; /* ExpectedActivityPeriod */
1210 static int hf_s1ap_expectedIdlePeriod; /* ExpectedIdlePeriod */
1211 static int hf_s1ap_sourceofUEActivityBehaviourInformation; /* SourceOfUEActivityBehaviourInformation */
1212 static int hf_s1ap_fiveGSTAC; /* FiveGSTAC */
1213 static int hf_s1ap_ForbiddenTAs_item; /* ForbiddenTAs_Item */
1214 static int hf_s1ap_forbiddenTACs; /* ForbiddenTACs */
1215 static int hf_s1ap_ForbiddenTACs_item; /* TAC */
1216 static int hf_s1ap_ForbiddenLAs_item; /* ForbiddenLAs_Item */
1217 static int hf_s1ap_forbiddenLACs; /* ForbiddenLACs */
1218 static int hf_s1ap_ForbiddenLACs_item; /* LAC */
1219 static int hf_s1ap_e_RAB_MaximumBitrateDL; /* BitRate */
1220 static int hf_s1ap_e_RAB_MaximumBitrateUL; /* BitRate */
1221 static int hf_s1ap_e_RAB_GuaranteedBitrateDL; /* BitRate */
1222 static int hf_s1ap_e_RAB_GuaranteedBitrateUL; /* BitRate */
1223 static int hf_s1ap_mME_Group_ID; /* MME_Group_ID */
1224 static int hf_s1ap_mME_Code; /* MME_Code */
1225 static int hf_s1ap_servingPLMN; /* PLMNidentity */
1226 static int hf_s1ap_equivalentPLMNs; /* EPLMNs */
1227 static int hf_s1ap_forbiddenTAs; /* ForbiddenTAs */
1228 static int hf_s1ap_forbiddenLAs; /* ForbiddenLAs */
1229 static int hf_s1ap_forbiddenInterRATs; /* ForbiddenInterRATs */
1230 static int hf_s1ap_measurementsToActivate; /* MeasurementsToActivate */
1231 static int hf_s1ap_m1reportingTrigger; /* M1ReportingTrigger */
1232 static int hf_s1ap_m1thresholdeventA2; /* M1ThresholdEventA2 */
1233 static int hf_s1ap_m1periodicReporting; /* M1PeriodicReporting */
1234 static int hf_s1ap_recommendENBsForPaging; /* RecommendedENBsForPaging */
1235 static int hf_s1ap_rSRP; /* INTEGER_0_127 */
1236 static int hf_s1ap_rSRQ; /* INTEGER_0_127 */
1237 static int hf_s1ap_sINR; /* INTEGER_0_127 */
1238 static int hf_s1ap_interSystemMeasurementParameters; /* InterSystemMeasurementParameters */
1239 static int hf_s1ap_measurementDuration; /* INTEGER_1_100 */
1240 static int hf_s1ap_interSystemMeasurementList; /* InterSystemMeasurementList */
1241 static int hf_s1ap_InterSystemMeasurementList_item; /* InterSystemMeasurementItem */
1242 static int hf_s1ap_freqBandIndicatorNR; /* INTEGER_1_1024 */
1243 static int hf_s1ap_sSBfrequencies; /* INTEGER_0_maxNARFCN */
1244 static int hf_s1ap_subcarrierSpacingSSB; /* T_subcarrierSpacingSSB */
1245 static int hf_s1ap_maxRSIndexCellQual; /* INTEGER_1_maxRS_IndexCellQual */
1246 static int hf_s1ap_sMTC; /* T_sMTC */
1247 static int hf_s1ap_threshRS_Index_r15; /* T_threshRS_Index_r15 */
1248 static int hf_s1ap_sSBToMeasure; /* T_sSBToMeasure */
1249 static int hf_s1ap_sSRSSIMeasurement; /* T_sSRSSIMeasurement */
1250 static int hf_s1ap_quantityConfigNR_R15; /* T_quantityConfigNR_R15 */
1251 static int hf_s1ap_excludedCellsToAddModList; /* T_excludedCellsToAddModList */
1252 static int hf_s1ap_e_UTRAN_Cell; /* LastVisitedEUTRANCellInformation */
1253 static int hf_s1ap_uTRAN_Cell; /* LastVisitedUTRANCellInformation */
1254 static int hf_s1ap_gERAN_Cell; /* LastVisitedGERANCellInformation */
1255 static int hf_s1ap_nG_RAN_Cell; /* LastVisitedNGRANCellInformation */
1256 static int hf_s1ap_cellType; /* CellType */
1257 static int hf_s1ap_time_UE_StayedInCell; /* Time_UE_StayedInCell */
1258 static int hf_s1ap_LastVisitedPSCellList_item; /* LastVisitedPSCellInformation */
1259 static int hf_s1ap_pSCellID; /* PSCellInformation */
1260 static int hf_s1ap_timeStay; /* INTEGER_0_40950 */
1261 static int hf_s1ap_undefined; /* NULL */
1262 static int hf_s1ap_pattern_period; /* T_pattern_period */
1263 static int hf_s1ap_pattern_offset; /* INTEGER_0_10239_ */
1264 static int hf_s1ap_loggingInterval; /* LoggingInterval */
1265 static int hf_s1ap_loggingDuration; /* LoggingDuration */
1266 static int hf_s1ap_mBSFN_ResultToLog; /* MBSFN_ResultToLog */
1267 static int hf_s1ap_periodical; /* NULL */
1268 static int hf_s1ap_eventTrigger; /* EventTrigger */
1269 static int hf_s1ap_tACList_In_LTE_NTN; /* TACList_In_LTE_NTN */
1270 static int hf_s1ap_uE_Location_Derived_TAC; /* TAC */
1271 static int hf_s1ap_m3period; /* M3period */
1272 static int hf_s1ap_m4period; /* M4period */
1273 static int hf_s1ap_m4_links_to_log; /* Links_to_log */
1274 static int hf_s1ap_m5period; /* M5period */
1275 static int hf_s1ap_m5_links_to_log; /* Links_to_log */
1276 static int hf_s1ap_m6report_Interval; /* M6report_Interval */
1277 static int hf_s1ap_m6delay_threshold; /* M6delay_threshold */
1278 static int hf_s1ap_m6_links_to_log; /* Links_to_log */
1279 static int hf_s1ap_m7period; /* M7period */
1280 static int hf_s1ap_m7_links_to_log; /* Links_to_log */
1281 static int hf_s1ap_mdt_Activation; /* MDT_Activation */
1282 static int hf_s1ap_areaScopeOfMDT; /* AreaScopeOfMDT */
1283 static int hf_s1ap_mDTMode; /* MDTMode */
1284 static int hf_s1ap_MBSFN_ResultToLog_item; /* MBSFN_ResultToLogInfo */
1285 static int hf_s1ap_mBSFN_AreaId; /* INTEGER_0_255 */
1286 static int hf_s1ap_carrierFreq; /* EARFCN */
1287 static int hf_s1ap_MDTPLMNList_item; /* PLMNidentity */
1288 static int hf_s1ap_immediateMDT; /* ImmediateMDT */
1289 static int hf_s1ap_loggedMDT; /* LoggedMDT */
1290 static int hf_s1ap_mDTMode_Extension; /* MDTMode_Extension */
1291 static int hf_s1ap_threshold_RSRP; /* Threshold_RSRP */
1292 static int hf_s1ap_threshold_RSRQ; /* Threshold_RSRQ */
1293 static int hf_s1ap_global_ENB_ID; /* Global_ENB_ID */
1294 static int hf_s1ap_tAI; /* TAI */
1295 static int hf_s1ap_muting_pattern_period; /* T_muting_pattern_period */
1296 static int hf_s1ap_muting_pattern_offset; /* INTEGER_0_10239_ */
1297 static int hf_s1ap_nB_IoT_paging_eDRX_Cycle; /* NB_IoT_Paging_eDRX_Cycle */
1298 static int hf_s1ap_nB_IoT_pagingTimeWindow; /* NB_IoT_PagingTimeWindow */
1299 static int hf_s1ap_pLMNIdentity; /* PLMNidentity */
1300 static int hf_s1ap_nRCellIdentity; /* NRCellIdentity */
1301 static int hf_s1ap_nRencryptionAlgorithms; /* NRencryptionAlgorithms */
1302 static int hf_s1ap_nRintegrityProtectionAlgorithms; /* NRintegrityProtectionAlgorithms */
1303 static int hf_s1ap_vehicleUE; /* VehicleUE */
1304 static int hf_s1ap_pedestrianUE; /* PedestrianUE */
1305 static int hf_s1ap_uEaggregateMaximumBitRate; /* BitRate */
1306 static int hf_s1ap_overloadAction; /* OverloadAction */
1307 static int hf_s1ap_pagingAttemptCount; /* PagingAttemptCount */
1308 static int hf_s1ap_intendedNumberOfPagingAttempts; /* IntendedNumberOfPagingAttempts */
1309 static int hf_s1ap_nextPagingAreaScope; /* NextPagingAreaScope */
1310 static int hf_s1ap_paging_eDRX_Cycle; /* Paging_eDRX_Cycle */
1311 static int hf_s1ap_pagingTimeWindow; /* PagingTimeWindow */
1312 static int hf_s1ap_pc5QoSFlowList; /* PC5QoSFlowList */
1313 static int hf_s1ap_pc5LinkAggregatedBitRates; /* BitRate */
1314 static int hf_s1ap_PC5QoSFlowList_item; /* PC5QoSFlowItem */
1315 static int hf_s1ap_pQI; /* FiveQI */
1316 static int hf_s1ap_pc5FlowBitRates; /* PC5FlowBitRates */
1317 static int hf_s1ap_range; /* Range */
1318 static int hf_s1ap_guaranteedFlowBitRate; /* BitRate */
1319 static int hf_s1ap_maximumFlowBitRate; /* BitRate */
1320 static int hf_s1ap_reportInterval; /* ReportIntervalMDT */
1321 static int hf_s1ap_reportAmount; /* ReportAmountMDT */
1322 static int hf_s1ap_plmnListforQMC; /* PLMNListforQMC */
1323 static int hf_s1ap_PLMNListforQMC_item; /* PLMNidentity */
1324 static int hf_s1ap_proSeDirectDiscovery; /* ProSeDirectDiscovery */
1325 static int hf_s1ap_proSeDirectCommunication; /* ProSeDirectCommunication */
1326 static int hf_s1ap_nCGI; /* NR_CGI */
1327 static int hf_s1ap_recommendedCellList; /* RecommendedCellList */
1328 static int hf_s1ap_RecommendedCellList_item; /* ProtocolIE_SingleContainer */
1329 static int hf_s1ap_eUTRAN_CGI; /* EUTRAN_CGI */
1330 static int hf_s1ap_timeStayedInCell; /* INTEGER_0_4095 */
1331 static int hf_s1ap_recommendedENBList; /* RecommendedENBList */
1332 static int hf_s1ap_RecommendedENBList_item; /* ProtocolIE_SingleContainer */
1333 static int hf_s1ap_mMEPagingTarget; /* MMEPagingTarget */
1334 static int hf_s1ap_RAT_Restrictions_item; /* RAT_RestrictionsItem */
1335 static int hf_s1ap_rAT_RestrictionInformation; /* T_rAT_RestrictionInformation */
1336 static int hf_s1ap_eventType; /* EventType */
1337 static int hf_s1ap_reportArea; /* ReportArea */
1338 static int hf_s1ap_rIMInformation; /* RIMInformation */
1339 static int hf_s1ap_rIMRoutingAddress; /* RIMRoutingAddress */
1340 static int hf_s1ap_gERAN_Cell_ID; /* GERAN_Cell_ID */
1341 static int hf_s1ap_targetRNC_ID; /* TargetRNC_ID */
1342 static int hf_s1ap_eHRPD_Sector_ID; /* OCTET_STRING_SIZE_16 */
1343 static int hf_s1ap_uE_RLF_Report_Container; /* UE_RLF_Report_Container */
1344 static int hf_s1ap_uE_RLF_Report_Container_for_extended_bands; /* UE_RLF_Report_Container_for_extended_bands */
1345 static int hf_s1ap_ECGIListForRestart_item; /* EUTRAN_CGI */
1346 static int hf_s1ap_nextHopChainingCount; /* INTEGER_0_7 */
1347 static int hf_s1ap_nextHopParameter; /* SecurityKey */
1348 static int hf_s1ap_SecondaryRATDataUsageReportList_item; /* ProtocolIE_SingleContainer */
1349 static int hf_s1ap_secondaryRATType; /* SecondaryRATType */
1350 static int hf_s1ap_e_RABUsageReportList; /* E_RABUsageReportList */
1351 static int hf_s1ap_integrityProtectionIndication; /* IntegrityProtectionIndication */
1352 static int hf_s1ap_integrityProtectionResult; /* IntegrityProtectionResult */
1353 static int hf_s1ap_sensorNameConfig; /* SensorNameConfig */
1354 static int hf_s1ap_SensorMeasConfigNameList_item; /* SensorMeasConfigNameItem */
1355 static int hf_s1ap_sensorMeasConfig; /* SensorMeasConfig */
1356 static int hf_s1ap_sensorMeasConfigNameList; /* SensorMeasConfigNameList */
1357 static int hf_s1ap_uncompensatedBarometricConfig; /* T_uncompensatedBarometricConfig */
1358 static int hf_s1ap_sONInformationRequest; /* SONInformationRequest */
1359 static int hf_s1ap_sONInformationReply; /* SONInformationReply */
1360 static int hf_s1ap_sONInformation_Extension; /* SONInformation_Extension */
1361 static int hf_s1ap_x2TNLConfigurationInfo; /* X2TNLConfigurationInfo */
1362 static int hf_s1ap_rLFReportInformation; /* RLFReportInformation */
1363 static int hf_s1ap_targeteNB_ID; /* TargeteNB_ID */
1364 static int hf_s1ap_sourceeNB_ID; /* SourceeNB_ID */
1365 static int hf_s1ap_sourceStratumLevel; /* StratumLevel */
1366 static int hf_s1ap_listeningSubframePattern; /* ListeningSubframePattern */
1367 static int hf_s1ap_aggressoreCGI_List; /* ECGI_List */
1368 static int hf_s1ap_selected_TAI; /* TAI */
1369 static int hf_s1ap_sourceNgRanNode_ID; /* SourceNgRanNode_ID */
1370 static int hf_s1ap_sourceNodeID_Extension; /* SourceNodeID_Extension */
1371 static int hf_s1ap_rRC_Container; /* RRC_Container */
1372 static int hf_s1ap_e_RABInformationList; /* E_RABInformationList */
1373 static int hf_s1ap_targetCell_ID; /* EUTRAN_CGI */
1374 static int hf_s1ap_subscriberProfileIDforRFP; /* SubscriberProfileIDforRFP */
1375 static int hf_s1ap_uE_HistoryInformation; /* UE_HistoryInformation */
1376 static int hf_s1ap_global_RAN_NODE_ID; /* Global_RAN_NODE_ID */
1377 static int hf_s1ap_selected_TAI_01; /* FiveGSTAI */
1378 static int hf_s1ap_ServedGUMMEIs_item; /* ServedGUMMEIsItem */
1379 static int hf_s1ap_servedPLMNs; /* ServedPLMNs */
1380 static int hf_s1ap_servedGroupIDs; /* ServedGroupIDs */
1381 static int hf_s1ap_servedMMECs; /* ServedMMECs */
1382 static int hf_s1ap_ServedGroupIDs_item; /* MME_Group_ID */
1383 static int hf_s1ap_ServedMMECs_item; /* MME_Code */
1384 static int hf_s1ap_ServedPLMNs_item; /* PLMNidentity */
1385 static int hf_s1ap_periodicCommunicationIndicator; /* T_periodicCommunicationIndicator */
1386 static int hf_s1ap_periodicTime; /* INTEGER_1_3600_ */
1387 static int hf_s1ap_scheduledCommunicationTime; /* ScheduledCommunicationTime */
1388 static int hf_s1ap_stationaryIndication; /* T_stationaryIndication */
1389 static int hf_s1ap_trafficProfile; /* T_trafficProfile */
1390 static int hf_s1ap_batteryIndication; /* T_batteryIndication */
1391 static int hf_s1ap_dayofWeek; /* BIT_STRING_SIZE_7 */
1392 static int hf_s1ap_timeofDayStart; /* INTEGER_0_86399_ */
1393 static int hf_s1ap_timeofDayEnd; /* INTEGER_0_86399_ */
1394 static int hf_s1ap_SupportedTAs_item; /* SupportedTAs_Item */
1395 static int hf_s1ap_tAC; /* TAC */
1396 static int hf_s1ap_broadcastPLMNs; /* BPLMNs */
1397 static int hf_s1ap_stratumLevel; /* StratumLevel */
1398 static int hf_s1ap_synchronisationStatus; /* SynchronisationStatus */
1399 static int hf_s1ap_mMEC; /* MME_Code */
1400 static int hf_s1ap_TACList_In_LTE_NTN_item; /* TAC */
1401 static int hf_s1ap_tAIListforMDT; /* TAIListforMDT */
1402 static int hf_s1ap_TAIListforMDT_item; /* TAI */
1403 static int hf_s1ap_TAIListforWarning_item; /* TAI */
1404 static int hf_s1ap_TAI_Broadcast_item; /* TAI_Broadcast_Item */
1405 static int hf_s1ap_completedCellinTAI; /* CompletedCellinTAI */
1406 static int hf_s1ap_TAI_Cancelled_item; /* TAI_Cancelled_Item */
1407 static int hf_s1ap_cancelledCellinTAI; /* CancelledCellinTAI */
1408 static int hf_s1ap_tAListforMDT; /* TAListforMDT */
1409 static int hf_s1ap_TAListforMDT_item; /* TAC */
1410 static int hf_s1ap_tAListforQMC; /* TAListforQMC */
1411 static int hf_s1ap_TAListforQMC_item; /* TAC */
1412 static int hf_s1ap_tAIListforQMC; /* TAIListforQMC */
1413 static int hf_s1ap_TAIListforQMC_item; /* TAI */
1414 static int hf_s1ap_CompletedCellinTAI_item; /* CompletedCellinTAI_Item */
1415 static int hf_s1ap_cGI; /* CGI */
1416 static int hf_s1ap_targetgNgRanNode_ID; /* TargetNgRanNode_ID */
1417 static int hf_s1ap_rNC_ID; /* RNC_ID */
1418 static int hf_s1ap_extendedRNC_ID; /* ExtendedRNC_ID */
1419 static int hf_s1ap_gNB; /* GNB */
1420 static int hf_s1ap_ng_eNB; /* NG_eNB */
1421 static int hf_s1ap_global_gNB_ID; /* Global_GNB_ID */
1422 static int hf_s1ap_gNB_ID; /* GNB_Identity */
1423 static int hf_s1ap_gNB_ID_01; /* GNB_ID */
1424 static int hf_s1ap_global_ng_eNB_ID; /* Global_ENB_ID */
1425 static int hf_s1ap_measurementThreshold; /* MeasurementThresholdA2 */
1426 static int hf_s1ap_hOWindowStart; /* HandoverWindowStart */
1427 static int hf_s1ap_hOWindowDuration; /* HandoverWindowDuration */
1428 static int hf_s1ap_transportLayerAddress; /* TransportLayerAddress */
1429 static int hf_s1ap_uL_GTP_TEID; /* GTP_TEID */
1430 static int hf_s1ap_e_UTRAN_Trace_ID; /* E_UTRAN_Trace_ID */
1431 static int hf_s1ap_interfacesToTrace; /* InterfacesToTrace */
1432 static int hf_s1ap_traceDepth; /* TraceDepth */
1433 static int hf_s1ap_traceCollectionEntityIPAddress; /* TransportLayerAddress */
1434 static int hf_s1ap_uDP_Port_Number; /* Port_Number */
1435 static int hf_s1ap_TAIListForRestart_item; /* TAI */
1436 static int hf_s1ap_uEaggregateMaximumBitRateDL; /* BitRate */
1437 static int hf_s1ap_uEaggregateMaximumBitRateUL; /* BitRate */
1438 static int hf_s1ap_containerForAppLayerMeasConfig; /* OCTET_STRING_SIZE_1_1000 */
1439 static int hf_s1ap_areaScopeOfQMC; /* AreaScopeOfQMC */
1440 static int hf_s1ap_uE_S1AP_ID_pair; /* UE_S1AP_ID_pair */
1441 static int hf_s1ap_mME_UE_S1AP_ID; /* MME_UE_S1AP_ID */
1442 static int hf_s1ap_eNB_UE_S1AP_ID; /* ENB_UE_S1AP_ID */
1443 static int hf_s1ap_UE_HistoryInformation_item; /* LastVisitedCell_Item */
1444 static int hf_s1ap_s_TMSI; /* S_TMSI */
1445 static int hf_s1ap_iMSI; /* IMSI */
1446 static int hf_s1ap_encryptionAlgorithms; /* EncryptionAlgorithms */
1447 static int hf_s1ap_integrityProtectionAlgorithms; /* IntegrityProtectionAlgorithms */
1448 static int hf_s1ap_uESidelinkAggregateMaximumBitRate; /* BitRate */
1449 static int hf_s1ap_ul_NAS_MAC; /* UL_NAS_MAC */
1450 static int hf_s1ap_ul_NAS_Count; /* UL_NAS_Count */
1451 static int hf_s1ap_eutran_cgi; /* EUTRAN_CGI */
1452 static int hf_s1ap_tai; /* TAI */
1453 static int hf_s1ap_cellIDList; /* ECGIList */
1454 static int hf_s1ap_trackingAreaListforWarning; /* TAIListforWarning */
1455 static int hf_s1ap_emergencyAreaIDList; /* EmergencyAreaIDList */
1456 static int hf_s1ap_wlanMeasConfig; /* WLANMeasConfig */
1457 static int hf_s1ap_wlanMeasConfigNameList; /* WLANMeasConfigNameList */
1458 static int hf_s1ap_wlan_rssi; /* T_wlan_rssi */
1459 static int hf_s1ap_wlan_rtt; /* T_wlan_rtt */
1460 static int hf_s1ap_WLANMeasConfigNameList_item; /* WLANName */
1461 static int hf_s1ap_pagingProbabilityInformation; /* PagingProbabilityInformation */
1462 static int hf_s1ap_eNBX2TransportLayerAddresses; /* ENBX2TLAs */
1463 static int hf_s1ap_ENBX2ExtTLAs_item; /* ENBX2ExtTLA */
1464 static int hf_s1ap_iPsecTLA; /* TransportLayerAddress */
1465 static int hf_s1ap_gTPTLAa; /* ENBX2GTPTLAs */
1466 static int hf_s1ap_ENBX2GTPTLAs_item; /* TransportLayerAddress */
1467 static int hf_s1ap_ENBIndirectX2TransportLayerAddresses_item; /* TransportLayerAddress */
1468 static int hf_s1ap_protocolIEs; /* ProtocolIE_Container */
1469 static int hf_s1ap_dL_transportLayerAddress; /* TransportLayerAddress */
1470 static int hf_s1ap_dL_gTP_TEID; /* GTP_TEID */
1471 static int hf_s1ap_uL_TransportLayerAddress; /* TransportLayerAddress */
1472 static int hf_s1ap_gTP_TEID; /* GTP_TEID */
1473 static int hf_s1ap_e_RABlevelQosParameters; /* E_RABLevelQoSParameters */
1474 static int hf_s1ap_securityIndication; /* SecurityIndication */
1475 static int hf_s1ap_E_RABToBeSetupListBearerSUReq_item; /* ProtocolIE_SingleContainer */
1476 static int hf_s1ap_e_RABlevelQoSParameters; /* E_RABLevelQoSParameters */
1477 static int hf_s1ap_nAS_PDU; /* NAS_PDU */
1478 static int hf_s1ap_E_RABSetupListBearerSURes_item; /* ProtocolIE_SingleContainer */
1479 static int hf_s1ap_E_RABToBeModifiedListBearerModReq_item; /* ProtocolIE_SingleContainer */
1480 static int hf_s1ap_e_RABLevelQoSParameters; /* E_RABLevelQoSParameters */
1481 static int hf_s1ap_E_RABModifyListBearerModRes_item; /* ProtocolIE_SingleContainer */
1482 static int hf_s1ap_E_RABReleaseListBearerRelComp_item; /* ProtocolIE_SingleContainer */
1483 static int hf_s1ap_E_RABToBeSetupListCtxtSUReq_item; /* ProtocolIE_SingleContainer */
1484 static int hf_s1ap_E_RABSetupListCtxtSURes_item; /* ProtocolIE_SingleContainer */
1485 static int hf_s1ap_TAIList_item; /* ProtocolIE_SingleContainer */
1486 static int hf_s1ap_s1_Interface; /* ResetAll */
1487 static int hf_s1ap_partOfS1_Interface; /* UE_associatedLogicalS1_ConnectionListRes */
1488 static int hf_s1ap_UE_associatedLogicalS1_ConnectionListRes_item; /* ProtocolIE_SingleContainer */
1489 static int hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_item; /* ProtocolIE_SingleContainer */
1490 static int hf_s1ap_rIMTransfer; /* RIMTransfer */
1491 static int hf_s1ap_privateIEs; /* PrivateIE_Container */
1492 static int hf_s1ap_dL_GTP_TEID; /* GTP_TEID */
1493 static int hf_s1ap_cSGMembershipStatus; /* CSGMembershipStatus */
1494 static int hf_s1ap_cellAccessMode; /* CellAccessMode */
1495 static int hf_s1ap_E_RABModifyListBearerModConf_item; /* ProtocolIE_SingleContainer */
1496 static int hf_s1ap_initiatingMessage; /* InitiatingMessage */
1497 static int hf_s1ap_successfulOutcome; /* SuccessfulOutcome */
1498 static int hf_s1ap_unsuccessfulOutcome; /* UnsuccessfulOutcome */
1499 static int hf_s1ap_initiatingMessagevalue; /* InitiatingMessage_value */
1500 static int hf_s1ap_successfulOutcome_value; /* SuccessfulOutcome_value */
1501 static int hf_s1ap_unsuccessfulOutcome_value; /* UnsuccessfulOutcome_value */
1502 static int hf_s1ap_cellLoadReporting; /* NULL */
1503 static int hf_s1ap_multiCellLoadReporting; /* MultiCellLoadReportingRequest */
1504 static int hf_s1ap_eventTriggeredCellLoadReporting; /* EventTriggeredCellLoadReportingRequest */
1505 static int hf_s1ap_hOReporting; /* HOReport */
1506 static int hf_s1ap_eutranCellActivation; /* CellActivationRequest */
1507 static int hf_s1ap_energySavingsIndication; /* CellStateIndication */
1508 static int hf_s1ap_failureEventReporting; /* FailureEventReport */
1509 static int hf_s1ap_cellLoadReporting_01; /* CellLoadReportingResponse */
1510 static int hf_s1ap_multiCellLoadReporting_01; /* MultiCellLoadReportingResponse */
1511 static int hf_s1ap_eventTriggeredCellLoadReporting_01; /* EventTriggeredCellLoadReportingResponse */
1512 static int hf_s1ap_hOReporting_01; /* NULL */
1513 static int hf_s1ap_eutranCellActivation_01; /* CellActivationResponse */
1514 static int hf_s1ap_energySavingsIndication_01; /* NULL */
1515 static int hf_s1ap_failureEventReporting_01; /* NULL */
1516 static int hf_s1ap_cellLoadReporting_02; /* CellLoadReportingCause */
1517 static int hf_s1ap_multiCellLoadReporting_02; /* CellLoadReportingCause */
1518 static int hf_s1ap_eventTriggeredCellLoadReporting_02; /* CellLoadReportingCause */
1519 static int hf_s1ap_hOReporting_02; /* HOReportingCause */
1520 static int hf_s1ap_eutranCellActivation_02; /* CellActivationCause */
1521 static int hf_s1ap_energySavingsIndication_02; /* CellStateIndicationCause */
1522 static int hf_s1ap_failureEventReporting_02; /* FailureEventReportingCause */
1523 static int hf_s1ap_eUTRAN; /* EUTRANcellLoadReportingResponse */
1524 static int hf_s1ap_uTRAN; /* OCTET_STRING */
1525 static int hf_s1ap_gERAN; /* OCTET_STRING */
1526 static int hf_s1ap_eHRPD; /* EHRPDSectorLoadReportingResponse */
1527 static int hf_s1ap_compositeAvailableCapacityGroup; /* CompositeAvailableCapacityGroup */
1528 static int hf_s1ap_cell_ID_01; /* OCTET_STRING */
1529 static int hf_s1ap_eUTRANcellLoadReportingResponse; /* EUTRANcellLoadReportingResponse */
1530 static int hf_s1ap_eUTRAN_01; /* OCTET_STRING */
1531 static int hf_s1ap_eHRPD_01; /* EHRPD_Sector_ID */
1532 static int hf_s1ap_RequestedCellList_item; /* IRAT_Cell_ID */
1533 static int hf_s1ap_requestedCellList; /* RequestedCellList */
1534 static int hf_s1ap_cell_ID_02; /* IRAT_Cell_ID */
1535 static int hf_s1ap_ReportingCellList_item; /* ReportingCellList_Item */
1536 static int hf_s1ap_MultiCellLoadReportingResponse_item; /* MultiCellLoadReportingResponse_Item */
1537 static int hf_s1ap_eUTRANResponse; /* EUTRANResponse */
1538 static int hf_s1ap_uTRANResponse; /* OCTET_STRING */
1539 static int hf_s1ap_gERANResponse; /* OCTET_STRING */
1540 static int hf_s1ap_eHRPD_02; /* EHRPDMultiSectorLoadReportingResponseItem */
1541 static int hf_s1ap_numberOfMeasurementReportingLevels; /* NumberOfMeasurementReportingLevels */
1542 static int hf_s1ap_cellLoadReportingResponse; /* CellLoadReportingResponse */
1543 static int hf_s1ap_overloadFlag; /* OverloadFlag */
1544 static int hf_s1ap_hoType; /* HoType */
1545 static int hf_s1ap_hoReportType; /* HoReportType */
1546 static int hf_s1ap_hosourceID; /* IRAT_Cell_ID */
1547 static int hf_s1ap_hoTargetID; /* IRAT_Cell_ID */
1548 static int hf_s1ap_candidateCellList; /* CandidateCellList */
1549 static int hf_s1ap_candidatePCIList; /* CandidatePCIList */
1550 static int hf_s1ap_CandidateCellList_item; /* IRAT_Cell_ID */
1551 static int hf_s1ap_CandidatePCIList_item; /* CandidatePCI */
1552 static int hf_s1ap_pCI; /* INTEGER_0_503 */
1553 static int hf_s1ap_eARFCN; /* OCTET_STRING */
1554 static int hf_s1ap_cellsToActivateList; /* CellsToActivateList */
1555 static int hf_s1ap_minimumActivationTime; /* INTEGER_1_60 */
1556 static int hf_s1ap_CellsToActivateList_item; /* CellsToActivateList_Item */
1557 static int hf_s1ap_activatedCellsList; /* ActivatedCellsList */
1558 static int hf_s1ap_ActivatedCellsList_item; /* ActivatedCellsList_Item */
1559 static int hf_s1ap_notificationCellList; /* NotificationCellList */
1560 static int hf_s1ap_NotificationCellList_item; /* NotificationCellList_Item */
1561 static int hf_s1ap_notifyFlag; /* NotifyFlag */
1562 static int hf_s1ap_tooEarlyInterRATHOReportFromEUTRAN; /* TooEarlyInterRATHOReportReportFromEUTRAN */
1563 static int hf_s1ap_uERLFReportContainer; /* T_uERLFReportContainer */
1564 static int hf_s1ap_mobilityInformation; /* MobilityInformation */
1565 static int hf_s1ap_dL_EHRPD_CompositeAvailableCapacity; /* EHRPDCompositeAvailableCapacity */
1566 static int hf_s1ap_uL_EHRPD_CompositeAvailableCapacity; /* EHRPDCompositeAvailableCapacity */
1567 static int hf_s1ap_eHRPDSectorCapacityClassValue; /* EHRPDSectorCapacityClassValue */
1568 static int hf_s1ap_eHRPDCapacityValue; /* EHRPDCapacityValue */
1569 static int hf_s1ap_eHRPD_Sector_ID_01; /* EHRPD_Sector_ID */
1570 static int hf_s1ap_eHRPDSectorLoadReportingResponse; /* EHRPDSectorLoadReportingResponse */
1572 /* Initialize the subtree pointers */
1573 static int ett_s1ap;
1574 static int ett_s1ap_TransportLayerAddress;
1575 static int ett_s1ap_ToTargetTransparentContainer;
1576 static int ett_s1ap_ToSourceTransparentContainer;
1577 static int ett_s1ap_RRCContainer;
1578 static int ett_s1ap_UERadioCapability;
1579 static int ett_s1ap_RIMInformation;
1580 static int ett_s1ap_Cdma2000PDU;
1581 static int ett_s1ap_Cdma2000SectorID;
1582 static int ett_s1ap_UERadioPagingInformation;
1583 static int ett_s1ap_UE_HistoryInformationFromTheUE;
1584 static int ett_s1ap_CELevel;
1585 static int ett_s1ap_UE_RLF_Report_Container;
1586 static int ett_s1ap_UE_RLF_Report_Container_for_extended_bands;
1587 static int ett_s1ap_S1_Message;
1588 static int ett_s1ap_E_UTRAN_Trace_ID;
1589 static int ett_s1ap_InterfacesToTrace;
1590 static int ett_s1ap_EncryptionAlgorithms;
1591 static int ett_s1ap_IntegrityProtectionAlgorithms;
1592 static int ett_s1ap_LastVisitedNGRANCellInformation;
1593 static int ett_s1ap_LastVisitedUTRANCellInformation;
1594 static int ett_s1ap_SerialNumber;
1595 static int ett_s1ap_WarningType;
1596 static int ett_s1ap_DataCodingScheme;
1597 static int ett_s1ap_WarningMessageContents;
1598 static int ett_s1ap_MSClassmark;
1599 static int ett_s1ap_MeasurementsToActivate;
1600 static int ett_s1ap_MDT_Location_Info;
1601 static int ett_s1ap_IMSI;
1602 static int ett_s1ap_NASSecurityParameters;
1603 static int ett_s1ap_NRencryptionAlgorithms;
1604 static int ett_s1ap_NRintegrityProtectionAlgorithms;
1605 static int ett_s1ap_UE_Application_Layer_Measurement_Capability;
1606 static int ett_s1ap_sMTC;
1607 static int ett_s1ap_threshRS_Index_r15;
1608 static int ett_s1ap_sSBToMeasure;
1609 static int ett_s1ap_sSRSSIMeasurement;
1610 static int ett_s1ap_quantityConfigNR_R15;
1611 static int ett_s1ap_excludedCellsToAddModList;
1612 static int ett_s1ap_NB_IoT_RLF_Report_Container;
1613 static int ett_s1ap_MDT_ConfigurationNR;
1614 static int ett_s1ap_IntersystemSONConfigurationTransfer;
1615 static int ett_s1ap_rAT_RestrictionInformation;
1616 static int ett_s1ap_PrivateIE_ID;
1617 static int ett_s1ap_ProtocolIE_Container;
1618 static int ett_s1ap_ProtocolIE_Field;
1619 static int ett_s1ap_ProtocolIE_ContainerList;
1620 static int ett_s1ap_ProtocolExtensionContainer;
1621 static int ett_s1ap_ProtocolExtensionField;
1622 static int ett_s1ap_PrivateIE_Container;
1623 static int ett_s1ap_PrivateIE_Field;
1624 static int ett_s1ap_Additional_GUTI;
1625 static int ett_s1ap_AreaScopeOfMDT;
1626 static int ett_s1ap_AreaScopeOfQMC;
1627 static int ett_s1ap_AllocationAndRetentionPriority;
1628 static int ett_s1ap_AssistanceDataForCECapableUEs;
1629 static int ett_s1ap_AssistanceDataForPaging;
1630 static int ett_s1ap_AssistanceDataForRecommendedCells;
1631 static int ett_s1ap_Bearers_SubjectToStatusTransferList;
1632 static int ett_s1ap_Bearers_SubjectToStatusTransfer_Item;
1633 static int ett_s1ap_Bearers_SubjectToEarlyStatusTransferList;
1634 static int ett_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item;
1635 static int ett_s1ap_Bearers_SubjectToDLDiscardingList;
1636 static int ett_s1ap_Bearers_SubjectToDLDiscarding_Item;
1637 static int ett_s1ap_BluetoothMeasurementConfiguration;
1638 static int ett_s1ap_BluetoothMeasConfigNameList;
1639 static int ett_s1ap_BPLMNs;
1640 static int ett_s1ap_BroadcastCancelledAreaList;
1641 static int ett_s1ap_BroadcastCompletedAreaList;
1642 static int ett_s1ap_CancelledCellinEAI;
1643 static int ett_s1ap_CancelledCellinEAI_Item;
1644 static int ett_s1ap_CancelledCellinTAI;
1645 static int ett_s1ap_CancelledCellinTAI_Item;
1646 static int ett_s1ap_Cause;
1647 static int ett_s1ap_CellIdentifierAndCELevelForCECapableUEs;
1648 static int ett_s1ap_CellID_Broadcast;
1649 static int ett_s1ap_CellID_Broadcast_Item;
1650 static int ett_s1ap_CellID_Cancelled;
1651 static int ett_s1ap_CellID_Cancelled_Item;
1652 static int ett_s1ap_CellBasedMDT;
1653 static int ett_s1ap_CellIdListforMDT;
1654 static int ett_s1ap_CellBasedQMC;
1655 static int ett_s1ap_CellIdListforQMC;
1656 static int ett_s1ap_Cdma2000OneXSRVCCInfo;
1657 static int ett_s1ap_CellType;
1658 static int ett_s1ap_CGI;
1659 static int ett_s1ap_CNTypeRestrictions;
1660 static int ett_s1ap_CNTypeRestrictions_Item;
1661 static int ett_s1ap_ConnectedengNBList;
1662 static int ett_s1ap_ConnectedengNBItem;
1663 static int ett_s1ap_ContextatSource;
1664 static int ett_s1ap_CSG_IdList;
1665 static int ett_s1ap_CSG_IdList_Item;
1666 static int ett_s1ap_COUNTvalue;
1667 static int ett_s1ap_COUNTValueExtended;
1668 static int ett_s1ap_COUNTvaluePDCP_SNlength18;
1669 static int ett_s1ap_CriticalityDiagnostics;
1670 static int ett_s1ap_CriticalityDiagnostics_IE_List;
1671 static int ett_s1ap_CriticalityDiagnostics_IE_Item;
1672 static int ett_s1ap_DAPSRequestInfo;
1673 static int ett_s1ap_DAPSResponseInfoList;
1674 static int ett_s1ap_DAPSResponseInfoItem;
1675 static int ett_s1ap_DAPSResponseInfo;
1676 static int ett_s1ap_ServedDCNs;
1677 static int ett_s1ap_ServedDCNsItem;
1678 static int ett_s1ap_DL_CP_SecurityInformation;
1679 static int ett_s1ap_DLCOUNT_PDCP_SNlength;
1680 static int ett_s1ap_DLDiscarding;
1681 static int ett_s1ap_ECGIList;
1682 static int ett_s1ap_PWSfailedECGIList;
1683 static int ett_s1ap_EmergencyAreaIDList;
1684 static int ett_s1ap_EmergencyAreaID_Broadcast;
1685 static int ett_s1ap_EmergencyAreaID_Broadcast_Item;
1686 static int ett_s1ap_EmergencyAreaID_Cancelled;
1687 static int ett_s1ap_EmergencyAreaID_Cancelled_Item;
1688 static int ett_s1ap_CompletedCellinEAI;
1689 static int ett_s1ap_CompletedCellinEAI_Item;
1690 static int ett_s1ap_ECGI_List;
1691 static int ett_s1ap_EmergencyAreaIDListForRestart;
1692 static int ett_s1ap_ENB_EarlyStatusTransfer_TransparentContainer;
1693 static int ett_s1ap_ENB_ID;
1694 static int ett_s1ap_GERAN_Cell_ID;
1695 static int ett_s1ap_Global_ENB_ID;
1696 static int ett_s1ap_Global_en_gNB_ID;
1697 static int ett_s1ap_GUMMEIList;
1698 static int ett_s1ap_ENB_StatusTransfer_TransparentContainer;
1699 static int ett_s1ap_ENBX2TLAs;
1700 static int ett_s1ap_EN_DCSONConfigurationTransfer;
1701 static int ett_s1ap_EN_DCSONTransferType;
1702 static int ett_s1ap_EN_DCTransferTypeRequest;
1703 static int ett_s1ap_EN_DCTransferTypeReply;
1704 static int ett_s1ap_EN_DCSONeNBIdentification;
1705 static int ett_s1ap_EN_DCSONengNBIdentification;
1706 static int ett_s1ap_EPLMNs;
1707 static int ett_s1ap_E_RABInformationList;
1708 static int ett_s1ap_E_RABInformationListItem;
1709 static int ett_s1ap_E_RABList;
1710 static int ett_s1ap_E_RABItem;
1711 static int ett_s1ap_E_RABLevelQoSParameters;
1712 static int ett_s1ap_E_RABSecurityResultList;
1713 static int ett_s1ap_E_RABSecurityResultItem;
1714 static int ett_s1ap_E_RABUsageReportList;
1715 static int ett_s1ap_E_RABUsageReportItem;
1716 static int ett_s1ap_EUTRAN_CGI;
1717 static int ett_s1ap_EventL1LoggedMDTConfig;
1718 static int ett_s1ap_EventTrigger;
1719 static int ett_s1ap_ExpectedUEBehaviour;
1720 static int ett_s1ap_ExpectedUEActivityBehaviour;
1721 static int ett_s1ap_FiveGSTAI;
1722 static int ett_s1ap_ForbiddenTAs;
1723 static int ett_s1ap_ForbiddenTAs_Item;
1724 static int ett_s1ap_ForbiddenTACs;
1725 static int ett_s1ap_ForbiddenLAs;
1726 static int ett_s1ap_ForbiddenLAs_Item;
1727 static int ett_s1ap_ForbiddenLACs;
1728 static int ett_s1ap_GBR_QosInformation;
1729 static int ett_s1ap_GUMMEI;
1730 static int ett_s1ap_HandoverRestrictionList;
1731 static int ett_s1ap_ImmediateMDT;
1732 static int ett_s1ap_InformationOnRecommendedCellsAndENBsForPaging;
1733 static int ett_s1ap_IntersystemMeasurementConfiguration;
1734 static int ett_s1ap_InterSystemMeasurementParameters;
1735 static int ett_s1ap_InterSystemMeasurementList;
1736 static int ett_s1ap_InterSystemMeasurementItem;
1737 static int ett_s1ap_LAI;
1738 static int ett_s1ap_LastVisitedCell_Item;
1739 static int ett_s1ap_LastVisitedEUTRANCellInformation;
1740 static int ett_s1ap_LastVisitedPSCellList;
1741 static int ett_s1ap_LastVisitedPSCellInformation;
1742 static int ett_s1ap_LastVisitedGERANCellInformation;
1743 static int ett_s1ap_ListeningSubframePattern;
1744 static int ett_s1ap_LoggedMDT;
1745 static int ett_s1ap_LoggedMBSFNMDT;
1746 static int ett_s1ap_LoggedMDTTrigger;
1747 static int ett_s1ap_LTE_NTN_TAI_Information;
1748 static int ett_s1ap_M3Configuration;
1749 static int ett_s1ap_M4Configuration;
1750 static int ett_s1ap_M5Configuration;
1751 static int ett_s1ap_M6Configuration;
1752 static int ett_s1ap_M7Configuration;
1753 static int ett_s1ap_MDT_Configuration;
1754 static int ett_s1ap_MBSFN_ResultToLog;
1755 static int ett_s1ap_MBSFN_ResultToLogInfo;
1756 static int ett_s1ap_MDTPLMNList;
1757 static int ett_s1ap_MDTMode;
1758 static int ett_s1ap_MeasurementThresholdA2;
1759 static int ett_s1ap_MeasurementThresholdL1LoggedMDT;
1760 static int ett_s1ap_MMEPagingTarget;
1761 static int ett_s1ap_MutingPatternInformation;
1762 static int ett_s1ap_NB_IoT_Paging_eDRXInformation;
1763 static int ett_s1ap_NR_CGI;
1764 static int ett_s1ap_NRUESecurityCapabilities;
1765 static int ett_s1ap_NRV2XServicesAuthorized;
1766 static int ett_s1ap_NRUESidelinkAggregateMaximumBitrate;
1767 static int ett_s1ap_OverloadResponse;
1768 static int ett_s1ap_PagingAttemptInformation;
1769 static int ett_s1ap_Paging_eDRXInformation;
1770 static int ett_s1ap_PC5QoSParameters;
1771 static int ett_s1ap_PC5QoSFlowList;
1772 static int ett_s1ap_PC5QoSFlowItem;
1773 static int ett_s1ap_PC5FlowBitRates;
1774 static int ett_s1ap_M1PeriodicReporting;
1775 static int ett_s1ap_PLMNAreaBasedQMC;
1776 static int ett_s1ap_PLMNListforQMC;
1777 static int ett_s1ap_ProSeAuthorized;
1778 static int ett_s1ap_PSCellInformation;
1779 static int ett_s1ap_RecommendedCellsForPaging;
1780 static int ett_s1ap_RecommendedCellList;
1781 static int ett_s1ap_RecommendedCellItem;
1782 static int ett_s1ap_RecommendedENBsForPaging;
1783 static int ett_s1ap_RecommendedENBList;
1784 static int ett_s1ap_RecommendedENBItem;
1785 static int ett_s1ap_RAT_Restrictions;
1786 static int ett_s1ap_RAT_RestrictionsItem;
1787 static int ett_s1ap_RequestType;
1788 static int ett_s1ap_RIMTransfer;
1789 static int ett_s1ap_RIMRoutingAddress;
1790 static int ett_s1ap_RLFReportInformation;
1791 static int ett_s1ap_ECGIListForRestart;
1792 static int ett_s1ap_SecurityContext;
1793 static int ett_s1ap_SecondaryRATDataUsageReportList;
1794 static int ett_s1ap_SecondaryRATDataUsageReportItem;
1795 static int ett_s1ap_SecurityIndication;
1796 static int ett_s1ap_SecurityResult;
1797 static int ett_s1ap_SensorMeasConfigNameItem;
1798 static int ett_s1ap_SensorMeasConfigNameList;
1799 static int ett_s1ap_SensorMeasurementConfiguration;
1800 static int ett_s1ap_SensorNameConfig;
1801 static int ett_s1ap_SONInformation;
1802 static int ett_s1ap_SONInformationReply;
1803 static int ett_s1ap_SONInformationReport;
1804 static int ett_s1ap_SONConfigurationTransfer;
1805 static int ett_s1ap_SynchronisationInformation;
1806 static int ett_s1ap_SourceeNB_ID;
1807 static int ett_s1ap_SourceNodeID;
1808 static int ett_s1ap_SourceeNB_ToTargeteNB_TransparentContainer;
1809 static int ett_s1ap_SourceNgRanNode_ID;
1810 static int ett_s1ap_ServedGUMMEIs;
1811 static int ett_s1ap_ServedGUMMEIsItem;
1812 static int ett_s1ap_ServedGroupIDs;
1813 static int ett_s1ap_ServedMMECs;
1814 static int ett_s1ap_ServedPLMNs;
1815 static int ett_s1ap_Subscription_Based_UE_DifferentiationInfo;
1816 static int ett_s1ap_ScheduledCommunicationTime;
1817 static int ett_s1ap_SupportedTAs;
1818 static int ett_s1ap_SupportedTAs_Item;
1819 static int ett_s1ap_TimeSynchronisationInfo;
1820 static int ett_s1ap_S_TMSI;
1821 static int ett_s1ap_TACList_In_LTE_NTN;
1822 static int ett_s1ap_TAIBasedMDT;
1823 static int ett_s1ap_TAIListforMDT;
1824 static int ett_s1ap_TAIListforWarning;
1825 static int ett_s1ap_TAI;
1826 static int ett_s1ap_TAI_Broadcast;
1827 static int ett_s1ap_TAI_Broadcast_Item;
1828 static int ett_s1ap_TAI_Cancelled;
1829 static int ett_s1ap_TAI_Cancelled_Item;
1830 static int ett_s1ap_TABasedMDT;
1831 static int ett_s1ap_TAListforMDT;
1832 static int ett_s1ap_TABasedQMC;
1833 static int ett_s1ap_TAListforQMC;
1834 static int ett_s1ap_TAIBasedQMC;
1835 static int ett_s1ap_TAIListforQMC;
1836 static int ett_s1ap_CompletedCellinTAI;
1837 static int ett_s1ap_CompletedCellinTAI_Item;
1838 static int ett_s1ap_TargetID;
1839 static int ett_s1ap_TargeteNB_ID;
1840 static int ett_s1ap_TargetRNC_ID;
1841 static int ett_s1ap_TargetNgRanNode_ID;
1842 static int ett_s1ap_Global_RAN_NODE_ID;
1843 static int ett_s1ap_GNB;
1844 static int ett_s1ap_Global_GNB_ID;
1845 static int ett_s1ap_GNB_Identity;
1846 static int ett_s1ap_NG_eNB;
1847 static int ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer;
1848 static int ett_s1ap_M1ThresholdEventA2;
1849 static int ett_s1ap_TimeBasedHandoverInformation;
1850 static int ett_s1ap_TransportInformation;
1851 static int ett_s1ap_TraceActivation;
1852 static int ett_s1ap_TunnelInformation;
1853 static int ett_s1ap_TAIListForRestart;
1854 static int ett_s1ap_UEAggregateMaximumBitrate;
1855 static int ett_s1ap_UEAppLayerMeasConfig;
1856 static int ett_s1ap_UE_S1AP_IDs;
1857 static int ett_s1ap_UE_S1AP_ID_pair;
1858 static int ett_s1ap_UE_associatedLogicalS1_ConnectionItem;
1859 static int ett_s1ap_UE_HistoryInformation;
1860 static int ett_s1ap_UEPagingID;
1861 static int ett_s1ap_UESecurityCapabilities;
1862 static int ett_s1ap_UESidelinkAggregateMaximumBitrate;
1863 static int ett_s1ap_UL_CP_SecurityInformation;
1864 static int ett_s1ap_UserLocationInformation;
1865 static int ett_s1ap_V2XServicesAuthorized;
1866 static int ett_s1ap_WarningAreaList;
1867 static int ett_s1ap_WLANMeasurementConfiguration;
1868 static int ett_s1ap_WLANMeasConfigNameList;
1869 static int ett_s1ap_WUS_Assistance_Information;
1870 static int ett_s1ap_X2TNLConfigurationInfo;
1871 static int ett_s1ap_ENBX2ExtTLAs;
1872 static int ett_s1ap_ENBX2ExtTLA;
1873 static int ett_s1ap_ENBX2GTPTLAs;
1874 static int ett_s1ap_ENBIndirectX2TransportLayerAddresses;
1875 static int ett_s1ap_HandoverRequired;
1876 static int ett_s1ap_HandoverCommand;
1877 static int ett_s1ap_E_RABDataForwardingItem;
1878 static int ett_s1ap_HandoverPreparationFailure;
1879 static int ett_s1ap_HandoverRequest;
1880 static int ett_s1ap_E_RABToBeSetupItemHOReq;
1881 static int ett_s1ap_HandoverRequestAcknowledge;
1882 static int ett_s1ap_E_RABAdmittedItem;
1883 static int ett_s1ap_E_RABFailedToSetupItemHOReqAck;
1884 static int ett_s1ap_HandoverFailure;
1885 static int ett_s1ap_HandoverNotify;
1886 static int ett_s1ap_PathSwitchRequest;
1887 static int ett_s1ap_E_RABToBeSwitchedDLItem;
1888 static int ett_s1ap_PathSwitchRequestAcknowledge;
1889 static int ett_s1ap_E_RABToBeSwitchedULItem;
1890 static int ett_s1ap_E_RABToBeUpdatedItem;
1891 static int ett_s1ap_PathSwitchRequestFailure;
1892 static int ett_s1ap_HandoverCancel;
1893 static int ett_s1ap_HandoverCancelAcknowledge;
1894 static int ett_s1ap_HandoverSuccess;
1895 static int ett_s1ap_ENBEarlyStatusTransfer;
1896 static int ett_s1ap_MMEEarlyStatusTransfer;
1897 static int ett_s1ap_E_RABSetupRequest;
1898 static int ett_s1ap_E_RABToBeSetupListBearerSUReq;
1899 static int ett_s1ap_E_RABToBeSetupItemBearerSUReq;
1900 static int ett_s1ap_E_RABSetupResponse;
1901 static int ett_s1ap_E_RABSetupListBearerSURes;
1902 static int ett_s1ap_E_RABSetupItemBearerSURes;
1903 static int ett_s1ap_E_RABModifyRequest;
1904 static int ett_s1ap_E_RABToBeModifiedListBearerModReq;
1905 static int ett_s1ap_E_RABToBeModifiedItemBearerModReq;
1906 static int ett_s1ap_E_RABModifyResponse;
1907 static int ett_s1ap_E_RABModifyListBearerModRes;
1908 static int ett_s1ap_E_RABModifyItemBearerModRes;
1909 static int ett_s1ap_E_RABReleaseCommand;
1910 static int ett_s1ap_E_RABReleaseResponse;
1911 static int ett_s1ap_E_RABReleaseListBearerRelComp;
1912 static int ett_s1ap_E_RABReleaseItemBearerRelComp;
1913 static int ett_s1ap_E_RABReleaseIndication;
1914 static int ett_s1ap_InitialContextSetupRequest;
1915 static int ett_s1ap_E_RABToBeSetupListCtxtSUReq;
1916 static int ett_s1ap_E_RABToBeSetupItemCtxtSUReq;
1917 static int ett_s1ap_InitialContextSetupResponse;
1918 static int ett_s1ap_E_RABSetupListCtxtSURes;
1919 static int ett_s1ap_E_RABSetupItemCtxtSURes;
1920 static int ett_s1ap_InitialContextSetupFailure;
1921 static int ett_s1ap_Paging;
1922 static int ett_s1ap_TAIList;
1923 static int ett_s1ap_TAIItem;
1924 static int ett_s1ap_UEContextReleaseRequest;
1925 static int ett_s1ap_UEContextReleaseCommand;
1926 static int ett_s1ap_UEContextReleaseComplete;
1927 static int ett_s1ap_UEContextModificationRequest;
1928 static int ett_s1ap_UEContextModificationResponse;
1929 static int ett_s1ap_UEContextModificationFailure;
1930 static int ett_s1ap_UERadioCapabilityMatchRequest;
1931 static int ett_s1ap_UERadioCapabilityMatchResponse;
1932 static int ett_s1ap_DownlinkNASTransport;
1933 static int ett_s1ap_InitialUEMessage;
1934 static int ett_s1ap_UplinkNASTransport;
1935 static int ett_s1ap_NASNonDeliveryIndication;
1936 static int ett_s1ap_RerouteNASRequest;
1937 static int ett_s1ap_NASDeliveryIndication;
1938 static int ett_s1ap_Reset;
1939 static int ett_s1ap_ResetType;
1940 static int ett_s1ap_UE_associatedLogicalS1_ConnectionListRes;
1941 static int ett_s1ap_ResetAcknowledge;
1942 static int ett_s1ap_UE_associatedLogicalS1_ConnectionListResAck;
1943 static int ett_s1ap_ErrorIndication;
1944 static int ett_s1ap_S1SetupRequest;
1945 static int ett_s1ap_S1SetupResponse;
1946 static int ett_s1ap_S1SetupFailure;
1947 static int ett_s1ap_ENBConfigurationUpdate;
1948 static int ett_s1ap_ENBConfigurationUpdateAcknowledge;
1949 static int ett_s1ap_ENBConfigurationUpdateFailure;
1950 static int ett_s1ap_MMEConfigurationUpdate;
1951 static int ett_s1ap_MMEConfigurationUpdateAcknowledge;
1952 static int ett_s1ap_MMEConfigurationUpdateFailure;
1953 static int ett_s1ap_DownlinkS1cdma2000tunnelling;
1954 static int ett_s1ap_UplinkS1cdma2000tunnelling;
1955 static int ett_s1ap_UECapabilityInfoIndication;
1956 static int ett_s1ap_ENBStatusTransfer;
1957 static int ett_s1ap_MMEStatusTransfer;
1958 static int ett_s1ap_TraceStart;
1959 static int ett_s1ap_TraceFailureIndication;
1960 static int ett_s1ap_DeactivateTrace;
1961 static int ett_s1ap_CellTrafficTrace;
1962 static int ett_s1ap_LocationReportingControl;
1963 static int ett_s1ap_LocationReportingFailureIndication;
1964 static int ett_s1ap_LocationReport;
1965 static int ett_s1ap_OverloadStart;
1966 static int ett_s1ap_OverloadStop;
1967 static int ett_s1ap_WriteReplaceWarningRequest;
1968 static int ett_s1ap_WriteReplaceWarningResponse;
1969 static int ett_s1ap_ENBDirectInformationTransfer;
1970 static int ett_s1ap_Inter_SystemInformationTransferType;
1971 static int ett_s1ap_MMEDirectInformationTransfer;
1972 static int ett_s1ap_ENBConfigurationTransfer;
1973 static int ett_s1ap_MMEConfigurationTransfer;
1974 static int ett_s1ap_PrivateMessage;
1975 static int ett_s1ap_KillRequest;
1976 static int ett_s1ap_KillResponse;
1977 static int ett_s1ap_PWSRestartIndication;
1978 static int ett_s1ap_PWSFailureIndication;
1979 static int ett_s1ap_DownlinkUEAssociatedLPPaTransport;
1980 static int ett_s1ap_UplinkUEAssociatedLPPaTransport;
1981 static int ett_s1ap_DownlinkNonUEAssociatedLPPaTransport;
1982 static int ett_s1ap_UplinkNonUEAssociatedLPPaTransport;
1983 static int ett_s1ap_E_RABModificationIndication;
1984 static int ett_s1ap_E_RABToBeModifiedItemBearerModInd;
1985 static int ett_s1ap_E_RABNotToBeModifiedItemBearerModInd;
1986 static int ett_s1ap_CSGMembershipInfo;
1987 static int ett_s1ap_E_RABModificationConfirm;
1988 static int ett_s1ap_E_RABModifyListBearerModConf;
1989 static int ett_s1ap_E_RABModifyItemBearerModConf;
1990 static int ett_s1ap_UEContextModificationIndication;
1991 static int ett_s1ap_UEContextModificationConfirm;
1992 static int ett_s1ap_UEContextSuspendRequest;
1993 static int ett_s1ap_UEContextSuspendResponse;
1994 static int ett_s1ap_UEContextResumeRequest;
1995 static int ett_s1ap_E_RABFailedToResumeItemResumeReq;
1996 static int ett_s1ap_UEContextResumeResponse;
1997 static int ett_s1ap_E_RABFailedToResumeItemResumeRes;
1998 static int ett_s1ap_UEContextResumeFailure;
1999 static int ett_s1ap_ConnectionEstablishmentIndication;
2000 static int ett_s1ap_RetrieveUEInformation;
2001 static int ett_s1ap_UEInformationTransfer;
2002 static int ett_s1ap_ENBCPRelocationIndication;
2003 static int ett_s1ap_MMECPRelocationIndication;
2004 static int ett_s1ap_SecondaryRATDataUsageReport;
2005 static int ett_s1ap_UERadioCapabilityIDMappingRequest;
2006 static int ett_s1ap_UERadioCapabilityIDMappingResponse;
2007 static int ett_s1ap_S1AP_PDU;
2008 static int ett_s1ap_InitiatingMessage;
2009 static int ett_s1ap_SuccessfulOutcome;
2010 static int ett_s1ap_UnsuccessfulOutcome;
2011 static int ett_s1ap_SONtransferRequestContainer;
2012 static int ett_s1ap_SONtransferResponseContainer;
2013 static int ett_s1ap_SONtransferCause;
2014 static int ett_s1ap_CellLoadReportingResponse;
2015 static int ett_s1ap_EUTRANcellLoadReportingResponse;
2016 static int ett_s1ap_EUTRANResponse;
2017 static int ett_s1ap_IRAT_Cell_ID;
2018 static int ett_s1ap_RequestedCellList;
2019 static int ett_s1ap_MultiCellLoadReportingRequest;
2020 static int ett_s1ap_ReportingCellList_Item;
2021 static int ett_s1ap_ReportingCellList;
2022 static int ett_s1ap_MultiCellLoadReportingResponse;
2023 static int ett_s1ap_MultiCellLoadReportingResponse_Item;
2024 static int ett_s1ap_EventTriggeredCellLoadReportingRequest;
2025 static int ett_s1ap_EventTriggeredCellLoadReportingResponse;
2026 static int ett_s1ap_HOReport;
2027 static int ett_s1ap_CandidateCellList;
2028 static int ett_s1ap_CandidatePCIList;
2029 static int ett_s1ap_CandidatePCI;
2030 static int ett_s1ap_CellActivationRequest;
2031 static int ett_s1ap_CellsToActivateList;
2032 static int ett_s1ap_CellsToActivateList_Item;
2033 static int ett_s1ap_CellActivationResponse;
2034 static int ett_s1ap_ActivatedCellsList;
2035 static int ett_s1ap_ActivatedCellsList_Item;
2036 static int ett_s1ap_CellStateIndication;
2037 static int ett_s1ap_NotificationCellList;
2038 static int ett_s1ap_NotificationCellList_Item;
2039 static int ett_s1ap_FailureEventReport;
2040 static int ett_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN;
2041 static int ett_s1ap_EHRPDSectorLoadReportingResponse;
2042 static int ett_s1ap_EHRPDCompositeAvailableCapacity;
2043 static int ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem;
2045 static expert_field ei_s1ap_number_pages_le15;
2047 enum{
2048 INITIATING_MESSAGE,
2049 SUCCESSFUL_OUTCOME,
2050 UNSUCCESSFUL_OUTCOME
2053 struct s1ap_conv_info {
2054 wmem_map_t *nbiot_ta;
2055 wmem_tree_t *nbiot_enb_ue_s1ap_id;
2058 struct s1ap_supported_ta {
2059 uint16_t tac;
2060 wmem_array_t *plmn;
2063 struct s1ap_tai {
2064 uint32_t plmn;
2065 uint16_t tac;
2068 struct s1ap_private_data {
2069 struct s1ap_conv_info *s1ap_conv;
2070 uint32_t procedure_code;
2071 uint32_t protocol_ie_id;
2072 uint32_t protocol_extension_id;
2073 uint32_t handover_type_value;
2074 uint32_t message_type;
2075 uint8_t data_coding_scheme;
2076 struct s1ap_supported_ta *supported_ta;
2077 const char *obj_id;
2078 struct s1ap_tai *tai;
2079 uint16_t enb_ue_s1ap_id;
2080 bool srvcc_ho_cs_only;
2081 uint8_t transparent_container_type;
2082 e212_number_type_t number_type;
2085 enum {
2086 S1AP_LTE_CONTAINER_AUTOMATIC,
2087 S1AP_LTE_CONTAINER_LEGACY,
2088 S1AP_LTE_CONTAINER_NBIOT
2091 static const enum_val_t s1ap_lte_container_vals[] = {
2092 {"automatic", "Automatic", S1AP_LTE_CONTAINER_AUTOMATIC},
2093 {"legacy", "Legacy LTE", S1AP_LTE_CONTAINER_LEGACY},
2094 {"nb-iot","NB-IoT", S1AP_LTE_CONTAINER_NBIOT},
2095 {NULL, NULL, -1}
2098 enum {
2099 SOURCE_TO_TARGET_TRANSPARENT_CONTAINER = 1,
2100 TARGET_TO_SOURCE_TRANSPARENT_CONTAINER
2103 /* Global variables */
2104 static bool g_s1ap_dissect_container = true;
2105 static int g_s1ap_dissect_lte_container_as = S1AP_LTE_CONTAINER_AUTOMATIC;
2107 static dissector_handle_t s1ap_handle;
2109 /* Dissector tables */
2110 static dissector_table_t s1ap_ies_dissector_table;
2111 static dissector_table_t s1ap_ies_p1_dissector_table;
2112 static dissector_table_t s1ap_ies_p2_dissector_table;
2113 static dissector_table_t s1ap_extension_dissector_table;
2114 static dissector_table_t s1ap_proc_imsg_dissector_table;
2115 static dissector_table_t s1ap_proc_sout_dissector_table;
2116 static dissector_table_t s1ap_proc_uout_dissector_table;
2118 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2119 /* Currently not used
2120 static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2121 static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2123 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2124 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2125 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2126 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2128 static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data);
2129 #if 0
2130 static int dissect_SourceRNC_ToTargetRNC_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2131 static int dissect_TargetRNC_ToSourceRNC_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2132 static int dissect_SourceBSS_ToTargetBSS_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2133 static int dissect_TargetBSS_ToSourceBSS_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2134 #endif
2136 static void
2137 s1ap_Threshold_RSRP_fmt(char *s, uint32_t v)
2139 snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (int32_t)v-140, v);
2142 static void
2143 s1ap_Threshold_RSRQ_fmt(char *s, uint32_t v)
2145 snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v);
2148 static void
2149 s1ap_Hysteresis_fmt(char *s, uint32_t v)
2151 snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", (float)v/2, v);
2154 static void
2155 s1ap_Time_UE_StayedInCell_EnhancedGranularity_fmt(char *s, uint32_t v)
2157 snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10);
2160 const value_string s1ap_serialNumber_gs_vals[] = {
2161 { 0, "Display mode immediate, cell wide"},
2162 { 1, "Display mode normal, PLMN wide"},
2163 { 2, "Display mode normal, tracking area wide"},
2164 { 3, "Display mode normal, cell wide"},
2165 { 0, NULL},
2168 const value_string s1ap_warningType_vals[] = {
2169 { 0, "Earthquake"},
2170 { 1, "Tsunami"},
2171 { 2, "Earthquake and Tsunami"},
2172 { 3, "Test"},
2173 { 4, "Other"},
2174 { 0, NULL},
2177 void
2178 dissect_s1ap_warningMessageContents(tvbuff_t *warning_msg_tvb, proto_tree *tree, packet_info *pinfo, uint8_t dcs, int hf_nb_pages, int hf_decoded_page)
2180 uint32_t offset;
2181 uint8_t nb_of_pages, length, *str;
2182 proto_item *ti;
2183 tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
2184 int i;
2186 nb_of_pages = tvb_get_uint8(warning_msg_tvb, 0);
2187 ti = proto_tree_add_uint(tree, hf_nb_pages, warning_msg_tvb, 0, 1, nb_of_pages);
2188 if (nb_of_pages > 15) {
2189 expert_add_info_format(pinfo, ti, &ei_s1ap_number_pages_le15,
2190 "Number of pages should be <=15 (found %u)", nb_of_pages);
2191 nb_of_pages = 15;
2193 for (i = 0, offset = 1; i < nb_of_pages; i++) {
2194 length = tvb_get_uint8(warning_msg_tvb, offset+82);
2195 cb_data_page_tvb = tvb_new_subset_length(warning_msg_tvb, offset, length);
2196 cb_data_tvb = dissect_cbs_data(dcs, cb_data_page_tvb, tree, pinfo, 0);
2197 if (cb_data_tvb) {
2198 str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
2199 proto_tree_add_string_format(tree, hf_decoded_page, warning_msg_tvb, offset, 83,
2200 str, "Decoded Page %u: %s", i+1, str);
2202 offset += 83;
2206 static void
2207 s1ap_EUTRANRoundTripDelayEstimationInfo_fmt(char *s, uint32_t v)
2209 snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 16*v, v);
2212 static void
2213 s1ap_Packet_LossRate_fmt(char *s, uint32_t v)
2215 snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
2218 static void
2219 s1ap_threshold_nr_rsrp_fmt(char *s, uint32_t v)
2221 snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (int32_t)v-156, v);
2224 static void
2225 s1ap_threshold_nr_rsrq_fmt(char *s, uint32_t v)
2227 snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-43, v);
2230 static void
2231 s1ap_threshold_nr_sinr_fmt(char *s, uint32_t v)
2233 snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-23, v);
2236 static void
2237 s1ap_handover_window_duration_fmt(char *s, uint32_t v)
2239 snprintf(s, ITEM_LABEL_LENGTH, "%dms (%u)", v*100, v);
2242 static struct s1ap_private_data*
2243 s1ap_get_private_data(packet_info *pinfo)
2245 struct s1ap_private_data *s1ap_data = (struct s1ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_s1ap, 0);
2246 if (!s1ap_data) {
2247 s1ap_data = wmem_new0(pinfo->pool, struct s1ap_private_data);
2248 p_add_proto_data(pinfo->pool, pinfo, proto_s1ap, 0, s1ap_data);
2250 return s1ap_data;
2253 static bool
2254 s1ap_is_nbiot_ue(packet_info *pinfo)
2256 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
2258 if (s1ap_data->s1ap_conv) {
2259 wmem_tree_key_t tree_key[3];
2260 uint32_t *id;
2261 uint32_t enb_ue_s1ap_id = s1ap_data->enb_ue_s1ap_id;
2263 tree_key[0].length = 1;
2264 tree_key[0].key = &enb_ue_s1ap_id;
2265 tree_key[1].length = 1;
2266 tree_key[1].key = &pinfo->num;
2267 tree_key[2].length = 0;
2268 tree_key[2].key = NULL;
2269 id = (uint32_t*)wmem_tree_lookup32_array_le(s1ap_data->s1ap_conv->nbiot_enb_ue_s1ap_id, tree_key);
2270 if (id && (*id == enb_ue_s1ap_id)) {
2271 return true;
2274 return false;
2278 static const value_string s1ap_Criticality_vals[] = {
2279 { 0, "reject" },
2280 { 1, "ignore" },
2281 { 2, "notify" },
2282 { 0, NULL }
2286 static int
2287 dissect_s1ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2288 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2289 3, NULL, false, 0, NULL);
2291 return offset;
2296 static int
2297 dissect_s1ap_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2298 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2299 0U, 65535U, NULL, false);
2301 return offset;
2306 static int
2307 dissect_s1ap_T_global(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2308 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2309 offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &s1ap_data->obj_id);
2313 return offset;
2317 static const value_string s1ap_PrivateIE_ID_vals[] = {
2318 { 0, "local" },
2319 { 1, "global" },
2320 { 0, NULL }
2323 static const per_choice_t PrivateIE_ID_choice[] = {
2324 { 0, &hf_s1ap_local , ASN1_NO_EXTENSIONS , dissect_s1ap_INTEGER_0_65535 },
2325 { 1, &hf_s1ap_global , ASN1_NO_EXTENSIONS , dissect_s1ap_T_global },
2326 { 0, NULL, 0, NULL }
2329 static int
2330 dissect_s1ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2331 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2332 s1ap_data->obj_id = NULL;
2334 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2335 ett_s1ap_PrivateIE_ID, PrivateIE_ID_choice,
2336 NULL);
2338 return offset;
2342 static const value_string s1ap_ProcedureCode_vals[] = {
2343 { id_HandoverPreparation, "id-HandoverPreparation" },
2344 { id_HandoverResourceAllocation, "id-HandoverResourceAllocation" },
2345 { id_HandoverNotification, "id-HandoverNotification" },
2346 { id_PathSwitchRequest, "id-PathSwitchRequest" },
2347 { id_HandoverCancel, "id-HandoverCancel" },
2348 { id_E_RABSetup, "id-E-RABSetup" },
2349 { id_E_RABModify, "id-E-RABModify" },
2350 { id_E_RABRelease, "id-E-RABRelease" },
2351 { id_E_RABReleaseIndication, "id-E-RABReleaseIndication" },
2352 { id_InitialContextSetup, "id-InitialContextSetup" },
2353 { id_Paging, "id-Paging" },
2354 { id_downlinkNASTransport, "id-downlinkNASTransport" },
2355 { id_initialUEMessage, "id-initialUEMessage" },
2356 { id_uplinkNASTransport, "id-uplinkNASTransport" },
2357 { id_Reset, "id-Reset" },
2358 { id_ErrorIndication, "id-ErrorIndication" },
2359 { id_NASNonDeliveryIndication, "id-NASNonDeliveryIndication" },
2360 { id_S1Setup, "id-S1Setup" },
2361 { id_UEContextReleaseRequest, "id-UEContextReleaseRequest" },
2362 { id_DownlinkS1cdma2000tunnelling, "id-DownlinkS1cdma2000tunnelling" },
2363 { id_UplinkS1cdma2000tunnelling, "id-UplinkS1cdma2000tunnelling" },
2364 { id_UEContextModification, "id-UEContextModification" },
2365 { id_UECapabilityInfoIndication, "id-UECapabilityInfoIndication" },
2366 { id_UEContextRelease, "id-UEContextRelease" },
2367 { id_eNBStatusTransfer, "id-eNBStatusTransfer" },
2368 { id_MMEStatusTransfer, "id-MMEStatusTransfer" },
2369 { id_DeactivateTrace, "id-DeactivateTrace" },
2370 { id_TraceStart, "id-TraceStart" },
2371 { id_TraceFailureIndication, "id-TraceFailureIndication" },
2372 { id_ENBConfigurationUpdate, "id-ENBConfigurationUpdate" },
2373 { id_MMEConfigurationUpdate, "id-MMEConfigurationUpdate" },
2374 { id_LocationReportingControl, "id-LocationReportingControl" },
2375 { id_LocationReportingFailureIndication, "id-LocationReportingFailureIndication" },
2376 { id_LocationReport, "id-LocationReport" },
2377 { id_OverloadStart, "id-OverloadStart" },
2378 { id_OverloadStop, "id-OverloadStop" },
2379 { id_WriteReplaceWarning, "id-WriteReplaceWarning" },
2380 { id_eNBDirectInformationTransfer, "id-eNBDirectInformationTransfer" },
2381 { id_MMEDirectInformationTransfer, "id-MMEDirectInformationTransfer" },
2382 { id_PrivateMessage, "id-PrivateMessage" },
2383 { id_eNBConfigurationTransfer, "id-eNBConfigurationTransfer" },
2384 { id_MMEConfigurationTransfer, "id-MMEConfigurationTransfer" },
2385 { id_CellTrafficTrace, "id-CellTrafficTrace" },
2386 { id_Kill, "id-Kill" },
2387 { id_downlinkUEAssociatedLPPaTransport, "id-downlinkUEAssociatedLPPaTransport" },
2388 { id_uplinkUEAssociatedLPPaTransport, "id-uplinkUEAssociatedLPPaTransport" },
2389 { id_downlinkNonUEAssociatedLPPaTransport, "id-downlinkNonUEAssociatedLPPaTransport" },
2390 { id_uplinkNonUEAssociatedLPPaTransport, "id-uplinkNonUEAssociatedLPPaTransport" },
2391 { id_UERadioCapabilityMatch, "id-UERadioCapabilityMatch" },
2392 { id_PWSRestartIndication, "id-PWSRestartIndication" },
2393 { id_E_RABModificationIndication, "id-E-RABModificationIndication" },
2394 { id_PWSFailureIndication, "id-PWSFailureIndication" },
2395 { id_RerouteNASRequest, "id-RerouteNASRequest" },
2396 { id_UEContextModificationIndication, "id-UEContextModificationIndication" },
2397 { id_ConnectionEstablishmentIndication, "id-ConnectionEstablishmentIndication" },
2398 { id_UEContextSuspend, "id-UEContextSuspend" },
2399 { id_UEContextResume, "id-UEContextResume" },
2400 { id_NASDeliveryIndication, "id-NASDeliveryIndication" },
2401 { id_RetrieveUEInformation, "id-RetrieveUEInformation" },
2402 { id_UEInformationTransfer, "id-UEInformationTransfer" },
2403 { id_eNBCPRelocationIndication, "id-eNBCPRelocationIndication" },
2404 { id_MMECPRelocationIndication, "id-MMECPRelocationIndication" },
2405 { id_SecondaryRATDataUsageReport, "id-SecondaryRATDataUsageReport" },
2406 { id_UERadioCapabilityIDMapping, "id-UERadioCapabilityIDMapping" },
2407 { id_HandoverSuccess, "id-HandoverSuccess" },
2408 { id_eNBEarlyStatusTransfer, "id-eNBEarlyStatusTransfer" },
2409 { id_MMEEarlyStatusTransfer, "id-MMEEarlyStatusTransfer" },
2410 { 0, NULL }
2413 static value_string_ext s1ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(s1ap_ProcedureCode_vals);
2416 static int
2417 dissect_s1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2418 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2419 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2420 0U, 255U, &s1ap_data->procedure_code, false);
2423 return offset;
2428 static int
2429 dissect_s1ap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2430 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2431 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2432 0U, 65535U, &s1ap_data->protocol_extension_id, false);
2436 return offset;
2440 static const value_string s1ap_ProtocolIE_ID_vals[] = {
2441 { id_MME_UE_S1AP_ID, "id-MME-UE-S1AP-ID" },
2442 { id_HandoverType, "id-HandoverType" },
2443 { id_Cause, "id-Cause" },
2444 { id_SourceID, "id-SourceID" },
2445 { id_TargetID, "id-TargetID" },
2446 { id_Unknown_5, "id-Unknown-5" },
2447 { id_Unknown_6, "id-Unknown-6" },
2448 { id_Unknown_7, "id-Unknown-7" },
2449 { id_eNB_UE_S1AP_ID, "id-eNB-UE-S1AP-ID" },
2450 { id_Unknown_9, "id-Unknown-9" },
2451 { id_Unknown_10, "id-Unknown-10" },
2452 { id_Unknown_11, "id-Unknown-11" },
2453 { id_E_RABSubjecttoDataForwardingList, "id-E-RABSubjecttoDataForwardingList" },
2454 { id_E_RABtoReleaseListHOCmd, "id-E-RABtoReleaseListHOCmd" },
2455 { id_E_RABDataForwardingItem, "id-E-RABDataForwardingItem" },
2456 { id_E_RABReleaseItemBearerRelComp, "id-E-RABReleaseItemBearerRelComp" },
2457 { id_E_RABToBeSetupListBearerSUReq, "id-E-RABToBeSetupListBearerSUReq" },
2458 { id_E_RABToBeSetupItemBearerSUReq, "id-E-RABToBeSetupItemBearerSUReq" },
2459 { id_E_RABAdmittedList, "id-E-RABAdmittedList" },
2460 { id_E_RABFailedToSetupListHOReqAck, "id-E-RABFailedToSetupListHOReqAck" },
2461 { id_E_RABAdmittedItem, "id-E-RABAdmittedItem" },
2462 { id_E_RABFailedtoSetupItemHOReqAck, "id-E-RABFailedtoSetupItemHOReqAck" },
2463 { id_E_RABToBeSwitchedDLList, "id-E-RABToBeSwitchedDLList" },
2464 { id_E_RABToBeSwitchedDLItem, "id-E-RABToBeSwitchedDLItem" },
2465 { id_E_RABToBeSetupListCtxtSUReq, "id-E-RABToBeSetupListCtxtSUReq" },
2466 { id_TraceActivation, "id-TraceActivation" },
2467 { id_NAS_PDU, "id-NAS-PDU" },
2468 { id_E_RABToBeSetupItemHOReq, "id-E-RABToBeSetupItemHOReq" },
2469 { id_E_RABSetupListBearerSURes, "id-E-RABSetupListBearerSURes" },
2470 { id_E_RABFailedToSetupListBearerSURes, "id-E-RABFailedToSetupListBearerSURes" },
2471 { id_E_RABToBeModifiedListBearerModReq, "id-E-RABToBeModifiedListBearerModReq" },
2472 { id_E_RABModifyListBearerModRes, "id-E-RABModifyListBearerModRes" },
2473 { id_E_RABFailedToModifyList, "id-E-RABFailedToModifyList" },
2474 { id_E_RABToBeReleasedList, "id-E-RABToBeReleasedList" },
2475 { id_E_RABFailedToReleaseList, "id-E-RABFailedToReleaseList" },
2476 { id_E_RABItem, "id-E-RABItem" },
2477 { id_E_RABToBeModifiedItemBearerModReq, "id-E-RABToBeModifiedItemBearerModReq" },
2478 { id_E_RABModifyItemBearerModRes, "id-E-RABModifyItemBearerModRes" },
2479 { id_E_RABReleaseItem, "id-E-RABReleaseItem" },
2480 { id_E_RABSetupItemBearerSURes, "id-E-RABSetupItemBearerSURes" },
2481 { id_SecurityContext, "id-SecurityContext" },
2482 { id_HandoverRestrictionList, "id-HandoverRestrictionList" },
2483 { id_Unknown_42, "id-Unknown-42" },
2484 { id_UEPagingID, "id-UEPagingID" },
2485 { id_pagingDRX, "id-pagingDRX" },
2486 { id_Unknown_45, "id-Unknown-45" },
2487 { id_TAIList, "id-TAIList" },
2488 { id_TAIItem, "id-TAIItem" },
2489 { id_E_RABFailedToSetupListCtxtSURes, "id-E-RABFailedToSetupListCtxtSURes" },
2490 { id_E_RABReleaseItemHOCmd, "id-E-RABReleaseItemHOCmd" },
2491 { id_E_RABSetupItemCtxtSURes, "id-E-RABSetupItemCtxtSURes" },
2492 { id_E_RABSetupListCtxtSURes, "id-E-RABSetupListCtxtSURes" },
2493 { id_E_RABToBeSetupItemCtxtSUReq, "id-E-RABToBeSetupItemCtxtSUReq" },
2494 { id_E_RABToBeSetupListHOReq, "id-E-RABToBeSetupListHOReq" },
2495 { id_Unknown_54, "id-Unknown-54" },
2496 { id_GERANtoLTEHOInformationRes, "id-GERANtoLTEHOInformationRes" },
2497 { id_Unknown_56, "id-Unknown-56" },
2498 { id_UTRANtoLTEHOInformationRes, "id-UTRANtoLTEHOInformationRes" },
2499 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
2500 { id_Global_ENB_ID, "id-Global-ENB-ID" },
2501 { id_eNBname, "id-eNBname" },
2502 { id_MMEname, "id-MMEname" },
2503 { id_Unknown_62, "id-Unknown-62" },
2504 { id_ServedPLMNs, "id-ServedPLMNs" },
2505 { id_SupportedTAs, "id-SupportedTAs" },
2506 { id_TimeToWait, "id-TimeToWait" },
2507 { id_uEaggregateMaximumBitrate, "id-uEaggregateMaximumBitrate" },
2508 { id_TAI, "id-TAI" },
2509 { id_Unknown_68, "id-Unknown-68" },
2510 { id_E_RABReleaseListBearerRelComp, "id-E-RABReleaseListBearerRelComp" },
2511 { id_cdma2000PDU, "id-cdma2000PDU" },
2512 { id_cdma2000RATType, "id-cdma2000RATType" },
2513 { id_cdma2000SectorID, "id-cdma2000SectorID" },
2514 { id_SecurityKey, "id-SecurityKey" },
2515 { id_UERadioCapability, "id-UERadioCapability" },
2516 { id_GUMMEI_ID, "id-GUMMEI-ID" },
2517 { id_Unknown_76, "id-Unknown-76" },
2518 { id_Unknown_77, "id-Unknown-77" },
2519 { id_E_RABInformationListItem, "id-E-RABInformationListItem" },
2520 { id_Direct_Forwarding_Path_Availability, "id-Direct-Forwarding-Path-Availability" },
2521 { id_UEIdentityIndexValue, "id-UEIdentityIndexValue" },
2522 { id_Unknown_81, "id-Unknown-81" },
2523 { id_Unknown_82, "id-Unknown-82" },
2524 { id_cdma2000HOStatus, "id-cdma2000HOStatus" },
2525 { id_cdma2000HORequiredIndication, "id-cdma2000HORequiredIndication" },
2526 { id_Unknown_85, "id-Unknown-85" },
2527 { id_E_UTRAN_Trace_ID, "id-E-UTRAN-Trace-ID" },
2528 { id_RelativeMMECapacity, "id-RelativeMMECapacity" },
2529 { id_SourceMME_UE_S1AP_ID, "id-SourceMME-UE-S1AP-ID" },
2530 { id_Bearers_SubjectToStatusTransfer_Item, "id-Bearers-SubjectToStatusTransfer-Item" },
2531 { id_eNB_StatusTransfer_TransparentContainer, "id-eNB-StatusTransfer-TransparentContainer" },
2532 { id_UE_associatedLogicalS1_ConnectionItem, "id-UE-associatedLogicalS1-ConnectionItem" },
2533 { id_ResetType, "id-ResetType" },
2534 { id_UE_associatedLogicalS1_ConnectionListResAck, "id-UE-associatedLogicalS1-ConnectionListResAck" },
2535 { id_E_RABToBeSwitchedULItem, "id-E-RABToBeSwitchedULItem" },
2536 { id_E_RABToBeSwitchedULList, "id-E-RABToBeSwitchedULList" },
2537 { id_S_TMSI, "id-S-TMSI" },
2538 { id_cdma2000OneXRAND, "id-cdma2000OneXRAND" },
2539 { id_RequestType, "id-RequestType" },
2540 { id_UE_S1AP_IDs, "id-UE-S1AP-IDs" },
2541 { id_EUTRAN_CGI, "id-EUTRAN-CGI" },
2542 { id_OverloadResponse, "id-OverloadResponse" },
2543 { id_cdma2000OneXSRVCCInfo, "id-cdma2000OneXSRVCCInfo" },
2544 { id_E_RABFailedToBeReleasedList, "id-E-RABFailedToBeReleasedList" },
2545 { id_Source_ToTarget_TransparentContainer, "id-Source-ToTarget-TransparentContainer" },
2546 { id_ServedGUMMEIs, "id-ServedGUMMEIs" },
2547 { id_SubscriberProfileIDforRFP, "id-SubscriberProfileIDforRFP" },
2548 { id_UESecurityCapabilities, "id-UESecurityCapabilities" },
2549 { id_CSFallbackIndicator, "id-CSFallbackIndicator" },
2550 { id_CNDomain, "id-CNDomain" },
2551 { id_E_RABReleasedList, "id-E-RABReleasedList" },
2552 { id_MessageIdentifier, "id-MessageIdentifier" },
2553 { id_SerialNumber, "id-SerialNumber" },
2554 { id_WarningAreaList, "id-WarningAreaList" },
2555 { id_RepetitionPeriod, "id-RepetitionPeriod" },
2556 { id_NumberofBroadcastRequest, "id-NumberofBroadcastRequest" },
2557 { id_WarningType, "id-WarningType" },
2558 { id_WarningSecurityInfo, "id-WarningSecurityInfo" },
2559 { id_DataCodingScheme, "id-DataCodingScheme" },
2560 { id_WarningMessageContents, "id-WarningMessageContents" },
2561 { id_BroadcastCompletedAreaList, "id-BroadcastCompletedAreaList" },
2562 { id_Inter_SystemInformationTransferTypeEDT, "id-Inter-SystemInformationTransferTypeEDT" },
2563 { id_Inter_SystemInformationTransferTypeMDT, "id-Inter-SystemInformationTransferTypeMDT" },
2564 { id_Target_ToSource_TransparentContainer, "id-Target-ToSource-TransparentContainer" },
2565 { id_SRVCCOperationPossible, "id-SRVCCOperationPossible" },
2566 { id_SRVCCHOIndication, "id-SRVCCHOIndication" },
2567 { id_NAS_DownlinkCount, "id-NAS-DownlinkCount" },
2568 { id_CSG_Id, "id-CSG-Id" },
2569 { id_CSG_IdList, "id-CSG-IdList" },
2570 { id_SONConfigurationTransferECT, "id-SONConfigurationTransferECT" },
2571 { id_SONConfigurationTransferMCT, "id-SONConfigurationTransferMCT" },
2572 { id_TraceCollectionEntityIPAddress, "id-TraceCollectionEntityIPAddress" },
2573 { id_MSClassmark2, "id-MSClassmark2" },
2574 { id_MSClassmark3, "id-MSClassmark3" },
2575 { id_RRC_Establishment_Cause, "id-RRC-Establishment-Cause" },
2576 { id_NASSecurityParametersfromE_UTRAN, "id-NASSecurityParametersfromE-UTRAN" },
2577 { id_NASSecurityParameterstoE_UTRAN, "id-NASSecurityParameterstoE-UTRAN" },
2578 { id_DefaultPagingDRX, "id-DefaultPagingDRX" },
2579 { id_Source_ToTarget_TransparentContainer_Secondary, "id-Source-ToTarget-TransparentContainer-Secondary" },
2580 { id_Target_ToSource_TransparentContainer_Secondary, "id-Target-ToSource-TransparentContainer-Secondary" },
2581 { id_EUTRANRoundTripDelayEstimationInfo, "id-EUTRANRoundTripDelayEstimationInfo" },
2582 { id_BroadcastCancelledAreaList, "id-BroadcastCancelledAreaList" },
2583 { id_ConcurrentWarningMessageIndicator, "id-ConcurrentWarningMessageIndicator" },
2584 { id_Data_Forwarding_Not_Possible, "id-Data-Forwarding-Not-Possible" },
2585 { id_ExtendedRepetitionPeriod, "id-ExtendedRepetitionPeriod" },
2586 { id_CellAccessMode, "id-CellAccessMode" },
2587 { id_CSGMembershipStatus, "id-CSGMembershipStatus" },
2588 { id_LPPa_PDU, "id-LPPa-PDU" },
2589 { id_Routing_ID, "id-Routing-ID" },
2590 { id_Time_Synchronisation_Info, "id-Time-Synchronisation-Info" },
2591 { id_PS_ServiceNotAvailable, "id-PS-ServiceNotAvailable" },
2592 { id_PagingPriority, "id-PagingPriority" },
2593 { id_x2TNLConfigurationInfo, "id-x2TNLConfigurationInfo" },
2594 { id_eNBX2ExtendedTransportLayerAddresses, "id-eNBX2ExtendedTransportLayerAddresses" },
2595 { id_GUMMEIList, "id-GUMMEIList" },
2596 { id_GW_TransportLayerAddress, "id-GW-TransportLayerAddress" },
2597 { id_Correlation_ID, "id-Correlation-ID" },
2598 { id_SourceMME_GUMMEI, "id-SourceMME-GUMMEI" },
2599 { id_MME_UE_S1AP_ID_2, "id-MME-UE-S1AP-ID-2" },
2600 { id_RegisteredLAI, "id-RegisteredLAI" },
2601 { id_RelayNode_Indicator, "id-RelayNode-Indicator" },
2602 { id_TrafficLoadReductionIndication, "id-TrafficLoadReductionIndication" },
2603 { id_MDTConfiguration, "id-MDTConfiguration" },
2604 { id_MMERelaySupportIndicator, "id-MMERelaySupportIndicator" },
2605 { id_GWContextReleaseIndication, "id-GWContextReleaseIndication" },
2606 { id_ManagementBasedMDTAllowed, "id-ManagementBasedMDTAllowed" },
2607 { id_PrivacyIndicator, "id-PrivacyIndicator" },
2608 { id_Time_UE_StayedInCell_EnhancedGranularity, "id-Time-UE-StayedInCell-EnhancedGranularity" },
2609 { id_HO_Cause, "id-HO-Cause" },
2610 { id_VoiceSupportMatchIndicator, "id-VoiceSupportMatchIndicator" },
2611 { id_GUMMEIType, "id-GUMMEIType" },
2612 { id_M3Configuration, "id-M3Configuration" },
2613 { id_M4Configuration, "id-M4Configuration" },
2614 { id_M5Configuration, "id-M5Configuration" },
2615 { id_MDT_Location_Info, "id-MDT-Location-Info" },
2616 { id_MobilityInformation, "id-MobilityInformation" },
2617 { id_Tunnel_Information_for_BBF, "id-Tunnel-Information-for-BBF" },
2618 { id_ManagementBasedMDTPLMNList, "id-ManagementBasedMDTPLMNList" },
2619 { id_SignallingBasedMDTPLMNList, "id-SignallingBasedMDTPLMNList" },
2620 { id_ULCOUNTValueExtended, "id-ULCOUNTValueExtended" },
2621 { id_DLCOUNTValueExtended, "id-DLCOUNTValueExtended" },
2622 { id_ReceiveStatusOfULPDCPSDUsExtended, "id-ReceiveStatusOfULPDCPSDUsExtended" },
2623 { id_ECGIListForRestart, "id-ECGIListForRestart" },
2624 { id_SIPTO_Correlation_ID, "id-SIPTO-Correlation-ID" },
2625 { id_SIPTO_L_GW_TransportLayerAddress, "id-SIPTO-L-GW-TransportLayerAddress" },
2626 { id_TransportInformation, "id-TransportInformation" },
2627 { id_LHN_ID, "id-LHN-ID" },
2628 { id_AdditionalCSFallbackIndicator, "id-AdditionalCSFallbackIndicator" },
2629 { id_TAIListForRestart, "id-TAIListForRestart" },
2630 { id_UserLocationInformation, "id-UserLocationInformation" },
2631 { id_EmergencyAreaIDListForRestart, "id-EmergencyAreaIDListForRestart" },
2632 { id_KillAllWarningMessages, "id-KillAllWarningMessages" },
2633 { id_Masked_IMEISV, "id-Masked-IMEISV" },
2634 { id_eNBIndirectX2TransportLayerAddresses, "id-eNBIndirectX2TransportLayerAddresses" },
2635 { id_uE_HistoryInformationFromTheUE, "id-uE-HistoryInformationFromTheUE" },
2636 { id_ProSeAuthorized, "id-ProSeAuthorized" },
2637 { id_ExpectedUEBehaviour, "id-ExpectedUEBehaviour" },
2638 { id_LoggedMBSFNMDT, "id-LoggedMBSFNMDT" },
2639 { id_UERadioCapabilityForPaging, "id-UERadioCapabilityForPaging" },
2640 { id_E_RABToBeModifiedListBearerModInd, "id-E-RABToBeModifiedListBearerModInd" },
2641 { id_E_RABToBeModifiedItemBearerModInd, "id-E-RABToBeModifiedItemBearerModInd" },
2642 { id_E_RABNotToBeModifiedListBearerModInd, "id-E-RABNotToBeModifiedListBearerModInd" },
2643 { id_E_RABNotToBeModifiedItemBearerModInd, "id-E-RABNotToBeModifiedItemBearerModInd" },
2644 { id_E_RABModifyListBearerModConf, "id-E-RABModifyListBearerModConf" },
2645 { id_E_RABModifyItemBearerModConf, "id-E-RABModifyItemBearerModConf" },
2646 { id_E_RABFailedToModifyListBearerModConf, "id-E-RABFailedToModifyListBearerModConf" },
2647 { id_SON_Information_Report, "id-SON-Information-Report" },
2648 { id_Muting_Availability_Indication, "id-Muting-Availability-Indication" },
2649 { id_Muting_Pattern_Information, "id-Muting-Pattern-Information" },
2650 { id_Synchronisation_Information, "id-Synchronisation-Information" },
2651 { id_E_RABToBeReleasedListBearerModConf, "id-E-RABToBeReleasedListBearerModConf" },
2652 { id_AssistanceDataForPaging, "id-AssistanceDataForPaging" },
2653 { id_CellIdentifierAndCELevelForCECapableUEs, "id-CellIdentifierAndCELevelForCECapableUEs" },
2654 { id_InformationOnRecommendedCellsAndENBsForPaging, "id-InformationOnRecommendedCellsAndENBsForPaging" },
2655 { id_RecommendedCellItem, "id-RecommendedCellItem" },
2656 { id_RecommendedENBItem, "id-RecommendedENBItem" },
2657 { id_ProSeUEtoNetworkRelaying, "id-ProSeUEtoNetworkRelaying" },
2658 { id_ULCOUNTValuePDCP_SNlength18, "id-ULCOUNTValuePDCP-SNlength18" },
2659 { id_DLCOUNTValuePDCP_SNlength18, "id-DLCOUNTValuePDCP-SNlength18" },
2660 { id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, "id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18" },
2661 { id_M6Configuration, "id-M6Configuration" },
2662 { id_M7Configuration, "id-M7Configuration" },
2663 { id_PWSfailedECGIList, "id-PWSfailedECGIList" },
2664 { id_MME_Group_ID, "id-MME-Group-ID" },
2665 { id_Additional_GUTI, "id-Additional-GUTI" },
2666 { id_S1_Message, "id-S1-Message" },
2667 { id_CSGMembershipInfo, "id-CSGMembershipInfo" },
2668 { id_Paging_eDRXInformation, "id-Paging-eDRXInformation" },
2669 { id_UE_RetentionInformation, "id-UE-RetentionInformation" },
2670 { id_Unknown_229, "id-Unknown-229" },
2671 { id_UE_Usage_Type, "id-UE-Usage-Type" },
2672 { id_extended_UEIdentityIndexValue, "id-extended-UEIdentityIndexValue" },
2673 { id_RAT_Type, "id-RAT-Type" },
2674 { id_BearerType, "id-BearerType" },
2675 { id_NB_IoT_DefaultPagingDRX, "id-NB-IoT-DefaultPagingDRX" },
2676 { id_E_RABFailedToResumeListResumeReq, "id-E-RABFailedToResumeListResumeReq" },
2677 { id_E_RABFailedToResumeItemResumeReq, "id-E-RABFailedToResumeItemResumeReq" },
2678 { id_E_RABFailedToResumeListResumeRes, "id-E-RABFailedToResumeListResumeRes" },
2679 { id_E_RABFailedToResumeItemResumeRes, "id-E-RABFailedToResumeItemResumeRes" },
2680 { id_NB_IoT_Paging_eDRXInformation, "id-NB-IoT-Paging-eDRXInformation" },
2681 { id_V2XServicesAuthorized, "id-V2XServicesAuthorized" },
2682 { id_UEUserPlaneCIoTSupportIndicator, "id-UEUserPlaneCIoTSupportIndicator" },
2683 { id_CE_mode_B_SupportIndicator, "id-CE-mode-B-SupportIndicator" },
2684 { id_SRVCCOperationNotPossible, "id-SRVCCOperationNotPossible" },
2685 { id_NB_IoT_UEIdentityIndexValue, "id-NB-IoT-UEIdentityIndexValue" },
2686 { id_RRC_Resume_Cause, "id-RRC-Resume-Cause" },
2687 { id_DCN_ID, "id-DCN-ID" },
2688 { id_ServedDCNs, "id-ServedDCNs" },
2689 { id_UESidelinkAggregateMaximumBitrate, "id-UESidelinkAggregateMaximumBitrate" },
2690 { id_DLNASPDUDeliveryAckRequest, "id-DLNASPDUDeliveryAckRequest" },
2691 { id_Coverage_Level, "id-Coverage-Level" },
2692 { id_EnhancedCoverageRestricted, "id-EnhancedCoverageRestricted" },
2693 { id_UE_Level_QoS_Parameters, "id-UE-Level-QoS-Parameters" },
2694 { id_DL_CP_SecurityInformation, "id-DL-CP-SecurityInformation" },
2695 { id_UL_CP_SecurityInformation, "id-UL-CP-SecurityInformation" },
2696 { id_extended_e_RAB_MaximumBitrateDL, "id-extended-e-RAB-MaximumBitrateDL" },
2697 { id_extended_e_RAB_MaximumBitrateUL, "id-extended-e-RAB-MaximumBitrateUL" },
2698 { id_extended_e_RAB_GuaranteedBitrateDL, "id-extended-e-RAB-GuaranteedBitrateDL" },
2699 { id_extended_e_RAB_GuaranteedBitrateUL, "id-extended-e-RAB-GuaranteedBitrateUL" },
2700 { id_extended_uEaggregateMaximumBitRateDL, "id-extended-uEaggregateMaximumBitRateDL" },
2701 { id_extended_uEaggregateMaximumBitRateUL, "id-extended-uEaggregateMaximumBitRateUL" },
2702 { id_NRrestrictioninEPSasSecondaryRAT, "id-NRrestrictioninEPSasSecondaryRAT" },
2703 { id_UEAppLayerMeasConfig, "id-UEAppLayerMeasConfig" },
2704 { id_UE_Application_Layer_Measurement_Capability, "id-UE-Application-Layer-Measurement-Capability" },
2705 { id_SecondaryRATDataUsageReportList, "id-SecondaryRATDataUsageReportList" },
2706 { id_SecondaryRATDataUsageReportItem, "id-SecondaryRATDataUsageReportItem" },
2707 { id_HandoverFlag, "id-HandoverFlag" },
2708 { id_E_RABUsageReportItem, "id-E-RABUsageReportItem" },
2709 { id_SecondaryRATDataUsageRequest, "id-SecondaryRATDataUsageRequest" },
2710 { id_NRUESecurityCapabilities, "id-NRUESecurityCapabilities" },
2711 { id_UnlicensedSpectrumRestriction, "id-UnlicensedSpectrumRestriction" },
2712 { id_CE_ModeBRestricted, "id-CE-ModeBRestricted" },
2713 { id_LTE_M_Indication, "id-LTE-M-Indication" },
2714 { id_DownlinkPacketLossRate, "id-DownlinkPacketLossRate" },
2715 { id_UplinkPacketLossRate, "id-UplinkPacketLossRate" },
2716 { id_UECapabilityInfoRequest, "id-UECapabilityInfoRequest" },
2717 { id_serviceType, "id-serviceType" },
2718 { id_AerialUEsubscriptionInformation, "id-AerialUEsubscriptionInformation" },
2719 { id_Subscription_Based_UE_DifferentiationInfo, "id-Subscription-Based-UE-DifferentiationInfo" },
2720 { id_Unknown_279, "id-Unknown-279" },
2721 { id_EndIndication, "id-EndIndication" },
2722 { id_EDT_Session, "id-EDT-Session" },
2723 { id_CNTypeRestrictions, "id-CNTypeRestrictions" },
2724 { id_PendingDataIndication, "id-PendingDataIndication" },
2725 { id_BluetoothMeasurementConfiguration, "id-BluetoothMeasurementConfiguration" },
2726 { id_WLANMeasurementConfiguration, "id-WLANMeasurementConfiguration" },
2727 { id_WarningAreaCoordinates, "id-WarningAreaCoordinates" },
2728 { id_NRrestrictionin5GS, "id-NRrestrictionin5GS" },
2729 { id_PSCellInformation, "id-PSCellInformation" },
2730 { id_Unknown_289, "id-Unknown-289" },
2731 { id_LastNG_RANPLMNIdentity, "id-LastNG-RANPLMNIdentity" },
2732 { id_ConnectedengNBList, "id-ConnectedengNBList" },
2733 { id_ConnectedengNBToAddList, "id-ConnectedengNBToAddList" },
2734 { id_ConnectedengNBToRemoveList, "id-ConnectedengNBToRemoveList" },
2735 { id_EN_DCSONConfigurationTransfer_ECT, "id-EN-DCSONConfigurationTransfer-ECT" },
2736 { id_EN_DCSONConfigurationTransfer_MCT, "id-EN-DCSONConfigurationTransfer-MCT" },
2737 { id_IMSvoiceEPSfallbackfrom5G, "id-IMSvoiceEPSfallbackfrom5G" },
2738 { id_TimeSinceSecondaryNodeRelease, "id-TimeSinceSecondaryNodeRelease" },
2739 { id_RequestTypeAdditionalInfo, "id-RequestTypeAdditionalInfo" },
2740 { id_AdditionalRRMPriorityIndex, "id-AdditionalRRMPriorityIndex" },
2741 { id_ContextatSource, "id-ContextatSource" },
2742 { id_IAB_Authorized, "id-IAB-Authorized" },
2743 { id_IAB_Node_Indication, "id-IAB-Node-Indication" },
2744 { id_IAB_Supported, "id-IAB-Supported" },
2745 { id_DataSize, "id-DataSize" },
2746 { id_Ethernet_Type, "id-Ethernet-Type" },
2747 { id_NRV2XServicesAuthorized, "id-NRV2XServicesAuthorized" },
2748 { id_NRUESidelinkAggregateMaximumBitrate, "id-NRUESidelinkAggregateMaximumBitrate" },
2749 { id_PC5QoSParameters, "id-PC5QoSParameters" },
2750 { id_IntersystemSONConfigurationTransferMCT, "id-IntersystemSONConfigurationTransferMCT" },
2751 { id_IntersystemSONConfigurationTransferECT, "id-IntersystemSONConfigurationTransferECT" },
2752 { id_IntersystemMeasurementConfiguration, "id-IntersystemMeasurementConfiguration" },
2753 { id_SourceNodeID, "id-SourceNodeID" },
2754 { id_NB_IoT_RLF_Report_Container, "id-NB-IoT-RLF-Report-Container" },
2755 { id_UERadioCapabilityID, "id-UERadioCapabilityID" },
2756 { id_UERadioCapability_NR_Format, "id-UERadioCapability-NR-Format" },
2757 { id_MDTConfigurationNR, "id-MDTConfigurationNR" },
2758 { id_DAPSRequestInfo, "id-DAPSRequestInfo" },
2759 { id_DAPSResponseInfoList, "id-DAPSResponseInfoList" },
2760 { id_DAPSResponseInfoItem, "id-DAPSResponseInfoItem" },
2761 { id_NotifySourceeNB, "id-NotifySourceeNB" },
2762 { id_eNB_EarlyStatusTransfer_TransparentContainer, "id-eNB-EarlyStatusTransfer-TransparentContainer" },
2763 { id_Bearers_SubjectToEarlyStatusTransfer_Item, "id-Bearers-SubjectToEarlyStatusTransfer-Item" },
2764 { id_WUS_Assistance_Information, "id-WUS-Assistance-Information" },
2765 { id_NB_IoT_PagingDRX, "id-NB-IoT-PagingDRX" },
2766 { id_TraceCollectionEntityURI, "id-TraceCollectionEntityURI" },
2767 { id_EmergencyIndicator, "id-EmergencyIndicator" },
2768 { id_UERadioCapabilityForPaging_NR_Format, "id-UERadioCapabilityForPaging-NR-Format" },
2769 { id_SourceTransportLayerAddress, "id-SourceTransportLayerAddress" },
2770 { id_lastVisitedPSCellList, "id-lastVisitedPSCellList" },
2771 { id_RACSIndication, "id-RACSIndication" },
2772 { id_PagingCause, "id-PagingCause" },
2773 { id_SecurityIndication, "id-SecurityIndication" },
2774 { id_SecurityResult, "id-SecurityResult" },
2775 { id_E_RABSecurityResultItem, "id-E-RABSecurityResultItem" },
2776 { id_E_RABSecurityResultList, "id-E-RABSecurityResultList" },
2777 { id_RAT_Restrictions, "id-RAT-Restrictions" },
2778 { id_UEContextReferenceatSourceeNB, "id-UEContextReferenceatSourceeNB" },
2779 { id_Unknown_338, "id-Unknown-338" },
2780 { id_LTE_NTN_TAI_Information, "id-LTE-NTN-TAI-Information" },
2781 { id_SourceNodeTransportLayerAddress, "id-SourceNodeTransportLayerAddress" },
2782 { id_E_RABToBeUpdatedList, "id-E-RABToBeUpdatedList" },
2783 { id_E_RABToBeUpdatedItem, "id-E-RABToBeUpdatedItem" },
2784 { id_SourceSNID, "id-SourceSNID" },
2785 { id_LoggedMDTTrigger, "id-LoggedMDTTrigger" },
2786 { id_SensorMeasurementConfiguration, "id-SensorMeasurementConfiguration" },
2787 { id_M4ReportAmount, "id-M4ReportAmount" },
2788 { id_M5ReportAmount, "id-M5ReportAmount" },
2789 { id_M6ReportAmount, "id-M6ReportAmount" },
2790 { id_M7ReportAmount, "id-M7ReportAmount" },
2791 { id_TimeBasedHandoverInformation, "id-TimeBasedHandoverInformation" },
2792 { id_Bearers_SubjectToDLDiscarding_Item, "id-Bearers-SubjectToDLDiscarding-Item" },
2793 { id_Bearers_SubjectToDLDiscardingList, "id-Bearers-SubjectToDLDiscardingList" },
2794 { 0, NULL }
2797 static value_string_ext s1ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(s1ap_ProtocolIE_ID_vals);
2800 static int
2801 dissect_s1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2802 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2803 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2804 0U, 65535U, &s1ap_data->protocol_ie_id, false);
2808 if (tree) {
2809 proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
2810 val_to_str_ext(s1ap_data->protocol_ie_id, &s1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
2812 return offset;
2816 static const value_string s1ap_TriggeringMessage_vals[] = {
2817 { 0, "initiating-message" },
2818 { 1, "successful-outcome" },
2819 { 2, "unsuccessfull-outcome" },
2820 { 0, NULL }
2824 static int
2825 dissect_s1ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2826 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2827 3, NULL, false, 0, NULL);
2829 return offset;
2834 static int
2835 dissect_s1ap_T_ie_field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2836 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
2838 return offset;
2842 static const per_sequence_t ProtocolIE_Field_sequence[] = {
2843 { &hf_s1ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_ID },
2844 { &hf_s1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
2845 { &hf_s1ap_ie_field_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_T_ie_field_value },
2846 { NULL, 0, 0, NULL }
2849 static int
2850 dissect_s1ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2851 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2852 ett_s1ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
2854 return offset;
2858 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
2859 { &hf_s1ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Field },
2862 static int
2863 dissect_s1ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2864 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2865 ett_s1ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
2866 0, maxProtocolIEs, false);
2868 return offset;
2873 static int
2874 dissect_s1ap_ProtocolIE_SingleContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2875 offset = dissect_s1ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
2877 return offset;
2881 static const per_sequence_t ProtocolIE_ContainerList_sequence_of[1] = {
2882 { &hf_s1ap_ProtocolIE_ContainerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
2885 static int
2886 dissect_s1ap_ProtocolIE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2887 static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
2888 { "lowerBound", ASN1_PAR_INTEGER },
2889 { "upperBound", ASN1_PAR_INTEGER },
2890 { NULL, (asn1_par_type)0 }
2892 asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
2893 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2894 ett_s1ap_ProtocolIE_ContainerList, ProtocolIE_ContainerList_sequence_of,
2895 asn1_param_get_integer(actx,"lowerBound"), asn1_param_get_integer(actx,"upperBound"), false);
2897 return offset;
2902 static int
2903 dissect_s1ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2904 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
2906 return offset;
2910 static const per_sequence_t ProtocolExtensionField_sequence[] = {
2911 { &hf_s1ap_ext_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolExtensionID },
2912 { &hf_s1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
2913 { &hf_s1ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_T_extensionValue },
2914 { NULL, 0, 0, NULL }
2917 static int
2918 dissect_s1ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2919 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2920 ett_s1ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
2922 return offset;
2926 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
2927 { &hf_s1ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolExtensionField },
2930 static int
2931 dissect_s1ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2932 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2933 ett_s1ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
2934 1, maxProtocolExtensions, false);
2936 return offset;
2941 static int
2942 dissect_s1ap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2943 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2944 if (s1ap_data->obj_id) {
2945 offset = call_per_oid_callback(s1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
2946 } else {
2947 offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
2954 return offset;
2958 static const per_sequence_t PrivateIE_Field_sequence[] = {
2959 { &hf_s1ap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PrivateIE_ID },
2960 { &hf_s1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
2961 { &hf_s1ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_T_value },
2962 { NULL, 0, 0, NULL }
2965 static int
2966 dissect_s1ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2967 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2968 ett_s1ap_PrivateIE_Field, PrivateIE_Field_sequence);
2970 return offset;
2974 static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
2975 { &hf_s1ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PrivateIE_Field },
2978 static int
2979 dissect_s1ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2980 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2981 ett_s1ap_PrivateIE_Container, PrivateIE_Container_sequence_of,
2982 1, maxPrivateIEs, false);
2984 return offset;
2990 static int
2991 dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2992 tvbuff_t *parameter_tvb=NULL;
2993 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
2994 e212_number_type_t number_type = s1ap_data->number_type;
2995 s1ap_data->number_type = E212_NONE;
2997 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2998 3, 3, false, &parameter_tvb);
2999 if(tvb_reported_length(tvb)==0)
3000 return offset;
3002 if (!parameter_tvb)
3003 return offset;
3004 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, false);
3005 if (s1ap_data->supported_ta) {
3006 uint32_t plmn = tvb_get_ntoh24(parameter_tvb, 0);
3007 wmem_array_append_one(s1ap_data->supported_ta->plmn, plmn);
3008 } else if (s1ap_data->tai) {
3009 s1ap_data->tai->plmn = tvb_get_ntoh24(parameter_tvb, 0);
3012 return offset;
3017 static int
3018 dissect_s1ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3019 tvbuff_t *parameter_tvb = NULL;
3020 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
3021 2, 2, false, &parameter_tvb);
3023 if (parameter_tvb) {
3024 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
3028 return offset;
3033 static int
3034 dissect_s1ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3035 tvbuff_t *parameter_tvb = NULL;
3036 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
3037 1, 1, false, &parameter_tvb);
3039 if (parameter_tvb) {
3040 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
3044 return offset;
3048 static const per_sequence_t GUMMEI_sequence[] = {
3049 { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
3050 { &hf_s1ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Group_ID },
3051 { &hf_s1ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code },
3052 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3053 { NULL, 0, 0, NULL }
3056 static int
3057 dissect_s1ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3058 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
3059 s1ap_data->number_type = E212_GUMMEI;
3060 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3061 ett_s1ap_GUMMEI, GUMMEI_sequence);
3065 return offset;
3070 static int
3071 dissect_s1ap_M_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3072 tvbuff_t *parameter_tvb = NULL;
3073 proto_item *ti;
3074 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
3075 4, 4, false, &parameter_tvb);
3077 if (parameter_tvb) {
3078 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
3079 ti = proto_tree_add_item(tree, hf_3gpp_tmsi, tvb, 0, 4, ENC_BIG_ENDIAN);
3080 proto_item_set_hidden(ti);
3085 return offset;
3089 static const per_sequence_t Additional_GUTI_sequence[] = {
3090 { &hf_s1ap_gUMMEI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GUMMEI },
3091 { &hf_s1ap_m_TMSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M_TMSI },
3092 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3093 { NULL, 0, 0, NULL }
3096 static int
3097 dissect_s1ap_Additional_GUTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3098 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3099 ett_s1ap_Additional_GUTI, Additional_GUTI_sequence);
3101 return offset;
3106 static int
3107 dissect_s1ap_AdditionalRRMPriorityIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3108 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3109 32, 32, false, NULL, 0, NULL, NULL);
3111 return offset;
3115 static const value_string s1ap_AerialUEsubscriptionInformation_vals[] = {
3116 { 0, "allowed" },
3117 { 1, "not-allowed" },
3118 { 0, NULL }
3122 static int
3123 dissect_s1ap_AerialUEsubscriptionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3124 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3125 2, NULL, true, 0, NULL);
3127 return offset;
3132 static int
3133 dissect_s1ap_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3134 tvbuff_t *cell_id_tvb = NULL;
3135 offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
3136 28, 28, false, NULL, 0, &cell_id_tvb, NULL);
3138 if (cell_id_tvb) {
3139 actx->created_item = proto_tree_add_item(tree, hf_index, cell_id_tvb, 0, 4, ENC_BIG_ENDIAN);
3142 return offset;
3146 static const per_sequence_t EUTRAN_CGI_sequence[] = {
3147 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
3148 { &hf_s1ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdentity },
3149 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3150 { NULL, 0, 0, NULL }
3153 static int
3154 dissect_s1ap_EUTRAN_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3155 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
3156 s1ap_data->number_type = E212_ECGI;
3157 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3158 ett_s1ap_EUTRAN_CGI, EUTRAN_CGI_sequence);
3162 return offset;
3166 static const per_sequence_t CellIdListforMDT_sequence_of[1] = {
3167 { &hf_s1ap_CellIdListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
3170 static int
3171 dissect_s1ap_CellIdListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3172 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3173 ett_s1ap_CellIdListforMDT, CellIdListforMDT_sequence_of,
3174 1, maxnoofCellIDforMDT, false);
3176 return offset;
3180 static const per_sequence_t CellBasedMDT_sequence[] = {
3181 { &hf_s1ap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdListforMDT },
3182 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3183 { NULL, 0, 0, NULL }
3186 static int
3187 dissect_s1ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3188 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3189 ett_s1ap_CellBasedMDT, CellBasedMDT_sequence);
3191 return offset;
3196 static int
3197 dissect_s1ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3198 tvbuff_t *parameter_tvb = NULL;
3199 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
3200 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
3201 2, 2, false, &parameter_tvb);
3203 if (parameter_tvb) {
3204 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
3205 if (s1ap_data->supported_ta) {
3206 s1ap_data->supported_ta->tac = tvb_get_ntohs(parameter_tvb, 0);
3207 } else if (s1ap_data->tai) {
3208 s1ap_data->tai->tac = tvb_get_ntohs(parameter_tvb, 0);
3213 return offset;
3217 static const per_sequence_t TAListforMDT_sequence_of[1] = {
3218 { &hf_s1ap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
3221 static int
3222 dissect_s1ap_TAListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3223 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3224 ett_s1ap_TAListforMDT, TAListforMDT_sequence_of,
3225 1, maxnoofTAforMDT, false);
3227 return offset;
3231 static const per_sequence_t TABasedMDT_sequence[] = {
3232 { &hf_s1ap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAListforMDT },
3233 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3234 { NULL, 0, 0, NULL }
3237 static int
3238 dissect_s1ap_TABasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3239 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3240 ett_s1ap_TABasedMDT, TABasedMDT_sequence);
3242 return offset;
3247 static int
3248 dissect_s1ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3249 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
3251 return offset;
3255 static const per_sequence_t TAI_sequence[] = {
3256 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
3257 { &hf_s1ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
3258 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3259 { NULL, 0, 0, NULL }
3262 static int
3263 dissect_s1ap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3264 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
3265 s1ap_data->number_type = E212_TAI;
3266 s1ap_data->tai = wmem_new0(actx->pinfo->pool, struct s1ap_tai);
3267 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3268 ett_s1ap_TAI, TAI_sequence);
3270 if (!PINFO_FD_VISITED(actx->pinfo) && s1ap_data->s1ap_conv &&
3271 (s1ap_data->message_type == INITIATING_MESSAGE) &&
3272 (s1ap_data->procedure_code == id_initialUEMessage)) {
3273 uint64_t key = (s1ap_data->tai->plmn << 16) | s1ap_data->tai->tac;
3275 if (wmem_map_lookup(s1ap_data->s1ap_conv->nbiot_ta, &key)) {
3276 wmem_tree_key_t tree_key[3];
3277 uint32_t *id = wmem_new(wmem_file_scope(), uint32_t);
3279 *id = s1ap_data->enb_ue_s1ap_id;
3280 tree_key[0].length = 1;
3281 tree_key[0].key = id;
3282 tree_key[1].length = 1;
3283 tree_key[1].key = &actx->pinfo->num;
3284 tree_key[2].length = 0;
3285 tree_key[2].key = NULL;
3286 wmem_tree_insert32_array(s1ap_data->s1ap_conv->nbiot_enb_ue_s1ap_id, tree_key, id);
3291 return offset;
3295 static const per_sequence_t TAIListforMDT_sequence_of[1] = {
3296 { &hf_s1ap_TAIListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
3299 static int
3300 dissect_s1ap_TAIListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3301 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3302 ett_s1ap_TAIListforMDT, TAIListforMDT_sequence_of,
3303 1, maxnoofTAforMDT, false);
3305 return offset;
3309 static const per_sequence_t TAIBasedMDT_sequence[] = {
3310 { &hf_s1ap_tAIListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAIListforMDT },
3311 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3312 { NULL, 0, 0, NULL }
3315 static int
3316 dissect_s1ap_TAIBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3317 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3318 ett_s1ap_TAIBasedMDT, TAIBasedMDT_sequence);
3320 return offset;
3324 static const value_string s1ap_AreaScopeOfMDT_vals[] = {
3325 { 0, "cellBased" },
3326 { 1, "tABased" },
3327 { 2, "pLMNWide" },
3328 { 3, "tAIBased" },
3329 { 0, NULL }
3332 static const per_choice_t AreaScopeOfMDT_choice[] = {
3333 { 0, &hf_s1ap_cellBased , ASN1_EXTENSION_ROOT , dissect_s1ap_CellBasedMDT },
3334 { 1, &hf_s1ap_tABased , ASN1_EXTENSION_ROOT , dissect_s1ap_TABasedMDT },
3335 { 2, &hf_s1ap_pLMNWide , ASN1_EXTENSION_ROOT , dissect_s1ap_NULL },
3336 { 3, &hf_s1ap_tAIBased , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_TAIBasedMDT },
3337 { 0, NULL, 0, NULL }
3340 static int
3341 dissect_s1ap_AreaScopeOfMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3342 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3343 ett_s1ap_AreaScopeOfMDT, AreaScopeOfMDT_choice,
3344 NULL);
3346 return offset;
3350 static const per_sequence_t CellIdListforQMC_sequence_of[1] = {
3351 { &hf_s1ap_CellIdListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
3354 static int
3355 dissect_s1ap_CellIdListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3356 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3357 ett_s1ap_CellIdListforQMC, CellIdListforQMC_sequence_of,
3358 1, maxnoofCellIDforQMC, false);
3360 return offset;
3364 static const per_sequence_t CellBasedQMC_sequence[] = {
3365 { &hf_s1ap_cellIdListforQMC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdListforQMC },
3366 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3367 { NULL, 0, 0, NULL }
3370 static int
3371 dissect_s1ap_CellBasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3372 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3373 ett_s1ap_CellBasedQMC, CellBasedQMC_sequence);
3375 return offset;
3379 static const per_sequence_t TAListforQMC_sequence_of[1] = {
3380 { &hf_s1ap_TAListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
3383 static int
3384 dissect_s1ap_TAListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3385 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3386 ett_s1ap_TAListforQMC, TAListforQMC_sequence_of,
3387 1, maxnoofTAforQMC, false);
3389 return offset;
3393 static const per_sequence_t TABasedQMC_sequence[] = {
3394 { &hf_s1ap_tAListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAListforQMC },
3395 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3396 { NULL, 0, 0, NULL }
3399 static int
3400 dissect_s1ap_TABasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3401 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3402 ett_s1ap_TABasedQMC, TABasedQMC_sequence);
3404 return offset;
3408 static const per_sequence_t TAIListforQMC_sequence_of[1] = {
3409 { &hf_s1ap_TAIListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
3412 static int
3413 dissect_s1ap_TAIListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3414 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3415 ett_s1ap_TAIListforQMC, TAIListforQMC_sequence_of,
3416 1, maxnoofTAforQMC, false);
3418 return offset;
3422 static const per_sequence_t TAIBasedQMC_sequence[] = {
3423 { &hf_s1ap_tAIListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAIListforQMC },
3424 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3425 { NULL, 0, 0, NULL }
3428 static int
3429 dissect_s1ap_TAIBasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3430 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3431 ett_s1ap_TAIBasedQMC, TAIBasedQMC_sequence);
3433 return offset;
3437 static const per_sequence_t PLMNListforQMC_sequence_of[1] = {
3438 { &hf_s1ap_PLMNListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
3441 static int
3442 dissect_s1ap_PLMNListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3443 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3444 ett_s1ap_PLMNListforQMC, PLMNListforQMC_sequence_of,
3445 1, maxnoofPLMNforQMC, false);
3447 return offset;
3451 static const per_sequence_t PLMNAreaBasedQMC_sequence[] = {
3452 { &hf_s1ap_plmnListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNListforQMC },
3453 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3454 { NULL, 0, 0, NULL }
3457 static int
3458 dissect_s1ap_PLMNAreaBasedQMC(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_s1ap_PLMNAreaBasedQMC, PLMNAreaBasedQMC_sequence);
3462 return offset;
3466 static const value_string s1ap_AreaScopeOfQMC_vals[] = {
3467 { 0, "cellBased" },
3468 { 1, "tABased" },
3469 { 2, "tAIBased" },
3470 { 3, "pLMNAreaBased" },
3471 { 0, NULL }
3474 static const per_choice_t AreaScopeOfQMC_choice[] = {
3475 { 0, &hf_s1ap_cellBased_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_CellBasedQMC },
3476 { 1, &hf_s1ap_tABased_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_TABasedQMC },
3477 { 2, &hf_s1ap_tAIBased_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_TAIBasedQMC },
3478 { 3, &hf_s1ap_pLMNAreaBased , ASN1_EXTENSION_ROOT , dissect_s1ap_PLMNAreaBasedQMC },
3479 { 0, NULL, 0, NULL }
3482 static int
3483 dissect_s1ap_AreaScopeOfQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3484 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3485 ett_s1ap_AreaScopeOfQMC, AreaScopeOfQMC_choice,
3486 NULL);
3488 return offset;
3492 static const value_string s1ap_PriorityLevel_vals[] = {
3493 { 0, "spare" },
3494 { 1, "highest" },
3495 { 14, "lowest" },
3496 { 15, "no-priority" },
3497 { 0, NULL }
3501 static int
3502 dissect_s1ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3503 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3504 0U, 15U, NULL, false);
3506 return offset;
3510 static const value_string s1ap_Pre_emptionCapability_vals[] = {
3511 { 0, "shall-not-trigger-pre-emption" },
3512 { 1, "may-trigger-pre-emption" },
3513 { 0, NULL }
3517 static int
3518 dissect_s1ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3519 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3520 2, NULL, false, 0, NULL);
3522 return offset;
3526 static const value_string s1ap_Pre_emptionVulnerability_vals[] = {
3527 { 0, "not-pre-emptable" },
3528 { 1, "pre-emptable" },
3529 { 0, NULL }
3533 static int
3534 dissect_s1ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3535 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3536 2, NULL, false, 0, NULL);
3538 return offset;
3542 static const per_sequence_t AllocationAndRetentionPriority_sequence[] = {
3543 { &hf_s1ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PriorityLevel },
3544 { &hf_s1ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Pre_emptionCapability },
3545 { &hf_s1ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Pre_emptionVulnerability },
3546 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3547 { NULL, 0, 0, NULL }
3550 static int
3551 dissect_s1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3552 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3553 ett_s1ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence);
3555 return offset;
3560 static int
3561 dissect_s1ap_CELevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3562 tvbuff_t *parameter_tvb;
3563 proto_tree *subtree;
3564 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3565 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3567 if (!parameter_tvb)
3568 return offset;
3570 if (g_s1ap_dissect_container) {
3571 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_CELevel);
3572 volatile int saved_offset = offset;
3573 if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
3574 (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
3575 TRY {
3576 dissect_lte_rrc_UEPagingCoverageInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
3578 CATCH_BOUNDS_ERRORS {
3579 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
3581 ENDTRY;
3582 } else {
3583 TRY {
3584 dissect_lte_rrc_UEPagingCoverageInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
3586 CATCH_BOUNDS_ERRORS {
3587 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
3589 ENDTRY;
3591 offset = saved_offset;
3595 return offset;
3599 static const per_sequence_t CellIdentifierAndCELevelForCECapableUEs_sequence[] = {
3600 { &hf_s1ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
3601 { &hf_s1ap_cELevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CELevel },
3602 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3603 { NULL, 0, 0, NULL }
3606 static int
3607 dissect_s1ap_CellIdentifierAndCELevelForCECapableUEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3608 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3609 ett_s1ap_CellIdentifierAndCELevelForCECapableUEs, CellIdentifierAndCELevelForCECapableUEs_sequence);
3611 return offset;
3615 static const per_sequence_t AssistanceDataForCECapableUEs_sequence[] = {
3616 { &hf_s1ap_cellIdentifierAndCELevelForCECapableUEs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdentifierAndCELevelForCECapableUEs },
3617 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3618 { NULL, 0, 0, NULL }
3621 static int
3622 dissect_s1ap_AssistanceDataForCECapableUEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3623 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3624 ett_s1ap_AssistanceDataForCECapableUEs, AssistanceDataForCECapableUEs_sequence);
3626 return offset;
3630 static const per_sequence_t RecommendedCellList_sequence_of[1] = {
3631 { &hf_s1ap_RecommendedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3634 static int
3635 dissect_s1ap_RecommendedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3636 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3637 ett_s1ap_RecommendedCellList, RecommendedCellList_sequence_of,
3638 1, maxnoofRecommendedCells, false);
3640 return offset;
3644 static const per_sequence_t RecommendedCellsForPaging_sequence[] = {
3645 { &hf_s1ap_recommendedCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedCellList },
3646 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3647 { NULL, 0, 0, NULL }
3650 static int
3651 dissect_s1ap_RecommendedCellsForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3652 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3653 ett_s1ap_RecommendedCellsForPaging, RecommendedCellsForPaging_sequence);
3655 return offset;
3659 static const per_sequence_t AssistanceDataForRecommendedCells_sequence[] = {
3660 { &hf_s1ap_recommendedCellsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedCellsForPaging },
3661 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3662 { NULL, 0, 0, NULL }
3665 static int
3666 dissect_s1ap_AssistanceDataForRecommendedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3667 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3668 ett_s1ap_AssistanceDataForRecommendedCells, AssistanceDataForRecommendedCells_sequence);
3670 return offset;
3675 static int
3676 dissect_s1ap_PagingAttemptCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3677 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3678 1U, 16U, NULL, true);
3680 return offset;
3685 static int
3686 dissect_s1ap_IntendedNumberOfPagingAttempts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3687 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3688 1U, 16U, NULL, true);
3690 return offset;
3694 static const value_string s1ap_NextPagingAreaScope_vals[] = {
3695 { 0, "same" },
3696 { 1, "changed" },
3697 { 0, NULL }
3701 static int
3702 dissect_s1ap_NextPagingAreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3703 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3704 2, NULL, true, 0, NULL);
3706 return offset;
3710 static const per_sequence_t PagingAttemptInformation_sequence[] = {
3711 { &hf_s1ap_pagingAttemptCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PagingAttemptCount },
3712 { &hf_s1ap_intendedNumberOfPagingAttempts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IntendedNumberOfPagingAttempts },
3713 { &hf_s1ap_nextPagingAreaScope, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_NextPagingAreaScope },
3714 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3715 { NULL, 0, 0, NULL }
3718 static int
3719 dissect_s1ap_PagingAttemptInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3720 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3721 ett_s1ap_PagingAttemptInformation, PagingAttemptInformation_sequence);
3723 return offset;
3727 static const per_sequence_t AssistanceDataForPaging_sequence[] = {
3728 { &hf_s1ap_assistanceDataForRecommendedCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_AssistanceDataForRecommendedCells },
3729 { &hf_s1ap_assistanceDataForCECapableUEs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_AssistanceDataForCECapableUEs },
3730 { &hf_s1ap_pagingAttemptInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PagingAttemptInformation },
3731 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3732 { NULL, 0, 0, NULL }
3735 static int
3736 dissect_s1ap_AssistanceDataForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3737 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3738 ett_s1ap_AssistanceDataForPaging, AssistanceDataForPaging_sequence);
3740 return offset;
3744 static const per_sequence_t Bearers_SubjectToStatusTransferList_sequence_of[1] = {
3745 { &hf_s1ap_Bearers_SubjectToStatusTransferList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3748 static int
3749 dissect_s1ap_Bearers_SubjectToStatusTransferList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3750 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3751 ett_s1ap_Bearers_SubjectToStatusTransferList, Bearers_SubjectToStatusTransferList_sequence_of,
3752 1, maxnoofE_RABs, false);
3754 return offset;
3759 static int
3760 dissect_s1ap_E_RAB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3761 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3762 0U, 15U, NULL, true);
3764 return offset;
3769 static int
3770 dissect_s1ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3771 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3772 0U, 4095U, NULL, false);
3774 return offset;
3779 static int
3780 dissect_s1ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3781 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3782 0U, 1048575U, NULL, false);
3784 return offset;
3788 static const per_sequence_t COUNTvalue_sequence[] = {
3789 { &hf_s1ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PDCP_SN },
3790 { &hf_s1ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HFN },
3791 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3792 { NULL, 0, 0, NULL }
3795 static int
3796 dissect_s1ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3797 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3798 ett_s1ap_COUNTvalue, COUNTvalue_sequence);
3800 return offset;
3805 static int
3806 dissect_s1ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3807 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3808 4096, 4096, false, NULL, 0, NULL, NULL);
3810 return offset;
3814 static const per_sequence_t Bearers_SubjectToStatusTransfer_Item_sequence[] = {
3815 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
3816 { &hf_s1ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_COUNTvalue },
3817 { &hf_s1ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_COUNTvalue },
3818 { &hf_s1ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ReceiveStatusofULPDCPSDUs },
3819 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3820 { NULL, 0, 0, NULL }
3823 static int
3824 dissect_s1ap_Bearers_SubjectToStatusTransfer_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3825 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3826 ett_s1ap_Bearers_SubjectToStatusTransfer_Item, Bearers_SubjectToStatusTransfer_Item_sequence);
3828 return offset;
3832 static const per_sequence_t Bearers_SubjectToEarlyStatusTransferList_sequence_of[1] = {
3833 { &hf_s1ap_Bearers_SubjectToEarlyStatusTransferList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3836 static int
3837 dissect_s1ap_Bearers_SubjectToEarlyStatusTransferList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3838 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3839 ett_s1ap_Bearers_SubjectToEarlyStatusTransferList, Bearers_SubjectToEarlyStatusTransferList_sequence_of,
3840 1, maxnoofE_RABs, false);
3842 return offset;
3847 static int
3848 dissect_s1ap_PDCP_SNExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3849 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3850 0U, 32767U, NULL, false);
3852 return offset;
3857 static int
3858 dissect_s1ap_HFNModified(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3859 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3860 0U, 131071U, NULL, false);
3862 return offset;
3866 static const per_sequence_t COUNTValueExtended_sequence[] = {
3867 { &hf_s1ap_pDCP_SNExtended, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PDCP_SNExtended },
3868 { &hf_s1ap_hFNModified , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HFNModified },
3869 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3870 { NULL, 0, 0, NULL }
3873 static int
3874 dissect_s1ap_COUNTValueExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3875 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3876 ett_s1ap_COUNTValueExtended, COUNTValueExtended_sequence);
3878 return offset;
3883 static int
3884 dissect_s1ap_PDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3885 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3886 0U, 262143U, NULL, false);
3888 return offset;
3893 static int
3894 dissect_s1ap_HFNforPDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3895 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3896 0U, 16383U, NULL, false);
3898 return offset;
3902 static const per_sequence_t COUNTvaluePDCP_SNlength18_sequence[] = {
3903 { &hf_s1ap_pDCP_SNlength18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PDCP_SNlength18 },
3904 { &hf_s1ap_hFNforPDCP_SNlength18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HFNforPDCP_SNlength18 },
3905 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3906 { NULL, 0, 0, NULL }
3909 static int
3910 dissect_s1ap_COUNTvaluePDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3911 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3912 ett_s1ap_COUNTvaluePDCP_SNlength18, COUNTvaluePDCP_SNlength18_sequence);
3914 return offset;
3918 static const value_string s1ap_DLCOUNT_PDCP_SNlength_vals[] = {
3919 { 0, "dLCOUNTValuePDCP-SNlength12" },
3920 { 1, "dLCOUNTValuePDCP-SNlength15" },
3921 { 2, "dLCOUNTValuePDCP-SNlength18" },
3922 { 0, NULL }
3925 static const per_choice_t DLCOUNT_PDCP_SNlength_choice[] = {
3926 { 0, &hf_s1ap_dLCOUNTValuePDCP_SNlength12, ASN1_EXTENSION_ROOT , dissect_s1ap_COUNTvalue },
3927 { 1, &hf_s1ap_dLCOUNTValuePDCP_SNlength15, ASN1_EXTENSION_ROOT , dissect_s1ap_COUNTValueExtended },
3928 { 2, &hf_s1ap_dLCOUNTValuePDCP_SNlength18, ASN1_EXTENSION_ROOT , dissect_s1ap_COUNTvaluePDCP_SNlength18 },
3929 { 0, NULL, 0, NULL }
3932 static int
3933 dissect_s1ap_DLCOUNT_PDCP_SNlength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3934 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3935 ett_s1ap_DLCOUNT_PDCP_SNlength, DLCOUNT_PDCP_SNlength_choice,
3936 NULL);
3938 return offset;
3942 static const per_sequence_t Bearers_SubjectToEarlyStatusTransfer_Item_sequence[] = {
3943 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
3944 { &hf_s1ap_dLCOUNT_PDCP_SNlength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DLCOUNT_PDCP_SNlength },
3945 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
3946 { NULL, 0, 0, NULL }
3949 static int
3950 dissect_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3951 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3952 ett_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item, Bearers_SubjectToEarlyStatusTransfer_Item_sequence);
3954 return offset;
3958 static const per_sequence_t Bearers_SubjectToDLDiscardingList_sequence_of[1] = {
3959 { &hf_s1ap_Bearers_SubjectToDLDiscardingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3962 static int
3963 dissect_s1ap_Bearers_SubjectToDLDiscardingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3964 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3965 ett_s1ap_Bearers_SubjectToDLDiscardingList, Bearers_SubjectToDLDiscardingList_sequence_of,
3966 1, maxnoofE_RABs, false);
3968 return offset;
3972 static const value_string s1ap_DLDiscarding_vals[] = {
3973 { 0, "discardDLCOUNTValuePDCP-SNlength12" },
3974 { 1, "discardDLCOUNTValuePDCP-SNlength15" },
3975 { 2, "discardDLCOUNTValuePDCP-SNlength18" },
3976 { 0, NULL }
3979 static const per_choice_t DLDiscarding_choice[] = {
3980 { 0, &hf_s1ap_discardDLCOUNTValuePDCP_SNlength12, ASN1_EXTENSION_ROOT , dissect_s1ap_COUNTvalue },
3981 { 1, &hf_s1ap_discardDLCOUNTValuePDCP_SNlength15, ASN1_EXTENSION_ROOT , dissect_s1ap_COUNTValueExtended },
3982 { 2, &hf_s1ap_discardDLCOUNTValuePDCP_SNlength18, ASN1_EXTENSION_ROOT , dissect_s1ap_COUNTvaluePDCP_SNlength18 },
3983 { 0, NULL, 0, NULL }
3986 static int
3987 dissect_s1ap_DLDiscarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3988 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3989 ett_s1ap_DLDiscarding, DLDiscarding_choice,
3990 NULL);
3992 return offset;
3996 static const per_sequence_t Bearers_SubjectToDLDiscarding_Item_sequence[] = {
3997 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
3998 { &hf_s1ap_dL_Discarding , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DLDiscarding },
3999 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4000 { NULL, 0, 0, NULL }
4003 static int
4004 dissect_s1ap_Bearers_SubjectToDLDiscarding_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4005 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4006 ett_s1ap_Bearers_SubjectToDLDiscarding_Item, Bearers_SubjectToDLDiscarding_Item_sequence);
4008 return offset;
4012 static const value_string s1ap_BearerType_vals[] = {
4013 { 0, "non-IP" },
4014 { 0, NULL }
4018 static int
4019 dissect_s1ap_BearerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4020 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4021 1, NULL, true, 0, NULL);
4023 return offset;
4028 static int
4029 dissect_s1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4030 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
4031 0U, UINT64_C(10000000000), NULL, false);
4033 return offset;
4037 static const value_string s1ap_BluetoothMeasConfig_vals[] = {
4038 { 0, "setup" },
4039 { 0, NULL }
4043 static int
4044 dissect_s1ap_BluetoothMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4045 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4046 1, NULL, true, 0, NULL);
4048 return offset;
4053 static int
4054 dissect_s1ap_BluetoothName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4055 tvbuff_t *parameter_tvb = NULL;
4056 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
4057 1, 248, false, &parameter_tvb);
4059 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
4061 return offset;
4065 static const per_sequence_t BluetoothMeasConfigNameList_sequence_of[1] = {
4066 { &hf_s1ap_BluetoothMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_BluetoothName },
4069 static int
4070 dissect_s1ap_BluetoothMeasConfigNameList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4071 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4072 ett_s1ap_BluetoothMeasConfigNameList, BluetoothMeasConfigNameList_sequence_of,
4073 1, maxnoofBluetoothName, false);
4075 return offset;
4079 static const value_string s1ap_T_bt_rssi_vals[] = {
4080 { 0, "true" },
4081 { 0, NULL }
4085 static int
4086 dissect_s1ap_T_bt_rssi(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4087 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4088 1, NULL, true, 0, NULL);
4090 return offset;
4094 static const per_sequence_t BluetoothMeasurementConfiguration_sequence[] = {
4095 { &hf_s1ap_bluetoothMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BluetoothMeasConfig },
4096 { &hf_s1ap_bluetoothMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_BluetoothMeasConfigNameList },
4097 { &hf_s1ap_bt_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_bt_rssi },
4098 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4099 { NULL, 0, 0, NULL }
4102 static int
4103 dissect_s1ap_BluetoothMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4104 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4105 ett_s1ap_BluetoothMeasurementConfiguration, BluetoothMeasurementConfiguration_sequence);
4107 return offset;
4111 static const per_sequence_t BPLMNs_sequence_of[1] = {
4112 { &hf_s1ap_BPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
4115 static int
4116 dissect_s1ap_BPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4117 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4118 ett_s1ap_BPLMNs, BPLMNs_sequence_of,
4119 1, maxnoofBPLMNs, false);
4121 return offset;
4126 static int
4127 dissect_s1ap_NumberOfBroadcasts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4128 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4129 0U, 65535U, NULL, false);
4131 return offset;
4135 static const per_sequence_t CellID_Cancelled_Item_sequence[] = {
4136 { &hf_s1ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
4137 { &hf_s1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NumberOfBroadcasts },
4138 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4139 { NULL, 0, 0, NULL }
4142 static int
4143 dissect_s1ap_CellID_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4144 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4145 ett_s1ap_CellID_Cancelled_Item, CellID_Cancelled_Item_sequence);
4147 return offset;
4151 static const per_sequence_t CellID_Cancelled_sequence_of[1] = {
4152 { &hf_s1ap_CellID_Cancelled_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CellID_Cancelled_Item },
4155 static int
4156 dissect_s1ap_CellID_Cancelled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4157 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4158 ett_s1ap_CellID_Cancelled, CellID_Cancelled_sequence_of,
4159 1, maxnoofCellID, false);
4161 return offset;
4165 static const per_sequence_t CancelledCellinTAI_Item_sequence[] = {
4166 { &hf_s1ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
4167 { &hf_s1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NumberOfBroadcasts },
4168 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4169 { NULL, 0, 0, NULL }
4172 static int
4173 dissect_s1ap_CancelledCellinTAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4174 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4175 ett_s1ap_CancelledCellinTAI_Item, CancelledCellinTAI_Item_sequence);
4177 return offset;
4181 static const per_sequence_t CancelledCellinTAI_sequence_of[1] = {
4182 { &hf_s1ap_CancelledCellinTAI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CancelledCellinTAI_Item },
4185 static int
4186 dissect_s1ap_CancelledCellinTAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4187 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4188 ett_s1ap_CancelledCellinTAI, CancelledCellinTAI_sequence_of,
4189 1, maxnoofCellinTAI, false);
4191 return offset;
4195 static const per_sequence_t TAI_Cancelled_Item_sequence[] = {
4196 { &hf_s1ap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
4197 { &hf_s1ap_cancelledCellinTAI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CancelledCellinTAI },
4198 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4199 { NULL, 0, 0, NULL }
4202 static int
4203 dissect_s1ap_TAI_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4204 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4205 ett_s1ap_TAI_Cancelled_Item, TAI_Cancelled_Item_sequence);
4207 return offset;
4211 static const per_sequence_t TAI_Cancelled_sequence_of[1] = {
4212 { &hf_s1ap_TAI_Cancelled_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI_Cancelled_Item },
4215 static int
4216 dissect_s1ap_TAI_Cancelled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4217 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4218 ett_s1ap_TAI_Cancelled, TAI_Cancelled_sequence_of,
4219 1, maxnoofTAIforWarning, false);
4221 return offset;
4226 static int
4227 dissect_s1ap_EmergencyAreaID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4228 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4229 3, 3, false, NULL);
4231 return offset;
4235 static const per_sequence_t CancelledCellinEAI_Item_sequence[] = {
4236 { &hf_s1ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
4237 { &hf_s1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NumberOfBroadcasts },
4238 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4239 { NULL, 0, 0, NULL }
4242 static int
4243 dissect_s1ap_CancelledCellinEAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4244 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4245 ett_s1ap_CancelledCellinEAI_Item, CancelledCellinEAI_Item_sequence);
4247 return offset;
4251 static const per_sequence_t CancelledCellinEAI_sequence_of[1] = {
4252 { &hf_s1ap_CancelledCellinEAI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CancelledCellinEAI_Item },
4255 static int
4256 dissect_s1ap_CancelledCellinEAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4257 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4258 ett_s1ap_CancelledCellinEAI, CancelledCellinEAI_sequence_of,
4259 1, maxnoofCellinEAI, false);
4261 return offset;
4265 static const per_sequence_t EmergencyAreaID_Cancelled_Item_sequence[] = {
4266 { &hf_s1ap_emergencyAreaID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID },
4267 { &hf_s1ap_cancelledCellinEAI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CancelledCellinEAI },
4268 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4269 { NULL, 0, 0, NULL }
4272 static int
4273 dissect_s1ap_EmergencyAreaID_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4274 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4275 ett_s1ap_EmergencyAreaID_Cancelled_Item, EmergencyAreaID_Cancelled_Item_sequence);
4277 return offset;
4281 static const per_sequence_t EmergencyAreaID_Cancelled_sequence_of[1] = {
4282 { &hf_s1ap_EmergencyAreaID_Cancelled_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID_Cancelled_Item },
4285 static int
4286 dissect_s1ap_EmergencyAreaID_Cancelled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4287 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4288 ett_s1ap_EmergencyAreaID_Cancelled, EmergencyAreaID_Cancelled_sequence_of,
4289 1, maxnoofEmergencyAreaID, false);
4291 return offset;
4295 static const value_string s1ap_BroadcastCancelledAreaList_vals[] = {
4296 { 0, "cellID-Cancelled" },
4297 { 1, "tAI-Cancelled" },
4298 { 2, "emergencyAreaID-Cancelled" },
4299 { 0, NULL }
4302 static const per_choice_t BroadcastCancelledAreaList_choice[] = {
4303 { 0, &hf_s1ap_cellID_Cancelled, ASN1_EXTENSION_ROOT , dissect_s1ap_CellID_Cancelled },
4304 { 1, &hf_s1ap_tAI_Cancelled , ASN1_EXTENSION_ROOT , dissect_s1ap_TAI_Cancelled },
4305 { 2, &hf_s1ap_emergencyAreaID_Cancelled, ASN1_EXTENSION_ROOT , dissect_s1ap_EmergencyAreaID_Cancelled },
4306 { 0, NULL, 0, NULL }
4309 static int
4310 dissect_s1ap_BroadcastCancelledAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4311 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4312 ett_s1ap_BroadcastCancelledAreaList, BroadcastCancelledAreaList_choice,
4313 NULL);
4315 return offset;
4319 static const per_sequence_t CellID_Broadcast_Item_sequence[] = {
4320 { &hf_s1ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
4321 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4322 { NULL, 0, 0, NULL }
4325 static int
4326 dissect_s1ap_CellID_Broadcast_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4327 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4328 ett_s1ap_CellID_Broadcast_Item, CellID_Broadcast_Item_sequence);
4330 return offset;
4334 static const per_sequence_t CellID_Broadcast_sequence_of[1] = {
4335 { &hf_s1ap_CellID_Broadcast_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CellID_Broadcast_Item },
4338 static int
4339 dissect_s1ap_CellID_Broadcast(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4340 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4341 ett_s1ap_CellID_Broadcast, CellID_Broadcast_sequence_of,
4342 1, maxnoofCellID, false);
4344 return offset;
4348 static const per_sequence_t CompletedCellinTAI_Item_sequence[] = {
4349 { &hf_s1ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
4350 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4351 { NULL, 0, 0, NULL }
4354 static int
4355 dissect_s1ap_CompletedCellinTAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4356 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4357 ett_s1ap_CompletedCellinTAI_Item, CompletedCellinTAI_Item_sequence);
4359 return offset;
4363 static const per_sequence_t CompletedCellinTAI_sequence_of[1] = {
4364 { &hf_s1ap_CompletedCellinTAI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CompletedCellinTAI_Item },
4367 static int
4368 dissect_s1ap_CompletedCellinTAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4369 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4370 ett_s1ap_CompletedCellinTAI, CompletedCellinTAI_sequence_of,
4371 1, maxnoofCellinTAI, false);
4373 return offset;
4377 static const per_sequence_t TAI_Broadcast_Item_sequence[] = {
4378 { &hf_s1ap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
4379 { &hf_s1ap_completedCellinTAI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CompletedCellinTAI },
4380 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4381 { NULL, 0, 0, NULL }
4384 static int
4385 dissect_s1ap_TAI_Broadcast_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4386 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4387 ett_s1ap_TAI_Broadcast_Item, TAI_Broadcast_Item_sequence);
4389 return offset;
4393 static const per_sequence_t TAI_Broadcast_sequence_of[1] = {
4394 { &hf_s1ap_TAI_Broadcast_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI_Broadcast_Item },
4397 static int
4398 dissect_s1ap_TAI_Broadcast(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4399 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4400 ett_s1ap_TAI_Broadcast, TAI_Broadcast_sequence_of,
4401 1, maxnoofTAIforWarning, false);
4403 return offset;
4407 static const per_sequence_t CompletedCellinEAI_Item_sequence[] = {
4408 { &hf_s1ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
4409 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4410 { NULL, 0, 0, NULL }
4413 static int
4414 dissect_s1ap_CompletedCellinEAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4415 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4416 ett_s1ap_CompletedCellinEAI_Item, CompletedCellinEAI_Item_sequence);
4418 return offset;
4422 static const per_sequence_t CompletedCellinEAI_sequence_of[1] = {
4423 { &hf_s1ap_CompletedCellinEAI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CompletedCellinEAI_Item },
4426 static int
4427 dissect_s1ap_CompletedCellinEAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4428 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4429 ett_s1ap_CompletedCellinEAI, CompletedCellinEAI_sequence_of,
4430 1, maxnoofCellinEAI, false);
4432 return offset;
4436 static const per_sequence_t EmergencyAreaID_Broadcast_Item_sequence[] = {
4437 { &hf_s1ap_emergencyAreaID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID },
4438 { &hf_s1ap_completedCellinEAI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CompletedCellinEAI },
4439 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4440 { NULL, 0, 0, NULL }
4443 static int
4444 dissect_s1ap_EmergencyAreaID_Broadcast_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4445 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4446 ett_s1ap_EmergencyAreaID_Broadcast_Item, EmergencyAreaID_Broadcast_Item_sequence);
4448 return offset;
4452 static const per_sequence_t EmergencyAreaID_Broadcast_sequence_of[1] = {
4453 { &hf_s1ap_EmergencyAreaID_Broadcast_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID_Broadcast_Item },
4456 static int
4457 dissect_s1ap_EmergencyAreaID_Broadcast(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4458 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4459 ett_s1ap_EmergencyAreaID_Broadcast, EmergencyAreaID_Broadcast_sequence_of,
4460 1, maxnoofEmergencyAreaID, false);
4462 return offset;
4466 static const value_string s1ap_BroadcastCompletedAreaList_vals[] = {
4467 { 0, "cellID-Broadcast" },
4468 { 1, "tAI-Broadcast" },
4469 { 2, "emergencyAreaID-Broadcast" },
4470 { 0, NULL }
4473 static const per_choice_t BroadcastCompletedAreaList_choice[] = {
4474 { 0, &hf_s1ap_cellID_Broadcast, ASN1_EXTENSION_ROOT , dissect_s1ap_CellID_Broadcast },
4475 { 1, &hf_s1ap_tAI_Broadcast , ASN1_EXTENSION_ROOT , dissect_s1ap_TAI_Broadcast },
4476 { 2, &hf_s1ap_emergencyAreaID_Broadcast, ASN1_EXTENSION_ROOT , dissect_s1ap_EmergencyAreaID_Broadcast },
4477 { 0, NULL, 0, NULL }
4480 static int
4481 dissect_s1ap_BroadcastCompletedAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4482 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4483 ett_s1ap_BroadcastCompletedAreaList, BroadcastCompletedAreaList_choice,
4484 NULL);
4486 return offset;
4490 const value_string s1ap_CauseRadioNetwork_vals[] = {
4491 { 0, "unspecified" },
4492 { 1, "tx2relocoverall-expiry" },
4493 { 2, "successful-handover" },
4494 { 3, "release-due-to-eutran-generated-reason" },
4495 { 4, "handover-cancelled" },
4496 { 5, "partial-handover" },
4497 { 6, "ho-failure-in-target-EPC-eNB-or-target-system" },
4498 { 7, "ho-target-not-allowed" },
4499 { 8, "tS1relocoverall-expiry" },
4500 { 9, "tS1relocprep-expiry" },
4501 { 10, "cell-not-available" },
4502 { 11, "unknown-targetID" },
4503 { 12, "no-radio-resources-available-in-target-cell" },
4504 { 13, "unknown-mme-ue-s1ap-id" },
4505 { 14, "unknown-enb-ue-s1ap-id" },
4506 { 15, "unknown-pair-ue-s1ap-id" },
4507 { 16, "handover-desirable-for-radio-reason" },
4508 { 17, "time-critical-handover" },
4509 { 18, "resource-optimisation-handover" },
4510 { 19, "reduce-load-in-serving-cell" },
4511 { 20, "user-inactivity" },
4512 { 21, "radio-connection-with-ue-lost" },
4513 { 22, "load-balancing-tau-required" },
4514 { 23, "cs-fallback-triggered" },
4515 { 24, "ue-not-available-for-ps-service" },
4516 { 25, "radio-resources-not-available" },
4517 { 26, "failure-in-radio-interface-procedure" },
4518 { 27, "invalid-qos-combination" },
4519 { 28, "interrat-redirection" },
4520 { 29, "interaction-with-other-procedure" },
4521 { 30, "unknown-E-RAB-ID" },
4522 { 31, "multiple-E-RAB-ID-instances" },
4523 { 32, "encryption-and-or-integrity-protection-algorithms-not-supported" },
4524 { 33, "s1-intra-system-handover-triggered" },
4525 { 34, "s1-inter-system-handover-triggered" },
4526 { 35, "x2-handover-triggered" },
4527 { 36, "redirection-towards-1xRTT" },
4528 { 37, "not-supported-QCI-value" },
4529 { 38, "invalid-CSG-Id" },
4530 { 39, "release-due-to-pre-emption" },
4531 { 40, "n26-interface-not-available" },
4532 { 41, "insufficient-ue-capabilities" },
4533 { 42, "maximum-bearer-pre-emption-rate-exceeded" },
4534 { 43, "up-integrity-protection-not-possible" },
4535 { 44, "release-due-to-discontinuous-coverage" },
4536 { 0, NULL }
4539 static value_string_ext s1ap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT(s1ap_CauseRadioNetwork_vals);
4542 static int
4543 dissect_s1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4544 uint32_t value;
4545 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4546 36, &value, true, 9, NULL);
4548 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [RadioNetwork-cause=%s]", val_to_str_const(value, s1ap_CauseRadioNetwork_vals, "Unknown"));
4551 return offset;
4555 const value_string s1ap_CauseTransport_vals[] = {
4556 { 0, "transport-resource-unavailable" },
4557 { 1, "unspecified" },
4558 { 0, NULL }
4562 static int
4563 dissect_s1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4564 uint32_t value;
4565 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4566 2, &value, true, 0, NULL);
4568 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [Transport-cause=%s]", val_to_str_const(value, s1ap_CauseTransport_vals, "Unknown"));
4571 return offset;
4575 const value_string s1ap_CauseNas_vals[] = {
4576 { 0, "normal-release" },
4577 { 1, "authentication-failure" },
4578 { 2, "detach" },
4579 { 3, "unspecified" },
4580 { 4, "csg-subscription-expiry" },
4581 { 5, "uE-not-in-PLMN-serving-area" },
4582 { 6, "iab-not-authorized" },
4583 { 0, NULL }
4587 static int
4588 dissect_s1ap_CauseNas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4589 uint32_t value;
4590 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4591 4, &value, true, 3, NULL);
4593 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [NAS-cause=%s]", val_to_str_const(value, s1ap_CauseNas_vals, "Unknown"));
4596 return offset;
4600 const value_string s1ap_CauseProtocol_vals[] = {
4601 { 0, "transfer-syntax-error" },
4602 { 1, "abstract-syntax-error-reject" },
4603 { 2, "abstract-syntax-error-ignore-and-notify" },
4604 { 3, "message-not-compatible-with-receiver-state" },
4605 { 4, "semantic-error" },
4606 { 5, "abstract-syntax-error-falsely-constructed-message" },
4607 { 6, "unspecified" },
4608 { 0, NULL }
4612 static int
4613 dissect_s1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4614 uint32_t value;
4615 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4616 7, &value, true, 0, NULL);
4618 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [Protocol-cause=%s]", val_to_str_const(value, s1ap_CauseProtocol_vals, "Unknown"));
4621 return offset;
4625 const value_string s1ap_CauseMisc_vals[] = {
4626 { 0, "control-processing-overload" },
4627 { 1, "not-enough-user-plane-processing-resources" },
4628 { 2, "hardware-failure" },
4629 { 3, "om-intervention" },
4630 { 4, "unspecified" },
4631 { 5, "unknown-PLMN" },
4632 { 0, NULL }
4636 static int
4637 dissect_s1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4638 uint32_t value;
4639 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4640 6, &value, true, 0, NULL);
4642 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [Misc-cause=%s]", val_to_str_const(value, s1ap_CauseMisc_vals, "Unknown"));
4645 return offset;
4649 const value_string s1ap_Cause_vals[] = {
4650 { 0, "radioNetwork" },
4651 { 1, "transport" },
4652 { 2, "nas" },
4653 { 3, "protocol" },
4654 { 4, "misc" },
4655 { 0, NULL }
4658 static const per_choice_t Cause_choice[] = {
4659 { 0, &hf_s1ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_s1ap_CauseRadioNetwork },
4660 { 1, &hf_s1ap_transport , ASN1_EXTENSION_ROOT , dissect_s1ap_CauseTransport },
4661 { 2, &hf_s1ap_nas , ASN1_EXTENSION_ROOT , dissect_s1ap_CauseNas },
4662 { 3, &hf_s1ap_protocol , ASN1_EXTENSION_ROOT , dissect_s1ap_CauseProtocol },
4663 { 4, &hf_s1ap_misc , ASN1_EXTENSION_ROOT , dissect_s1ap_CauseMisc },
4664 { 0, NULL, 0, NULL }
4667 static int
4668 dissect_s1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4669 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4670 ett_s1ap_Cause, Cause_choice,
4671 NULL);
4673 return offset;
4677 static const value_string s1ap_CellAccessMode_vals[] = {
4678 { 0, "hybrid" },
4679 { 0, NULL }
4683 static int
4684 dissect_s1ap_CellAccessMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4685 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4686 1, NULL, true, 0, NULL);
4688 return offset;
4692 static const value_string s1ap_CE_mode_B_SupportIndicator_vals[] = {
4693 { 0, "supported" },
4694 { 0, NULL }
4698 static int
4699 dissect_s1ap_CE_mode_B_SupportIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4700 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4701 1, NULL, true, 0, NULL);
4703 return offset;
4708 static int
4709 dissect_s1ap_Cdma2000PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4711 tvbuff_t *parameter_tvb;
4712 proto_tree *subtree;
4714 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4715 NO_BOUND, NO_BOUND, false, &parameter_tvb);
4717 if (!parameter_tvb)
4718 return offset;
4720 if (gcsna_handle) {
4721 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_Cdma2000PDU);
4722 call_dissector(gcsna_handle, parameter_tvb, actx->pinfo, subtree);
4727 return offset;
4731 static const value_string s1ap_Cdma2000RATType_vals[] = {
4732 { 0, "hRPD" },
4733 { 1, "onexRTT" },
4734 { 0, NULL }
4738 static int
4739 dissect_s1ap_Cdma2000RATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4740 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4741 2, NULL, true, 0, NULL);
4743 return offset;
4748 static int
4749 dissect_s1ap_Cdma2000SectorID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4750 /* 9.2.1.25
4751 * This IE is set to CDMA2000 Reference Cell ID
4752 * corresponding to the HRPD/1xRTT sector under
4753 * the HRPD AN/1xBS to which the eNB has initiated the UE
4754 * to handover to. The CDMA2000 Reference Cell
4755 * ID is statically configured in the eNB.
4757 tvbuff_t *parameter_tvb;
4758 proto_tree *subtree;
4760 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4761 NO_BOUND, NO_BOUND, false, &parameter_tvb);
4763 if (!parameter_tvb)
4764 return offset;
4766 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_Cdma2000SectorID);
4767 dissect_a21_ie_common(parameter_tvb, actx->pinfo, NULL/* Top tree not needed */, subtree, 0, 0 /* message_type not needed */);
4770 return offset;
4774 static const value_string s1ap_Cdma2000HOStatus_vals[] = {
4775 { 0, "hOSuccess" },
4776 { 1, "hOFailure" },
4777 { 0, NULL }
4781 static int
4782 dissect_s1ap_Cdma2000HOStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4783 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4784 2, NULL, true, 0, NULL);
4786 return offset;
4790 static const value_string s1ap_Cdma2000HORequiredIndication_vals[] = {
4791 { 0, "true" },
4792 { 0, NULL }
4796 static int
4797 dissect_s1ap_Cdma2000HORequiredIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4798 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4799 1, NULL, true, 0, NULL);
4801 return offset;
4806 static int
4807 dissect_s1ap_Cdma2000OneXMEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4808 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4809 NO_BOUND, NO_BOUND, false, NULL);
4811 return offset;
4816 static int
4817 dissect_s1ap_Cdma2000OneXMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4818 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4819 NO_BOUND, NO_BOUND, false, NULL);
4821 return offset;
4826 static int
4827 dissect_s1ap_Cdma2000OneXPilot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4828 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4829 NO_BOUND, NO_BOUND, false, NULL);
4831 return offset;
4835 static const per_sequence_t Cdma2000OneXSRVCCInfo_sequence[] = {
4836 { &hf_s1ap_cdma2000OneXMEID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cdma2000OneXMEID },
4837 { &hf_s1ap_cdma2000OneXMSI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cdma2000OneXMSI },
4838 { &hf_s1ap_cdma2000OneXPilot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cdma2000OneXPilot },
4839 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4840 { NULL, 0, 0, NULL }
4843 static int
4844 dissect_s1ap_Cdma2000OneXSRVCCInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4845 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4846 ett_s1ap_Cdma2000OneXSRVCCInfo, Cdma2000OneXSRVCCInfo_sequence);
4848 return offset;
4853 static int
4854 dissect_s1ap_Cdma2000OneXRAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4855 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4856 NO_BOUND, NO_BOUND, false, NULL);
4858 return offset;
4862 static const value_string s1ap_Cell_Size_vals[] = {
4863 { 0, "verysmall" },
4864 { 1, "small" },
4865 { 2, "medium" },
4866 { 3, "large" },
4867 { 0, NULL }
4871 static int
4872 dissect_s1ap_Cell_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4873 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4874 4, NULL, true, 0, NULL);
4876 return offset;
4880 static const per_sequence_t CellType_sequence[] = {
4881 { &hf_s1ap_cell_Size , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cell_Size },
4882 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4883 { NULL, 0, 0, NULL }
4886 static int
4887 dissect_s1ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4888 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4889 ett_s1ap_CellType, CellType_sequence);
4891 return offset;
4896 static int
4897 dissect_s1ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4898 tvbuff_t *parameter_tvb = NULL;
4899 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
4900 2, 2, false, &parameter_tvb);
4902 if (parameter_tvb) {
4903 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
4907 return offset;
4912 static int
4913 dissect_s1ap_CI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4914 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4915 2, 2, false, NULL);
4917 return offset;
4922 static int
4923 dissect_s1ap_RAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4924 tvbuff_t *parameter_tvb = NULL;
4925 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
4926 1, 1, false, &parameter_tvb);
4928 if (parameter_tvb) {
4929 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
4933 return offset;
4937 static const per_sequence_t CGI_sequence[] = {
4938 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
4939 { &hf_s1ap_lAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LAC },
4940 { &hf_s1ap_cI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CI },
4941 { &hf_s1ap_rAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_RAC },
4942 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4943 { NULL, 0, 0, NULL }
4946 static int
4947 dissect_s1ap_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4948 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
4949 s1ap_data->number_type = E212_CGI;
4950 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4951 ett_s1ap_CGI, CGI_sequence);
4955 return offset;
4959 static const value_string s1ap_CNDomain_vals[] = {
4960 { 0, "ps" },
4961 { 1, "cs" },
4962 { 0, NULL }
4966 static int
4967 dissect_s1ap_CNDomain(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4968 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4969 2, NULL, false, 0, NULL);
4971 return offset;
4975 static const value_string s1ap_CNType_vals[] = {
4976 { 0, "fiveGCForbidden" },
4977 { 1, "epc-Forbiddden" },
4978 { 0, NULL }
4982 static int
4983 dissect_s1ap_CNType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4984 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4985 1, NULL, true, 1, NULL);
4987 return offset;
4991 static const per_sequence_t CNTypeRestrictions_Item_sequence[] = {
4992 { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
4993 { &hf_s1ap_cNType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CNType },
4994 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
4995 { NULL, 0, 0, NULL }
4998 static int
4999 dissect_s1ap_CNTypeRestrictions_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5000 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5001 ett_s1ap_CNTypeRestrictions_Item, CNTypeRestrictions_Item_sequence);
5003 return offset;
5007 static const per_sequence_t CNTypeRestrictions_sequence_of[1] = {
5008 { &hf_s1ap_CNTypeRestrictions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CNTypeRestrictions_Item },
5011 static int
5012 dissect_s1ap_CNTypeRestrictions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5013 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5014 ett_s1ap_CNTypeRestrictions, CNTypeRestrictions_sequence_of,
5015 1, maxnoofEPLMNsPlusOne, false);
5017 return offset;
5021 static const value_string s1ap_ConcurrentWarningMessageIndicator_vals[] = {
5022 { 0, "true" },
5023 { 0, NULL }
5027 static int
5028 dissect_s1ap_ConcurrentWarningMessageIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5029 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5030 1, NULL, false, 0, NULL);
5032 return offset;
5037 static int
5038 dissect_s1ap_En_gNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5039 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5040 22, 32, true, NULL, 0, NULL, NULL);
5042 return offset;
5046 static const per_sequence_t SupportedTAs_Item_sequence[] = {
5047 { &hf_s1ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
5048 { &hf_s1ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BPLMNs },
5049 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5050 { NULL, 0, 0, NULL }
5053 static int
5054 dissect_s1ap_SupportedTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5055 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
5057 if (!PINFO_FD_VISITED(actx->pinfo) &&
5058 (s1ap_data->message_type == INITIATING_MESSAGE) &&
5059 ((s1ap_data->procedure_code == id_S1Setup) ||
5060 (s1ap_data->procedure_code == id_ENBConfigurationUpdate))) {
5061 s1ap_data->supported_ta = wmem_new0(actx->pinfo->pool, struct s1ap_supported_ta);
5062 s1ap_data->supported_ta->plmn = wmem_array_new(actx->pinfo->pool, sizeof(uint32_t));
5065 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5066 ett_s1ap_SupportedTAs_Item, SupportedTAs_Item_sequence);
5068 s1ap_data->supported_ta = NULL;
5070 return offset;
5074 static const per_sequence_t SupportedTAs_sequence_of[1] = {
5075 { &hf_s1ap_SupportedTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_SupportedTAs_Item },
5078 static int
5079 dissect_s1ap_SupportedTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5080 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5081 ett_s1ap_SupportedTAs, SupportedTAs_sequence_of,
5082 1, maxnoofTACs, false);
5084 return offset;
5088 static const per_sequence_t ConnectedengNBItem_sequence[] = {
5089 { &hf_s1ap_en_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_En_gNB_ID },
5090 { &hf_s1ap_supportedTAs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SupportedTAs },
5091 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5092 { NULL, 0, 0, NULL }
5095 static int
5096 dissect_s1ap_ConnectedengNBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5097 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5098 ett_s1ap_ConnectedengNBItem, ConnectedengNBItem_sequence);
5100 return offset;
5104 static const per_sequence_t ConnectedengNBList_sequence_of[1] = {
5105 { &hf_s1ap_ConnectedengNBList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ConnectedengNBItem },
5108 static int
5109 dissect_s1ap_ConnectedengNBList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5110 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5111 ett_s1ap_ConnectedengNBList, ConnectedengNBList_sequence_of,
5112 1, maxnoofConnectedengNBs, false);
5114 return offset;
5119 static int
5120 dissect_s1ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5121 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5122 22, 32, false, NULL, 0, NULL, NULL);
5124 return offset;
5128 static const value_string s1ap_GNB_Identity_vals[] = {
5129 { 0, "gNB-ID" },
5130 { 0, NULL }
5133 static const per_choice_t GNB_Identity_choice[] = {
5134 { 0, &hf_s1ap_gNB_ID_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_GNB_ID },
5135 { 0, NULL, 0, NULL }
5138 static int
5139 dissect_s1ap_GNB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5140 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5141 ett_s1ap_GNB_Identity, GNB_Identity_choice,
5142 NULL);
5144 return offset;
5148 static const per_sequence_t Global_GNB_ID_sequence[] = {
5149 { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
5150 { &hf_s1ap_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GNB_Identity },
5151 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5152 { NULL, 0, 0, NULL }
5155 static int
5156 dissect_s1ap_Global_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5157 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5158 ett_s1ap_Global_GNB_ID, Global_GNB_ID_sequence);
5160 return offset;
5164 static const per_sequence_t GNB_sequence[] = {
5165 { &hf_s1ap_global_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_GNB_ID },
5166 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5167 { NULL, 0, 0, NULL }
5170 static int
5171 dissect_s1ap_GNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5172 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5173 ett_s1ap_GNB, GNB_sequence);
5175 return offset;
5180 static int
5181 dissect_s1ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5182 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5183 20, 20, false, NULL, 0, NULL, NULL);
5185 return offset;
5190 static int
5191 dissect_s1ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5192 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5193 28, 28, false, NULL, 0, NULL, NULL);
5195 return offset;
5200 static int
5201 dissect_s1ap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5202 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5203 18, 18, false, NULL, 0, NULL, NULL);
5205 return offset;
5210 static int
5211 dissect_s1ap_BIT_STRING_SIZE_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5212 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5213 21, 21, false, NULL, 0, NULL, NULL);
5215 return offset;
5219 static const value_string s1ap_ENB_ID_vals[] = {
5220 { 0, "macroENB-ID" },
5221 { 1, "homeENB-ID" },
5222 { 2, "short-macroENB-ID" },
5223 { 3, "long-macroENB-ID" },
5224 { 0, NULL }
5227 static const per_choice_t ENB_ID_choice[] = {
5228 { 0, &hf_s1ap_macroENB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_BIT_STRING_SIZE_20 },
5229 { 1, &hf_s1ap_homeENB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_BIT_STRING_SIZE_28 },
5230 { 2, &hf_s1ap_short_macroENB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_BIT_STRING_SIZE_18 },
5231 { 3, &hf_s1ap_long_macroENB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_BIT_STRING_SIZE_21 },
5232 { 0, NULL, 0, NULL }
5235 static int
5236 dissect_s1ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5237 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5238 ett_s1ap_ENB_ID, ENB_ID_choice,
5239 NULL);
5241 return offset;
5245 static const per_sequence_t Global_ENB_ID_sequence[] = {
5246 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
5247 { &hf_s1ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ENB_ID },
5248 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5249 { NULL, 0, 0, NULL }
5253 dissect_s1ap_Global_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5254 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5255 ett_s1ap_Global_ENB_ID, Global_ENB_ID_sequence);
5257 return offset;
5261 static const per_sequence_t NG_eNB_sequence[] = {
5262 { &hf_s1ap_global_ng_eNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_ENB_ID },
5263 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5264 { NULL, 0, 0, NULL }
5267 static int
5268 dissect_s1ap_NG_eNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5269 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5270 ett_s1ap_NG_eNB, NG_eNB_sequence);
5272 return offset;
5276 static const value_string s1ap_Global_RAN_NODE_ID_vals[] = {
5277 { 0, "gNB" },
5278 { 1, "ng-eNB" },
5279 { 0, NULL }
5282 static const per_choice_t Global_RAN_NODE_ID_choice[] = {
5283 { 0, &hf_s1ap_gNB , ASN1_EXTENSION_ROOT , dissect_s1ap_GNB },
5284 { 1, &hf_s1ap_ng_eNB , ASN1_EXTENSION_ROOT , dissect_s1ap_NG_eNB },
5285 { 0, NULL, 0, NULL }
5288 static int
5289 dissect_s1ap_Global_RAN_NODE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5290 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5291 ett_s1ap_Global_RAN_NODE_ID, Global_RAN_NODE_ID_choice,
5292 NULL);
5294 return offset;
5299 static int
5300 dissect_s1ap_RAN_UE_NGAP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5301 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5302 0U, 4294967295U, NULL, false);
5304 return offset;
5308 static const per_sequence_t ContextatSource_sequence[] = {
5309 { &hf_s1ap_sourceNG_RAN_node_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_RAN_NODE_ID },
5310 { &hf_s1ap_rAN_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RAN_UE_NGAP_ID },
5311 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5312 { NULL, 0, 0, NULL }
5315 static int
5316 dissect_s1ap_ContextatSource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5317 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5318 ett_s1ap_ContextatSource, ContextatSource_sequence);
5320 return offset;
5325 static int
5326 dissect_s1ap_Correlation_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5327 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5328 4, 4, false, NULL);
5330 return offset;
5334 static const value_string s1ap_CSFallbackIndicator_vals[] = {
5335 { 0, "cs-fallback-required" },
5336 { 1, "cs-fallback-high-priority" },
5337 { 0, NULL }
5341 static int
5342 dissect_s1ap_CSFallbackIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5343 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5344 1, NULL, true, 1, NULL);
5346 return offset;
5350 static const value_string s1ap_AdditionalCSFallbackIndicator_vals[] = {
5351 { 0, "no-restriction" },
5352 { 1, "restriction" },
5353 { 0, NULL }
5357 static int
5358 dissect_s1ap_AdditionalCSFallbackIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5359 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5360 2, NULL, true, 0, NULL);
5362 return offset;
5367 static int
5368 dissect_s1ap_CSG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5369 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5370 27, 27, false, NULL, 0, NULL, NULL);
5372 return offset;
5376 static const per_sequence_t CSG_IdList_Item_sequence[] = {
5377 { &hf_s1ap_cSG_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CSG_Id },
5378 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5379 { NULL, 0, 0, NULL }
5382 static int
5383 dissect_s1ap_CSG_IdList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5384 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5385 ett_s1ap_CSG_IdList_Item, CSG_IdList_Item_sequence);
5387 return offset;
5391 static const per_sequence_t CSG_IdList_sequence_of[1] = {
5392 { &hf_s1ap_CSG_IdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CSG_IdList_Item },
5395 static int
5396 dissect_s1ap_CSG_IdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5397 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5398 ett_s1ap_CSG_IdList, CSG_IdList_sequence_of,
5399 1, maxnoofCSGs, false);
5401 return offset;
5405 static const value_string s1ap_CSGMembershipStatus_vals[] = {
5406 { 0, "member" },
5407 { 1, "not-member" },
5408 { 0, NULL }
5412 static int
5413 dissect_s1ap_CSGMembershipStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5414 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5415 2, NULL, false, 0, NULL);
5417 return offset;
5421 static const value_string s1ap_Coverage_Level_vals[] = {
5422 { 0, "extendedcoverage" },
5423 { 0, NULL }
5427 static int
5428 dissect_s1ap_Coverage_Level(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5429 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5430 1, NULL, true, 0, NULL);
5432 return offset;
5436 static const value_string s1ap_TypeOfError_vals[] = {
5437 { 0, "not-understood" },
5438 { 1, "missing" },
5439 { 0, NULL }
5443 static int
5444 dissect_s1ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5445 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5446 2, NULL, true, 0, NULL);
5448 return offset;
5452 static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = {
5453 { &hf_s1ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
5454 { &hf_s1ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_ID },
5455 { &hf_s1ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TypeOfError },
5456 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5457 { NULL, 0, 0, NULL }
5460 static int
5461 dissect_s1ap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5462 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5463 ett_s1ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence);
5465 return offset;
5469 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
5470 { &hf_s1ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CriticalityDiagnostics_IE_Item },
5473 static int
5474 dissect_s1ap_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5475 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5476 ett_s1ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
5477 1, maxnoofErrors, false);
5479 return offset;
5483 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
5484 { &hf_s1ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProcedureCode },
5485 { &hf_s1ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TriggeringMessage },
5486 { &hf_s1ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_Criticality },
5487 { &hf_s1ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_CriticalityDiagnostics_IE_List },
5488 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5489 { NULL, 0, 0, NULL }
5492 static int
5493 dissect_s1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5494 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5495 ett_s1ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
5497 return offset;
5501 static const value_string s1ap_T_dAPSIndicator_vals[] = {
5502 { 0, "dAPS-HO-required" },
5503 { 0, NULL }
5507 static int
5508 dissect_s1ap_T_dAPSIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5509 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5510 1, NULL, true, 0, NULL);
5512 return offset;
5516 static const per_sequence_t DAPSRequestInfo_sequence[] = {
5517 { &hf_s1ap_dAPSIndicator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_dAPSIndicator },
5518 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5519 { NULL, 0, 0, NULL }
5522 static int
5523 dissect_s1ap_DAPSRequestInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5524 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5525 ett_s1ap_DAPSRequestInfo, DAPSRequestInfo_sequence);
5527 return offset;
5531 static const per_sequence_t DAPSResponseInfoList_sequence_of[1] = {
5532 { &hf_s1ap_DAPSResponseInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
5535 static int
5536 dissect_s1ap_DAPSResponseInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5537 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5538 ett_s1ap_DAPSResponseInfoList, DAPSResponseInfoList_sequence_of,
5539 1, maxnoofE_RABs, false);
5541 return offset;
5545 static const value_string s1ap_T_dapsresponseindicator_vals[] = {
5546 { 0, "dAPS-HO-accepted" },
5547 { 1, "dAPS-HO-not-accepted" },
5548 { 0, NULL }
5552 static int
5553 dissect_s1ap_T_dapsresponseindicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5554 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5555 2, NULL, true, 0, NULL);
5557 return offset;
5561 static const per_sequence_t DAPSResponseInfo_sequence[] = {
5562 { &hf_s1ap_dapsresponseindicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_dapsresponseindicator },
5563 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5564 { NULL, 0, 0, NULL }
5567 static int
5568 dissect_s1ap_DAPSResponseInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5569 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5570 ett_s1ap_DAPSResponseInfo, DAPSResponseInfo_sequence);
5572 return offset;
5576 static const per_sequence_t DAPSResponseInfoItem_sequence[] = {
5577 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
5578 { &hf_s1ap_dAPSResponseInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DAPSResponseInfo },
5579 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5580 { NULL, 0, 0, NULL }
5583 static int
5584 dissect_s1ap_DAPSResponseInfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5585 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5586 ett_s1ap_DAPSResponseInfoItem, DAPSResponseInfoItem_sequence);
5588 return offset;
5593 static int
5594 dissect_s1ap_DataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5595 tvbuff_t *parameter_tvb = NULL;
5596 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5597 8, 8, false, NULL, 0, &parameter_tvb, NULL);
5599 if (parameter_tvb) {
5600 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
5601 proto_tree *subtree;
5603 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_DataCodingScheme);
5604 s1ap_data->data_coding_scheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
5608 return offset;
5613 static int
5614 dissect_s1ap_DataSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5615 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5616 1U, 4095U, NULL, true);
5618 return offset;
5623 static int
5624 dissect_s1ap_DCN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5625 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5626 0U, 65535U, NULL, false);
5628 return offset;
5633 static int
5634 dissect_s1ap_RelativeMMECapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5635 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5636 0U, 255U, NULL, false);
5638 return offset;
5642 static const per_sequence_t ServedDCNsItem_sequence[] = {
5643 { &hf_s1ap_dCN_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DCN_ID },
5644 { &hf_s1ap_relativeDCNCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RelativeMMECapacity },
5645 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5646 { NULL, 0, 0, NULL }
5649 static int
5650 dissect_s1ap_ServedDCNsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5651 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5652 ett_s1ap_ServedDCNsItem, ServedDCNsItem_sequence);
5654 return offset;
5658 static const per_sequence_t ServedDCNs_sequence_of[1] = {
5659 { &hf_s1ap_ServedDCNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ServedDCNsItem },
5662 static int
5663 dissect_s1ap_ServedDCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5664 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5665 ett_s1ap_ServedDCNs, ServedDCNs_sequence_of,
5666 0, maxnoofDCNs, false);
5668 return offset;
5673 static int
5674 dissect_s1ap_DL_NAS_MAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5675 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5676 16, 16, false, NULL, 0, NULL, NULL);
5678 return offset;
5682 static const per_sequence_t DL_CP_SecurityInformation_sequence[] = {
5683 { &hf_s1ap_dl_NAS_MAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DL_NAS_MAC },
5684 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5685 { NULL, 0, 0, NULL }
5688 static int
5689 dissect_s1ap_DL_CP_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5690 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5691 ett_s1ap_DL_CP_SecurityInformation, DL_CP_SecurityInformation_sequence);
5693 return offset;
5697 static const value_string s1ap_DL_Forwarding_vals[] = {
5698 { 0, "dL-Forwarding-proposed" },
5699 { 0, NULL }
5703 static int
5704 dissect_s1ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5705 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5706 1, NULL, true, 0, NULL);
5708 return offset;
5712 static const value_string s1ap_Direct_Forwarding_Path_Availability_vals[] = {
5713 { 0, "directPathAvailable" },
5714 { 0, NULL }
5718 static int
5719 dissect_s1ap_Direct_Forwarding_Path_Availability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5720 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5721 1, NULL, true, 0, NULL);
5723 return offset;
5727 static const value_string s1ap_Data_Forwarding_Not_Possible_vals[] = {
5728 { 0, "data-Forwarding-not-Possible" },
5729 { 0, NULL }
5733 static int
5734 dissect_s1ap_Data_Forwarding_Not_Possible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5735 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5736 1, NULL, true, 0, NULL);
5738 return offset;
5742 static const value_string s1ap_DLNASPDUDeliveryAckRequest_vals[] = {
5743 { 0, "requested" },
5744 { 0, NULL }
5748 static int
5749 dissect_s1ap_DLNASPDUDeliveryAckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5750 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5751 1, NULL, true, 0, NULL);
5753 return offset;
5758 static int
5759 dissect_s1ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5760 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5761 0U, maxEARFCN, NULL, true);
5763 return offset;
5767 static const per_sequence_t ECGIList_sequence_of[1] = {
5768 { &hf_s1ap_ECGIList_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
5771 static int
5772 dissect_s1ap_ECGIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5773 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5774 ett_s1ap_ECGIList, ECGIList_sequence_of,
5775 1, maxnoofCellID, false);
5777 return offset;
5781 static const per_sequence_t PWSfailedECGIList_sequence_of[1] = {
5782 { &hf_s1ap_PWSfailedECGIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
5785 static int
5786 dissect_s1ap_PWSfailedECGIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5787 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5788 ett_s1ap_PWSfailedECGIList, PWSfailedECGIList_sequence_of,
5789 1, maxnoofCellsineNB, false);
5791 return offset;
5795 static const value_string s1ap_EDT_Session_vals[] = {
5796 { 0, "true" },
5797 { 0, NULL }
5801 static int
5802 dissect_s1ap_EDT_Session(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5803 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5804 1, NULL, true, 0, NULL);
5806 return offset;
5810 static const per_sequence_t EmergencyAreaIDList_sequence_of[1] = {
5811 { &hf_s1ap_EmergencyAreaIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID },
5814 static int
5815 dissect_s1ap_EmergencyAreaIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5816 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5817 ett_s1ap_EmergencyAreaIDList, EmergencyAreaIDList_sequence_of,
5818 1, maxnoofEmergencyAreaID, false);
5820 return offset;
5824 static const per_sequence_t ECGI_List_sequence_of[1] = {
5825 { &hf_s1ap_ECGI_List_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
5828 static int
5829 dissect_s1ap_ECGI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5830 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5831 ett_s1ap_ECGI_List, ECGI_List_sequence_of,
5832 1, maxnoofCellsineNB, false);
5834 return offset;
5838 static const per_sequence_t EmergencyAreaIDListForRestart_sequence_of[1] = {
5839 { &hf_s1ap_EmergencyAreaIDListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID },
5842 static int
5843 dissect_s1ap_EmergencyAreaIDListForRestart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5844 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5845 ett_s1ap_EmergencyAreaIDListForRestart, EmergencyAreaIDListForRestart_sequence_of,
5846 1, maxnoofRestartEmergencyAreaIDs, false);
5848 return offset;
5852 static const value_string s1ap_EmergencyIndicator_vals[] = {
5853 { 0, "true" },
5854 { 0, NULL }
5858 static int
5859 dissect_s1ap_EmergencyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5860 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5861 1, NULL, true, 0, NULL);
5863 return offset;
5867 static const per_sequence_t ENB_EarlyStatusTransfer_TransparentContainer_sequence[] = {
5868 { &hf_s1ap_bearers_SubjectToEarlyStatusTransferList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Bearers_SubjectToEarlyStatusTransferList },
5869 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5870 { NULL, 0, 0, NULL }
5873 static int
5874 dissect_s1ap_ENB_EarlyStatusTransfer_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5875 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5876 ett_s1ap_ENB_EarlyStatusTransfer_TransparentContainer, ENB_EarlyStatusTransfer_TransparentContainer_sequence);
5878 return offset;
5882 static const per_sequence_t LAI_sequence[] = {
5883 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
5884 { &hf_s1ap_lAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LAC },
5885 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5886 { NULL, 0, 0, NULL }
5889 static int
5890 dissect_s1ap_LAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5891 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
5892 s1ap_data->number_type = E212_LAI;
5893 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5894 ett_s1ap_LAI, LAI_sequence);
5898 return offset;
5902 static const per_sequence_t GERAN_Cell_ID_sequence[] = {
5903 { &hf_s1ap_lAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LAI },
5904 { &hf_s1ap_rAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RAC },
5905 { &hf_s1ap_cI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CI },
5906 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5907 { NULL, 0, 0, NULL }
5910 static int
5911 dissect_s1ap_GERAN_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5912 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5913 ett_s1ap_GERAN_Cell_ID, GERAN_Cell_ID_sequence);
5915 return offset;
5919 static const per_sequence_t Global_en_gNB_ID_sequence[] = {
5920 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
5921 { &hf_s1ap_en_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_En_gNB_ID },
5922 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5923 { NULL, 0, 0, NULL }
5926 static int
5927 dissect_s1ap_Global_en_gNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5928 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5929 ett_s1ap_Global_en_gNB_ID, Global_en_gNB_ID_sequence);
5931 return offset;
5935 static const per_sequence_t GUMMEIList_sequence_of[1] = {
5936 { &hf_s1ap_GUMMEIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_GUMMEI },
5939 static int
5940 dissect_s1ap_GUMMEIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5941 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5942 ett_s1ap_GUMMEIList, GUMMEIList_sequence_of,
5943 1, maxnoofMMECs, false);
5945 return offset;
5949 static const per_sequence_t ENB_StatusTransfer_TransparentContainer_sequence[] = {
5950 { &hf_s1ap_bearers_SubjectToStatusTransferList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Bearers_SubjectToStatusTransferList },
5951 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
5952 { NULL, 0, 0, NULL }
5955 static int
5956 dissect_s1ap_ENB_StatusTransfer_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5957 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5958 ett_s1ap_ENB_StatusTransfer_TransparentContainer, ENB_StatusTransfer_TransparentContainer_sequence);
5960 return offset;
5965 static int
5966 dissect_s1ap_ENB_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5967 uint32_t enb_ue_s1ap_id;
5968 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
5969 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5970 0U, 16777215U, &enb_ue_s1ap_id, false);
5972 if (hf_index == hf_s1ap_eNB_UE_S1AP_ID) {
5973 proto_item *item;
5974 item = proto_tree_add_uint(tree, hf_s1ap_ENB_UE_S1AP_ID_PDU, tvb, offset, 0 , enb_ue_s1ap_id );
5975 proto_item_set_hidden(item);
5978 s1ap_data->enb_ue_s1ap_id = (uint16_t)enb_ue_s1ap_id;
5981 return offset;
5986 static int
5987 dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5988 tvbuff_t *parameter_tvb=NULL;
5989 int length;
5990 bool is_ascii;
5992 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
5993 1, 150, true,
5994 &parameter_tvb);
5997 if (!parameter_tvb)
5998 return offset;
6000 length = tvb_reported_length(parameter_tvb);
6002 is_ascii = tvb_ascii_isprint(parameter_tvb, 0, length);
6003 if (is_ascii)
6004 proto_item_append_text(actx->created_item," (%s)",tvb_format_text(actx->pinfo->pool, parameter_tvb, 0, length));
6007 return offset;
6012 static int
6013 dissect_s1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6014 tvbuff_t *parameter_tvb=NULL;
6015 proto_tree *subtree;
6016 int tvb_len;
6018 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6019 1, 160, true, NULL, 0, &parameter_tvb, NULL);
6021 if (!parameter_tvb)
6022 return offset;
6024 /* Get the length */
6025 tvb_len = tvb_reported_length(parameter_tvb);
6026 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_TransportLayerAddress);
6027 if (tvb_len==4) {
6028 /* IPv4 */
6029 proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
6030 } else if (tvb_len==16) {
6031 /* IPv6 */
6032 proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
6033 } else if (tvb_len==20) {
6034 /* IPv4 */
6035 proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
6036 /* IPv6 */
6037 proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
6041 return offset;
6045 static const per_sequence_t ENBX2TLAs_sequence_of[1] = {
6046 { &hf_s1ap_ENBX2TLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
6049 static int
6050 dissect_s1ap_ENBX2TLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6051 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6052 ett_s1ap_ENBX2TLAs, ENBX2TLAs_sequence_of,
6053 1, maxnoofeNBX2TLAs, false);
6055 return offset;
6060 static int
6061 dissect_s1ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6062 tvbuff_t *parameter_tvb = NULL;
6063 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6064 16, 16, true, NULL, 0, &parameter_tvb, NULL);
6066 if(parameter_tvb){
6067 static int * const fields[] = {
6068 &hf_s1ap_encryptionAlgorithms_EEA1,
6069 &hf_s1ap_encryptionAlgorithms_EEA2,
6070 &hf_s1ap_encryptionAlgorithms_EEA3,
6071 &hf_s1ap_encryptionAlgorithms_Reserved,
6072 NULL
6074 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_EncryptionAlgorithms);
6075 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
6079 return offset;
6083 static const per_sequence_t EN_DCSONeNBIdentification_sequence[] = {
6084 { &hf_s1ap_globaleNBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_ENB_ID },
6085 { &hf_s1ap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
6086 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6087 { NULL, 0, 0, NULL }
6090 static int
6091 dissect_s1ap_EN_DCSONeNBIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6092 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6093 ett_s1ap_EN_DCSONeNBIdentification, EN_DCSONeNBIdentification_sequence);
6095 return offset;
6099 static const per_sequence_t EN_DCSONengNBIdentification_sequence[] = {
6100 { &hf_s1ap_globalengNBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_en_gNB_ID },
6101 { &hf_s1ap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
6102 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6103 { NULL, 0, 0, NULL }
6106 static int
6107 dissect_s1ap_EN_DCSONengNBIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6108 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6109 ett_s1ap_EN_DCSONengNBIdentification, EN_DCSONengNBIdentification_sequence);
6111 return offset;
6116 static int
6117 dissect_s1ap_FiveGSTAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6118 tvbuff_t *parameter_tvb = NULL;
6119 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
6120 3, 3, false, &parameter_tvb);
6122 if (parameter_tvb) {
6123 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
6127 return offset;
6131 static const per_sequence_t FiveGSTAI_sequence[] = {
6132 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
6133 { &hf_s1ap_fiveGSTAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_FiveGSTAC },
6134 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6135 { NULL, 0, 0, NULL }
6138 static int
6139 dissect_s1ap_FiveGSTAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6140 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
6141 s1ap_data->number_type = E212_5GSTAI;
6142 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6143 ett_s1ap_FiveGSTAI, FiveGSTAI_sequence);
6147 return offset;
6151 static const per_sequence_t EN_DCTransferTypeRequest_sequence[] = {
6152 { &hf_s1ap_sourceeNB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EN_DCSONeNBIdentification },
6153 { &hf_s1ap_targetengNB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EN_DCSONengNBIdentification },
6154 { &hf_s1ap_targeteNB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_EN_DCSONeNBIdentification },
6155 { &hf_s1ap_associatedTAI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TAI },
6156 { &hf_s1ap_broadcast5GSTAI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_FiveGSTAI },
6157 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6158 { NULL, 0, 0, NULL }
6161 static int
6162 dissect_s1ap_EN_DCTransferTypeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6163 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6164 ett_s1ap_EN_DCTransferTypeRequest, EN_DCTransferTypeRequest_sequence);
6166 return offset;
6170 static const per_sequence_t EN_DCTransferTypeReply_sequence[] = {
6171 { &hf_s1ap_sourceengNB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EN_DCSONengNBIdentification },
6172 { &hf_s1ap_targeteNB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EN_DCSONeNBIdentification },
6173 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6174 { NULL, 0, 0, NULL }
6177 static int
6178 dissect_s1ap_EN_DCTransferTypeReply(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6179 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6180 ett_s1ap_EN_DCTransferTypeReply, EN_DCTransferTypeReply_sequence);
6182 return offset;
6186 static const value_string s1ap_EN_DCSONTransferType_vals[] = {
6187 { 0, "request" },
6188 { 1, "reply" },
6189 { 0, NULL }
6192 static const per_choice_t EN_DCSONTransferType_choice[] = {
6193 { 0, &hf_s1ap_request , ASN1_EXTENSION_ROOT , dissect_s1ap_EN_DCTransferTypeRequest },
6194 { 1, &hf_s1ap_reply , ASN1_EXTENSION_ROOT , dissect_s1ap_EN_DCTransferTypeReply },
6195 { 0, NULL, 0, NULL }
6198 static int
6199 dissect_s1ap_EN_DCSONTransferType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6200 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6201 ett_s1ap_EN_DCSONTransferType, EN_DCSONTransferType_choice,
6202 NULL);
6204 return offset;
6208 static const value_string s1ap_SONInformationRequest_vals[] = {
6209 { 0, "x2TNL-Configuration-Info" },
6210 { 1, "time-Synchronisation-Info" },
6211 { 2, "activate-Muting" },
6212 { 3, "deactivate-Muting" },
6213 { 0, NULL }
6217 static int
6218 dissect_s1ap_SONInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6219 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6220 1, NULL, true, 3, NULL);
6222 return offset;
6226 static const per_sequence_t X2TNLConfigurationInfo_sequence[] = {
6227 { &hf_s1ap_eNBX2TransportLayerAddresses, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ENBX2TLAs },
6228 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6229 { NULL, 0, 0, NULL }
6232 static int
6233 dissect_s1ap_X2TNLConfigurationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6234 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6235 ett_s1ap_X2TNLConfigurationInfo, X2TNLConfigurationInfo_sequence);
6237 return offset;
6241 static const per_sequence_t SONInformationReply_sequence[] = {
6242 { &hf_s1ap_x2TNLConfigurationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_X2TNLConfigurationInfo },
6243 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6244 { NULL, 0, 0, NULL }
6247 static int
6248 dissect_s1ap_SONInformationReply(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6249 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6250 ett_s1ap_SONInformationReply, SONInformationReply_sequence);
6252 return offset;
6257 static int
6258 dissect_s1ap_SONInformation_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6259 offset = dissect_s1ap_ProtocolIE_SingleContainer(tvb, offset, actx, tree, hf_index);
6261 return offset;
6265 static const value_string s1ap_SONInformation_vals[] = {
6266 { 0, "sONInformationRequest" },
6267 { 1, "sONInformationReply" },
6268 { 2, "sONInformation-Extension" },
6269 { 0, NULL }
6272 static const per_choice_t SONInformation_choice[] = {
6273 { 0, &hf_s1ap_sONInformationRequest, ASN1_EXTENSION_ROOT , dissect_s1ap_SONInformationRequest },
6274 { 1, &hf_s1ap_sONInformationReply, ASN1_EXTENSION_ROOT , dissect_s1ap_SONInformationReply },
6275 { 2, &hf_s1ap_sONInformation_Extension, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_SONInformation_Extension },
6276 { 0, NULL, 0, NULL }
6279 static int
6280 dissect_s1ap_SONInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6281 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6282 ett_s1ap_SONInformation, SONInformation_choice,
6283 NULL);
6285 return offset;
6289 static const per_sequence_t EN_DCSONConfigurationTransfer_sequence[] = {
6290 { &hf_s1ap_transfertype , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EN_DCSONTransferType },
6291 { &hf_s1ap_sONInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SONInformation },
6292 { &hf_s1ap_x2TNLConfigInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_X2TNLConfigurationInfo },
6293 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6294 { NULL, 0, 0, NULL }
6297 static int
6298 dissect_s1ap_EN_DCSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6299 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6300 ett_s1ap_EN_DCSONConfigurationTransfer, EN_DCSONConfigurationTransfer_sequence);
6302 return offset;
6306 static const value_string s1ap_EndIndication_vals[] = {
6307 { 0, "no-further-data" },
6308 { 1, "further-data-exists" },
6309 { 0, NULL }
6313 static int
6314 dissect_s1ap_EndIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6315 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6316 2, NULL, true, 0, NULL);
6318 return offset;
6322 static const value_string s1ap_EnhancedCoverageRestricted_vals[] = {
6323 { 0, "restricted" },
6324 { 0, NULL }
6328 static int
6329 dissect_s1ap_EnhancedCoverageRestricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6330 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6331 1, NULL, true, 0, NULL);
6333 return offset;
6337 static const value_string s1ap_CE_ModeBRestricted_vals[] = {
6338 { 0, "restricted" },
6339 { 1, "not-restricted" },
6340 { 0, NULL }
6344 static int
6345 dissect_s1ap_CE_ModeBRestricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6346 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6347 2, NULL, true, 0, NULL);
6349 return offset;
6353 static const per_sequence_t EPLMNs_sequence_of[1] = {
6354 { &hf_s1ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
6357 static int
6358 dissect_s1ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6359 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6360 ett_s1ap_EPLMNs, EPLMNs_sequence_of,
6361 1, maxnoofEPLMNs, false);
6363 return offset;
6367 static const value_string s1ap_EventType_vals[] = {
6368 { 0, "direct" },
6369 { 1, "change-of-serve-cell" },
6370 { 2, "stop-change-of-serve-cell" },
6371 { 0, NULL }
6375 static int
6376 dissect_s1ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6377 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6378 3, NULL, true, 0, NULL);
6380 return offset;
6384 static const per_sequence_t E_RABInformationList_sequence_of[1] = {
6385 { &hf_s1ap_E_RABInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
6388 static int
6389 dissect_s1ap_E_RABInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6390 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6391 ett_s1ap_E_RABInformationList, E_RABInformationList_sequence_of,
6392 1, maxnoofE_RABs, false);
6394 return offset;
6398 static const per_sequence_t E_RABInformationListItem_sequence[] = {
6399 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
6400 { &hf_s1ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_DL_Forwarding },
6401 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6402 { NULL, 0, 0, NULL }
6405 static int
6406 dissect_s1ap_E_RABInformationListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6407 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6408 ett_s1ap_E_RABInformationListItem, E_RABInformationListItem_sequence);
6410 return offset;
6414 static const per_sequence_t E_RABList_sequence_of[1] = {
6415 { &hf_s1ap_E_RABList_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
6418 static int
6419 dissect_s1ap_E_RABList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6420 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6421 ett_s1ap_E_RABList, E_RABList_sequence_of,
6422 1, maxnoofE_RABs, false);
6424 return offset;
6428 static const per_sequence_t E_RABItem_sequence[] = {
6429 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
6430 { &hf_s1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause },
6431 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6432 { NULL, 0, 0, NULL }
6435 static int
6436 dissect_s1ap_E_RABItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6437 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6438 ett_s1ap_E_RABItem, E_RABItem_sequence);
6440 return offset;
6445 static int
6446 dissect_s1ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6447 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6448 0U, 255U, NULL, false);
6450 return offset;
6454 static const per_sequence_t GBR_QosInformation_sequence[] = {
6455 { &hf_s1ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
6456 { &hf_s1ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
6457 { &hf_s1ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
6458 { &hf_s1ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
6459 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6460 { NULL, 0, 0, NULL }
6463 static int
6464 dissect_s1ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6465 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6466 ett_s1ap_GBR_QosInformation, GBR_QosInformation_sequence);
6468 return offset;
6472 static const per_sequence_t E_RABLevelQoSParameters_sequence[] = {
6473 { &hf_s1ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_QCI },
6474 { &hf_s1ap_allocationRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_AllocationAndRetentionPriority },
6475 { &hf_s1ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_GBR_QosInformation },
6476 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6477 { NULL, 0, 0, NULL }
6480 static int
6481 dissect_s1ap_E_RABLevelQoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6482 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6483 ett_s1ap_E_RABLevelQoSParameters, E_RABLevelQoSParameters_sequence);
6485 return offset;
6489 static const per_sequence_t E_RABSecurityResultList_sequence_of[1] = {
6490 { &hf_s1ap_E_RABSecurityResultList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
6493 static int
6494 dissect_s1ap_E_RABSecurityResultList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6495 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6496 ett_s1ap_E_RABSecurityResultList, E_RABSecurityResultList_sequence_of,
6497 1, maxnoofE_RABs, false);
6499 return offset;
6503 static const value_string s1ap_IntegrityProtectionResult_vals[] = {
6504 { 0, "performed" },
6505 { 1, "not-performed" },
6506 { 0, NULL }
6510 static int
6511 dissect_s1ap_IntegrityProtectionResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6512 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6513 2, NULL, true, 0, NULL);
6515 return offset;
6519 static const per_sequence_t SecurityResult_sequence[] = {
6520 { &hf_s1ap_integrityProtectionResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IntegrityProtectionResult },
6521 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6522 { NULL, 0, 0, NULL }
6525 static int
6526 dissect_s1ap_SecurityResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6527 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6528 ett_s1ap_SecurityResult, SecurityResult_sequence);
6530 return offset;
6534 static const per_sequence_t E_RABSecurityResultItem_sequence[] = {
6535 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
6536 { &hf_s1ap_securityResult , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SecurityResult },
6537 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6538 { NULL, 0, 0, NULL }
6541 static int
6542 dissect_s1ap_E_RABSecurityResultItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6543 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6544 ett_s1ap_E_RABSecurityResultItem, E_RABSecurityResultItem_sequence);
6546 return offset;
6550 static const per_sequence_t E_RABUsageReportList_sequence_of[1] = {
6551 { &hf_s1ap_E_RABUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
6554 static int
6555 dissect_s1ap_E_RABUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6556 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6557 ett_s1ap_E_RABUsageReportList, E_RABUsageReportList_sequence_of,
6558 1, maxnooftimeperiods, false);
6560 return offset;
6565 static int
6566 dissect_s1ap_T_startTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6567 tvbuff_t *timestamp_tvb = NULL;
6568 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6569 4, 4, false, &timestamp_tvb);
6573 if (timestamp_tvb) {
6574 proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
6577 return offset;
6582 static int
6583 dissect_s1ap_T_endTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6584 tvbuff_t *timestamp_tvb = NULL;
6585 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6586 4, 4, false, &timestamp_tvb);
6590 if (timestamp_tvb) {
6591 proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
6594 return offset;
6599 static int
6600 dissect_s1ap_INTEGER_0_18446744073709551615(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6601 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
6602 0U, UINT64_C(18446744073709551615), NULL, false);
6604 return offset;
6608 static const per_sequence_t E_RABUsageReportItem_sequence[] = {
6609 { &hf_s1ap_startTimestamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_startTimestamp },
6610 { &hf_s1ap_endTimestamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_endTimestamp },
6611 { &hf_s1ap_usageCountUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_18446744073709551615 },
6612 { &hf_s1ap_usageCountDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_18446744073709551615 },
6613 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6614 { NULL, 0, 0, NULL }
6617 static int
6618 dissect_s1ap_E_RABUsageReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6619 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6620 ett_s1ap_E_RABUsageReportItem, E_RABUsageReportItem_sequence);
6622 return offset;
6626 static const value_string s1ap_Ethernet_Type_vals[] = {
6627 { 0, "true" },
6628 { 0, NULL }
6632 static int
6633 dissect_s1ap_Ethernet_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6634 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6635 1, NULL, true, 0, NULL);
6637 return offset;
6642 static int
6643 dissect_s1ap_EUTRANRoundTripDelayEstimationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6644 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6645 0U, 2047U, NULL, false);
6647 return offset;
6652 static int
6653 dissect_s1ap_Threshold_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6654 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6655 0U, 97U, NULL, false);
6657 return offset;
6662 static int
6663 dissect_s1ap_Threshold_RSRQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6664 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6665 0U, 34U, NULL, false);
6667 return offset;
6671 static const value_string s1ap_MeasurementThresholdL1LoggedMDT_vals[] = {
6672 { 0, "threshold-RSRP" },
6673 { 1, "threshold-RSRQ" },
6674 { 2, "choice-Extensions" },
6675 { 0, NULL }
6678 static const per_choice_t MeasurementThresholdL1LoggedMDT_choice[] = {
6679 { 0, &hf_s1ap_threshold_RSRP , ASN1_NO_EXTENSIONS , dissect_s1ap_Threshold_RSRP },
6680 { 1, &hf_s1ap_threshold_RSRQ , ASN1_NO_EXTENSIONS , dissect_s1ap_Threshold_RSRQ },
6681 { 2, &hf_s1ap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_s1ap_ProtocolIE_SingleContainer },
6682 { 0, NULL, 0, NULL }
6685 static int
6686 dissect_s1ap_MeasurementThresholdL1LoggedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6687 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6688 ett_s1ap_MeasurementThresholdL1LoggedMDT, MeasurementThresholdL1LoggedMDT_choice,
6689 NULL);
6691 return offset;
6696 static int
6697 dissect_s1ap_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6698 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6699 0U, 30U, NULL, false);
6701 return offset;
6705 static const value_string s1ap_TimeToTrigger_vals[] = {
6706 { 0, "ms0" },
6707 { 1, "ms40" },
6708 { 2, "ms64" },
6709 { 3, "ms80" },
6710 { 4, "ms100" },
6711 { 5, "ms128" },
6712 { 6, "ms160" },
6713 { 7, "ms256" },
6714 { 8, "ms320" },
6715 { 9, "ms480" },
6716 { 10, "ms512" },
6717 { 11, "ms640" },
6718 { 12, "ms1024" },
6719 { 13, "ms1280" },
6720 { 14, "ms2560" },
6721 { 15, "ms5120" },
6722 { 0, NULL }
6726 static int
6727 dissect_s1ap_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6728 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6729 16, NULL, false, 0, NULL);
6731 return offset;
6735 static const per_sequence_t EventL1LoggedMDTConfig_sequence[] = {
6736 { &hf_s1ap_l1Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MeasurementThresholdL1LoggedMDT },
6737 { &hf_s1ap_hysteresis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Hysteresis },
6738 { &hf_s1ap_timeToTrigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TimeToTrigger },
6739 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6740 { NULL, 0, 0, NULL }
6743 static int
6744 dissect_s1ap_EventL1LoggedMDTConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6745 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6746 ett_s1ap_EventL1LoggedMDTConfig, EventL1LoggedMDTConfig_sequence);
6748 return offset;
6752 static const value_string s1ap_T_outOfCoverage_vals[] = {
6753 { 0, "true" },
6754 { 0, NULL }
6758 static int
6759 dissect_s1ap_T_outOfCoverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6760 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6761 1, NULL, true, 0, NULL);
6763 return offset;
6767 static const value_string s1ap_EventTrigger_vals[] = {
6768 { 0, "outOfCoverage" },
6769 { 1, "eventL1LoggedMDTConfig" },
6770 { 2, "choice-Extensions" },
6771 { 0, NULL }
6774 static const per_choice_t EventTrigger_choice[] = {
6775 { 0, &hf_s1ap_outOfCoverage , ASN1_NO_EXTENSIONS , dissect_s1ap_T_outOfCoverage },
6776 { 1, &hf_s1ap_eventL1LoggedMDTConfig, ASN1_NO_EXTENSIONS , dissect_s1ap_EventL1LoggedMDTConfig },
6777 { 2, &hf_s1ap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_s1ap_ProtocolIE_SingleContainer },
6778 { 0, NULL, 0, NULL }
6781 static int
6782 dissect_s1ap_EventTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6783 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6784 ett_s1ap_EventTrigger, EventTrigger_choice,
6785 NULL);
6787 return offset;
6792 static int
6793 dissect_s1ap_ExpectedActivityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6794 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6795 1U, 181U, NULL, true);
6797 return offset;
6802 static int
6803 dissect_s1ap_ExpectedIdlePeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6804 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6805 1U, 181U, NULL, true);
6807 return offset;
6811 static const value_string s1ap_SourceOfUEActivityBehaviourInformation_vals[] = {
6812 { 0, "subscription-information" },
6813 { 1, "statistics" },
6814 { 0, NULL }
6818 static int
6819 dissect_s1ap_SourceOfUEActivityBehaviourInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6820 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6821 2, NULL, true, 0, NULL);
6823 return offset;
6827 static const per_sequence_t ExpectedUEActivityBehaviour_sequence[] = {
6828 { &hf_s1ap_expectedActivityPeriod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ExpectedActivityPeriod },
6829 { &hf_s1ap_expectedIdlePeriod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ExpectedIdlePeriod },
6830 { &hf_s1ap_sourceofUEActivityBehaviourInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_SourceOfUEActivityBehaviourInformation },
6831 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6832 { NULL, 0, 0, NULL }
6835 static int
6836 dissect_s1ap_ExpectedUEActivityBehaviour(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6837 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6838 ett_s1ap_ExpectedUEActivityBehaviour, ExpectedUEActivityBehaviour_sequence);
6840 return offset;
6844 static const value_string s1ap_ExpectedHOInterval_vals[] = {
6845 { 0, "sec15" },
6846 { 1, "sec30" },
6847 { 2, "sec60" },
6848 { 3, "sec90" },
6849 { 4, "sec120" },
6850 { 5, "sec180" },
6851 { 6, "long-time" },
6852 { 0, NULL }
6856 static int
6857 dissect_s1ap_ExpectedHOInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6858 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6859 7, NULL, true, 0, NULL);
6861 return offset;
6865 static const per_sequence_t ExpectedUEBehaviour_sequence[] = {
6866 { &hf_s1ap_expectedActivity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ExpectedUEActivityBehaviour },
6867 { &hf_s1ap_expectedHOInterval, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ExpectedHOInterval },
6868 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6869 { NULL, 0, 0, NULL }
6872 static int
6873 dissect_s1ap_ExpectedUEBehaviour(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6874 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6875 ett_s1ap_ExpectedUEBehaviour, ExpectedUEBehaviour_sequence);
6877 return offset;
6882 static int
6883 dissect_s1ap_ExtendedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6884 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
6885 10000000001U, UINT64_C(4000000000000), NULL, true);
6887 return offset;
6892 static int
6893 dissect_s1ap_ExtendedRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6894 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6895 4096U, 65535U, NULL, false);
6897 return offset;
6902 static int
6903 dissect_s1ap_ExtendedRepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6904 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6905 4096U, 131071U, NULL, false);
6907 return offset;
6912 static int
6913 dissect_s1ap_Extended_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6914 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6915 14, 14, false, NULL, 0, NULL, NULL);
6917 return offset;
6922 static int
6923 dissect_s1ap_FiveQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6924 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6925 0U, 255U, NULL, true);
6927 return offset;
6931 static const value_string s1ap_ForbiddenInterRATs_vals[] = {
6932 { 0, "all" },
6933 { 1, "geran" },
6934 { 2, "utran" },
6935 { 3, "cdma2000" },
6936 { 4, "geranandutran" },
6937 { 5, "cdma2000andutran" },
6938 { 0, NULL }
6942 static int
6943 dissect_s1ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6944 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6945 4, NULL, true, 2, NULL);
6947 return offset;
6951 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
6952 { &hf_s1ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
6955 static int
6956 dissect_s1ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6957 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6958 ett_s1ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
6959 1, maxnoofForbTACs, false);
6961 return offset;
6965 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
6966 { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
6967 { &hf_s1ap_forbiddenTACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenTACs },
6968 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
6969 { NULL, 0, 0, NULL }
6972 static int
6973 dissect_s1ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6974 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6975 ett_s1ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
6977 return offset;
6981 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
6982 { &hf_s1ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenTAs_Item },
6985 static int
6986 dissect_s1ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6987 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6988 ett_s1ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
6989 1, maxnoofEPLMNsPlusOne, false);
6991 return offset;
6995 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
6996 { &hf_s1ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_LAC },
6999 static int
7000 dissect_s1ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7001 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7002 ett_s1ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
7003 1, maxnoofForbLACs, false);
7005 return offset;
7009 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
7010 { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
7011 { &hf_s1ap_forbiddenLACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenLACs },
7012 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7013 { NULL, 0, 0, NULL }
7016 static int
7017 dissect_s1ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7018 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7019 ett_s1ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
7021 return offset;
7025 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
7026 { &hf_s1ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenLAs_Item },
7029 static int
7030 dissect_s1ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7031 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7032 ett_s1ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
7033 1, maxnoofEPLMNsPlusOne, false);
7035 return offset;
7040 static int
7041 dissect_s1ap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7042 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7043 4, 4, false, NULL);
7045 return offset;
7049 static const value_string s1ap_GUMMEIType_vals[] = {
7050 { 0, "native" },
7051 { 1, "mapped" },
7052 { 2, "mappedFrom5G" },
7053 { 0, NULL }
7057 static int
7058 dissect_s1ap_GUMMEIType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7059 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7060 2, NULL, true, 1, NULL);
7062 return offset;
7066 static const value_string s1ap_GWContextReleaseIndication_vals[] = {
7067 { 0, "true" },
7068 { 0, NULL }
7072 static int
7073 dissect_s1ap_GWContextReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7074 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7075 1, NULL, true, 0, NULL);
7077 return offset;
7081 static const value_string s1ap_HandoverFlag_vals[] = {
7082 { 0, "handoverPreparation" },
7083 { 0, NULL }
7087 static int
7088 dissect_s1ap_HandoverFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7089 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7090 1, NULL, true, 0, NULL);
7092 return offset;
7096 static const per_sequence_t HandoverRestrictionList_sequence[] = {
7097 { &hf_s1ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
7098 { &hf_s1ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_EPLMNs },
7099 { &hf_s1ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ForbiddenTAs },
7100 { &hf_s1ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ForbiddenLAs },
7101 { &hf_s1ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ForbiddenInterRATs },
7102 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7103 { NULL, 0, 0, NULL }
7106 static int
7107 dissect_s1ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7108 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7109 ett_s1ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
7111 return offset;
7115 static const value_string s1ap_HandoverType_vals[] = {
7116 { intralte, "intralte" },
7117 { ltetoutran, "ltetoutran" },
7118 { ltetogeran, "ltetogeran" },
7119 { utrantolte, "utrantolte" },
7120 { gerantolte, "gerantolte" },
7121 { eps_to_5gs, "eps-to-5gs" },
7122 { fivegs_to_eps, "fivegs-to-eps" },
7123 { 0, NULL }
7127 static int
7128 dissect_s1ap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7129 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
7130 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7131 5, &s1ap_data->handover_type_value, true, 2, NULL);
7135 return offset;
7140 static int
7141 dissect_s1ap_Masked_IMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7142 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7143 64, 64, false, NULL, 0, NULL, NULL);
7145 return offset;
7150 static int
7151 dissect_s1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7152 tvbuff_t *parameter_tvb = NULL;
7153 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7154 8, 8, false, NULL, 0, &parameter_tvb, NULL);
7156 if(parameter_tvb){
7157 static int * const fields[] = {
7158 &hf_s1ap_measurementsToActivate_M1,
7159 &hf_s1ap_measurementsToActivate_M2,
7160 &hf_s1ap_measurementsToActivate_M3,
7161 &hf_s1ap_measurementsToActivate_M4,
7162 &hf_s1ap_measurementsToActivate_M5,
7163 &hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered,
7164 &hf_s1ap_measurementsToActivate_M6,
7165 &hf_s1ap_measurementsToActivate_M7,
7166 NULL
7168 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MeasurementsToActivate);
7169 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
7173 return offset;
7177 static const value_string s1ap_M1ReportingTrigger_vals[] = {
7178 { 0, "periodic" },
7179 { 1, "a2eventtriggered" },
7180 { 2, "a2eventtriggered-periodic" },
7181 { 0, NULL }
7185 static int
7186 dissect_s1ap_M1ReportingTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7187 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7188 2, NULL, true, 1, NULL);
7190 return offset;
7194 static const value_string s1ap_MeasurementThresholdA2_vals[] = {
7195 { 0, "threshold-RSRP" },
7196 { 1, "threshold-RSRQ" },
7197 { 0, NULL }
7200 static const per_choice_t MeasurementThresholdA2_choice[] = {
7201 { 0, &hf_s1ap_threshold_RSRP , ASN1_EXTENSION_ROOT , dissect_s1ap_Threshold_RSRP },
7202 { 1, &hf_s1ap_threshold_RSRQ , ASN1_EXTENSION_ROOT , dissect_s1ap_Threshold_RSRQ },
7203 { 0, NULL, 0, NULL }
7206 static int
7207 dissect_s1ap_MeasurementThresholdA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7208 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7209 ett_s1ap_MeasurementThresholdA2, MeasurementThresholdA2_choice,
7210 NULL);
7212 return offset;
7216 static const per_sequence_t M1ThresholdEventA2_sequence[] = {
7217 { &hf_s1ap_measurementThreshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MeasurementThresholdA2 },
7218 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7219 { NULL, 0, 0, NULL }
7222 static int
7223 dissect_s1ap_M1ThresholdEventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7224 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7225 ett_s1ap_M1ThresholdEventA2, M1ThresholdEventA2_sequence);
7227 return offset;
7231 static const value_string s1ap_ReportIntervalMDT_vals[] = {
7232 { 0, "ms120" },
7233 { 1, "ms240" },
7234 { 2, "ms480" },
7235 { 3, "ms640" },
7236 { 4, "ms1024" },
7237 { 5, "ms2048" },
7238 { 6, "ms5120" },
7239 { 7, "ms10240" },
7240 { 8, "min1" },
7241 { 9, "min6" },
7242 { 10, "min12" },
7243 { 11, "min30" },
7244 { 12, "min60" },
7245 { 0, NULL }
7249 static int
7250 dissect_s1ap_ReportIntervalMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7251 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7252 13, NULL, false, 0, NULL);
7254 return offset;
7258 static const value_string s1ap_ReportAmountMDT_vals[] = {
7259 { 0, "r1" },
7260 { 1, "r2" },
7261 { 2, "r4" },
7262 { 3, "r8" },
7263 { 4, "r16" },
7264 { 5, "r32" },
7265 { 6, "r64" },
7266 { 7, "rinfinity" },
7267 { 0, NULL }
7271 static int
7272 dissect_s1ap_ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7273 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7274 8, NULL, false, 0, NULL);
7276 return offset;
7280 static const per_sequence_t M1PeriodicReporting_sequence[] = {
7281 { &hf_s1ap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportIntervalMDT },
7282 { &hf_s1ap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportAmountMDT },
7283 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7284 { NULL, 0, 0, NULL }
7287 static int
7288 dissect_s1ap_M1PeriodicReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7289 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7290 ett_s1ap_M1PeriodicReporting, M1PeriodicReporting_sequence);
7292 return offset;
7296 static const per_sequence_t ImmediateMDT_sequence[] = {
7297 { &hf_s1ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MeasurementsToActivate },
7298 { &hf_s1ap_m1reportingTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M1ReportingTrigger },
7299 { &hf_s1ap_m1thresholdeventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_M1ThresholdEventA2 },
7300 { &hf_s1ap_m1periodicReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_M1PeriodicReporting },
7301 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7302 { NULL, 0, 0, NULL }
7305 static int
7306 dissect_s1ap_ImmediateMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7307 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7308 ett_s1ap_ImmediateMDT, ImmediateMDT_sequence);
7310 return offset;
7315 static int
7316 dissect_s1ap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7317 tvbuff_t *parameter_tvb;
7318 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7319 3, 8, false, &parameter_tvb);
7321 if (parameter_tvb) {
7322 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IMSI);
7323 dissect_e212_imsi(parameter_tvb, actx->pinfo, subtree, 0, tvb_reported_length(parameter_tvb), false);
7327 return offset;
7331 static const per_sequence_t RecommendedENBList_sequence_of[1] = {
7332 { &hf_s1ap_RecommendedENBList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
7335 static int
7336 dissect_s1ap_RecommendedENBList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7337 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7338 ett_s1ap_RecommendedENBList, RecommendedENBList_sequence_of,
7339 1, maxnoofRecommendedENBs, false);
7341 return offset;
7345 static const per_sequence_t RecommendedENBsForPaging_sequence[] = {
7346 { &hf_s1ap_recommendedENBList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedENBList },
7347 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7348 { NULL, 0, 0, NULL }
7351 static int
7352 dissect_s1ap_RecommendedENBsForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7353 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7354 ett_s1ap_RecommendedENBsForPaging, RecommendedENBsForPaging_sequence);
7356 return offset;
7360 static const per_sequence_t InformationOnRecommendedCellsAndENBsForPaging_sequence[] = {
7361 { &hf_s1ap_recommendedCellsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedCellsForPaging },
7362 { &hf_s1ap_recommendENBsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedENBsForPaging },
7363 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7364 { NULL, 0, 0, NULL }
7367 static int
7368 dissect_s1ap_InformationOnRecommendedCellsAndENBsForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7369 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7370 ett_s1ap_InformationOnRecommendedCellsAndENBsForPaging, InformationOnRecommendedCellsAndENBsForPaging_sequence);
7372 return offset;
7377 static int
7378 dissect_s1ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7379 tvbuff_t *parameter_tvb = NULL;
7380 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7381 16, 16, true, NULL, 0, &parameter_tvb, NULL);
7383 if(parameter_tvb){
7384 static int * const fields[] = {
7385 &hf_s1ap_integrityProtectionAlgorithms_EIA1,
7386 &hf_s1ap_integrityProtectionAlgorithms_EIA2,
7387 &hf_s1ap_integrityProtectionAlgorithms_EIA3,
7388 &hf_s1ap_integrityProtectionAlgorithms_EIA7,
7389 &hf_s1ap_integrityProtectionAlgorithms_Reserved,
7390 NULL
7392 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IntegrityProtectionAlgorithms);
7393 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
7397 return offset;
7401 static const value_string s1ap_IntegrityProtectionIndication_vals[] = {
7402 { 0, "required" },
7403 { 1, "preferred" },
7404 { 2, "not-needed" },
7405 { 0, NULL }
7409 static int
7410 dissect_s1ap_IntegrityProtectionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7411 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7412 3, NULL, true, 0, NULL);
7414 return offset;
7419 static int
7420 dissect_s1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7421 tvbuff_t *parameter_tvb = NULL;
7422 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7423 8, 8, false, NULL, 0, &parameter_tvb, NULL);
7425 if(parameter_tvb){
7426 static int * const fields[] = {
7427 &hf_s1ap_interfacesToTrace_S1_MME,
7428 &hf_s1ap_interfacesToTrace_X2,
7429 &hf_s1ap_interfacesToTrace_Uu,
7430 &hf_s1ap_interfacesToTrace_F1_C,
7431 &hf_s1ap_interfacesToTrace_E1,
7432 &hf_s1ap_interfacesToTrace_Reserved,
7433 NULL
7435 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_InterfacesToTrace);
7436 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
7440 return offset;
7445 static int
7446 dissect_s1ap_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7447 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7448 0U, 127U, NULL, false);
7450 return offset;
7455 static int
7456 dissect_s1ap_INTEGER_1_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7457 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7458 1U, 100U, NULL, false);
7460 return offset;
7465 static int
7466 dissect_s1ap_INTEGER_1_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7467 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7468 1U, 1024U, NULL, false);
7470 return offset;
7475 static int
7476 dissect_s1ap_INTEGER_0_maxNARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7477 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7478 0U, maxNARFCN, NULL, false);
7480 return offset;
7484 static const value_string s1ap_T_subcarrierSpacingSSB_vals[] = {
7485 { 0, "kHz15" },
7486 { 1, "kHz30" },
7487 { 2, "kHz60" },
7488 { 3, "kHz120" },
7489 { 4, "kHz240" },
7490 { 5, "kHz480" },
7491 { 6, "kHz960" },
7492 { 0, NULL }
7496 static int
7497 dissect_s1ap_T_subcarrierSpacingSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7498 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7499 5, NULL, true, 2, NULL);
7501 return offset;
7506 static int
7507 dissect_s1ap_INTEGER_1_maxRS_IndexCellQual(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7508 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7509 1U, maxRS_IndexCellQual, NULL, false);
7511 return offset;
7516 static int
7517 dissect_s1ap_T_sMTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7518 tvbuff_t *ssb_mtc_tvb = NULL;
7519 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7520 NO_BOUND, NO_BOUND, false, &ssb_mtc_tvb);
7522 if (ssb_mtc_tvb) {
7523 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_sMTC);
7524 dissect_lte_rrc_MTC_SSB_NR_r15_PDU(ssb_mtc_tvb, actx->pinfo, subtree, NULL);
7528 return offset;
7533 static int
7534 dissect_s1ap_T_threshRS_Index_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7535 tvbuff_t *threshold_list_tvb = NULL;
7536 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7537 NO_BOUND, NO_BOUND, false, &threshold_list_tvb);
7539 if (threshold_list_tvb) {
7540 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_threshRS_Index_r15);
7541 dissect_lte_rrc_ThresholdListNR_r15_PDU(threshold_list_tvb, actx->pinfo, subtree, NULL);
7545 return offset;
7550 static int
7551 dissect_s1ap_T_sSBToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7552 tvbuff_t *ssb_to_meas_tvb = NULL;
7553 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7554 NO_BOUND, NO_BOUND, false, &ssb_to_meas_tvb);
7556 if (ssb_to_meas_tvb) {
7557 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_sSBToMeasure);
7558 dissect_lte_rrc_SSB_ToMeasure_r15_PDU(ssb_to_meas_tvb, actx->pinfo, subtree, NULL);
7562 return offset;
7567 static int
7568 dissect_s1ap_T_sSRSSIMeasurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7569 tvbuff_t *ss_rssi_meas_tvb = NULL;
7570 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7571 NO_BOUND, NO_BOUND, false, &ss_rssi_meas_tvb);
7573 if (ss_rssi_meas_tvb) {
7574 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_sSRSSIMeasurement);
7575 dissect_lte_rrc_SS_RSSI_Measurement_r15_PDU(ss_rssi_meas_tvb, actx->pinfo, subtree, NULL);
7579 return offset;
7584 static int
7585 dissect_s1ap_T_quantityConfigNR_R15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7586 tvbuff_t *quantity_config_nr_tvb = NULL;
7587 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7588 NO_BOUND, NO_BOUND, false, &quantity_config_nr_tvb);
7590 if (quantity_config_nr_tvb) {
7591 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_quantityConfigNR_R15);
7592 dissect_lte_rrc_QuantityConfigNR_r15_PDU(quantity_config_nr_tvb, actx->pinfo, subtree, NULL);
7596 return offset;
7601 static int
7602 dissect_s1ap_T_excludedCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7603 tvbuff_t *excluded_cells_list_tvb = NULL;
7604 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7605 NO_BOUND, NO_BOUND, false, &excluded_cells_list_tvb);
7607 if (excluded_cells_list_tvb) {
7608 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_excludedCellsToAddModList);
7609 dissect_lte_rrc_CellsToAddModListNR_r15_PDU(excluded_cells_list_tvb, actx->pinfo, subtree, NULL);
7613 return offset;
7617 static const per_sequence_t InterSystemMeasurementItem_sequence[] = {
7618 { &hf_s1ap_freqBandIndicatorNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_1_1024 },
7619 { &hf_s1ap_sSBfrequencies , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_maxNARFCN },
7620 { &hf_s1ap_subcarrierSpacingSSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_T_subcarrierSpacingSSB },
7621 { &hf_s1ap_maxRSIndexCellQual, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_INTEGER_1_maxRS_IndexCellQual },
7622 { &hf_s1ap_sMTC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_T_sMTC },
7623 { &hf_s1ap_threshRS_Index_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_T_threshRS_Index_r15 },
7624 { &hf_s1ap_sSBToMeasure , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_T_sSBToMeasure },
7625 { &hf_s1ap_sSRSSIMeasurement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_T_sSRSSIMeasurement },
7626 { &hf_s1ap_quantityConfigNR_R15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_T_quantityConfigNR_R15 },
7627 { &hf_s1ap_excludedCellsToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_T_excludedCellsToAddModList },
7628 { &hf_s1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7629 { NULL, 0, 0, NULL }
7632 static int
7633 dissect_s1ap_InterSystemMeasurementItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7634 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7635 ett_s1ap_InterSystemMeasurementItem, InterSystemMeasurementItem_sequence);
7637 return offset;
7641 static const per_sequence_t InterSystemMeasurementList_sequence_of[1] = {
7642 { &hf_s1ap_InterSystemMeasurementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_InterSystemMeasurementItem },
7645 static int
7646 dissect_s1ap_InterSystemMeasurementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7647 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7648 ett_s1ap_InterSystemMeasurementList, InterSystemMeasurementList_sequence_of,
7649 1, maxnooffrequencies, false);
7651 return offset;
7655 static const per_sequence_t InterSystemMeasurementParameters_sequence[] = {
7656 { &hf_s1ap_measurementDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_1_100 },
7657 { &hf_s1ap_interSystemMeasurementList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_InterSystemMeasurementList },
7658 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7659 { NULL, 0, 0, NULL }
7662 static int
7663 dissect_s1ap_InterSystemMeasurementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7664 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7665 ett_s1ap_InterSystemMeasurementParameters, InterSystemMeasurementParameters_sequence);
7667 return offset;
7671 static const per_sequence_t IntersystemMeasurementConfiguration_sequence[] = {
7672 { &hf_s1ap_rSRP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_127 },
7673 { &hf_s1ap_rSRQ , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_127 },
7674 { &hf_s1ap_sINR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_127 },
7675 { &hf_s1ap_interSystemMeasurementParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_InterSystemMeasurementParameters },
7676 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7677 { NULL, 0, 0, NULL }
7680 static int
7681 dissect_s1ap_IntersystemMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7682 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7683 ett_s1ap_IntersystemMeasurementConfiguration, IntersystemMeasurementConfiguration_sequence);
7685 return offset;
7690 static int
7691 dissect_s1ap_IntersystemSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7692 tvbuff_t *parameter_tvb = NULL;
7693 proto_tree *subtree;
7694 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7695 NO_BOUND, NO_BOUND, false, &parameter_tvb);
7697 if (parameter_tvb) {
7698 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IntersystemSONConfigurationTransfer);
7699 dissect_ngap_SONConfigurationTransfer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
7703 return offset;
7707 static const value_string s1ap_IMSvoiceEPSfallbackfrom5G_vals[] = {
7708 { 0, "true" },
7709 { 0, NULL }
7713 static int
7714 dissect_s1ap_IMSvoiceEPSfallbackfrom5G(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7715 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7716 1, NULL, true, 0, NULL);
7718 return offset;
7722 static const value_string s1ap_IAB_Authorized_vals[] = {
7723 { 0, "authorized" },
7724 { 1, "not-authorized" },
7725 { 0, NULL }
7729 static int
7730 dissect_s1ap_IAB_Authorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7731 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7732 2, NULL, true, 0, NULL);
7734 return offset;
7738 static const value_string s1ap_IAB_Node_Indication_vals[] = {
7739 { 0, "true" },
7740 { 0, NULL }
7744 static int
7745 dissect_s1ap_IAB_Node_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7746 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7747 1, NULL, true, 0, NULL);
7749 return offset;
7753 static const value_string s1ap_IAB_Supported_vals[] = {
7754 { 0, "true" },
7755 { 0, NULL }
7759 static int
7760 dissect_s1ap_IAB_Supported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7761 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7762 1, NULL, true, 0, NULL);
7764 return offset;
7768 static const value_string s1ap_KillAllWarningMessages_vals[] = {
7769 { 0, "true" },
7770 { 0, NULL }
7774 static int
7775 dissect_s1ap_KillAllWarningMessages(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7776 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7777 1, NULL, false, 0, NULL);
7779 return offset;
7784 static int
7785 dissect_s1ap_Time_UE_StayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7786 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7787 0U, 4095U, NULL, false);
7789 return offset;
7793 static const per_sequence_t LastVisitedEUTRANCellInformation_sequence[] = {
7794 { &hf_s1ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
7795 { &hf_s1ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellType },
7796 { &hf_s1ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Time_UE_StayedInCell },
7797 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7798 { NULL, 0, 0, NULL }
7801 static int
7802 dissect_s1ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7803 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7804 ett_s1ap_LastVisitedEUTRANCellInformation, LastVisitedEUTRANCellInformation_sequence);
7806 return offset;
7811 static int
7812 dissect_s1ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7813 tvbuff_t *parameter_tvb;
7814 proto_tree *subtree;
7815 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7816 NO_BOUND, NO_BOUND, false, &parameter_tvb);
7818 if (!parameter_tvb)
7819 return offset;
7821 if (g_s1ap_dissect_container) {
7822 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedUTRANCellInformation);
7823 volatile int saved_offset = offset;
7824 TRY {
7825 dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
7827 CATCH_BOUNDS_ERRORS {
7828 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
7830 ENDTRY;
7831 offset = saved_offset;
7835 return offset;
7839 static const value_string s1ap_LastVisitedGERANCellInformation_vals[] = {
7840 { 0, "undefined" },
7841 { 0, NULL }
7844 static const per_choice_t LastVisitedGERANCellInformation_choice[] = {
7845 { 0, &hf_s1ap_undefined , ASN1_EXTENSION_ROOT , dissect_s1ap_NULL },
7846 { 0, NULL, 0, NULL }
7849 static int
7850 dissect_s1ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7851 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7852 ett_s1ap_LastVisitedGERANCellInformation, LastVisitedGERANCellInformation_choice,
7853 NULL);
7855 return offset;
7860 static int
7861 dissect_s1ap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7862 tvbuff_t *parameter_tvb = NULL;
7863 proto_tree *subtree;
7864 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7865 NO_BOUND, NO_BOUND, false, &parameter_tvb);
7867 if (!parameter_tvb)
7868 return offset;
7870 if (g_s1ap_dissect_container) {
7871 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedNGRANCellInformation);
7872 volatile int saved_offset = offset;
7873 TRY {
7874 dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
7876 CATCH_BOUNDS_ERRORS {
7877 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
7879 ENDTRY;
7880 offset = saved_offset;
7884 return offset;
7888 static const value_string s1ap_LastVisitedCell_Item_vals[] = {
7889 { 0, "e-UTRAN-Cell" },
7890 { 1, "uTRAN-Cell" },
7891 { 2, "gERAN-Cell" },
7892 { 3, "nG-RAN-Cell" },
7893 { 0, NULL }
7896 static const per_choice_t LastVisitedCell_Item_choice[] = {
7897 { 0, &hf_s1ap_e_UTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_s1ap_LastVisitedEUTRANCellInformation },
7898 { 1, &hf_s1ap_uTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_s1ap_LastVisitedUTRANCellInformation },
7899 { 2, &hf_s1ap_gERAN_Cell , ASN1_EXTENSION_ROOT , dissect_s1ap_LastVisitedGERANCellInformation },
7900 { 3, &hf_s1ap_nG_RAN_Cell , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_LastVisitedNGRANCellInformation },
7901 { 0, NULL, 0, NULL }
7904 static int
7905 dissect_s1ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7906 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7907 ett_s1ap_LastVisitedCell_Item, LastVisitedCell_Item_choice,
7908 NULL);
7910 return offset;
7915 static int
7916 dissect_s1ap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7917 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7918 36, 36, false, NULL, 0, NULL, NULL);
7920 return offset;
7924 static const per_sequence_t NR_CGI_sequence[] = {
7925 { &hf_s1ap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
7926 { &hf_s1ap_nRCellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NRCellIdentity },
7927 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7928 { NULL, 0, 0, NULL }
7931 static int
7932 dissect_s1ap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7933 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
7934 s1ap_data->number_type = E212_NRCGI;
7935 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7936 ett_s1ap_NR_CGI, NR_CGI_sequence);
7940 return offset;
7944 static const per_sequence_t PSCellInformation_sequence[] = {
7945 { &hf_s1ap_nCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NR_CGI },
7946 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7947 { NULL, 0, 0, NULL }
7950 static int
7951 dissect_s1ap_PSCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7952 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7953 ett_s1ap_PSCellInformation, PSCellInformation_sequence);
7955 return offset;
7960 static int
7961 dissect_s1ap_INTEGER_0_40950(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7962 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7963 0U, 40950U, NULL, false);
7965 return offset;
7969 static const per_sequence_t LastVisitedPSCellInformation_sequence[] = {
7970 { &hf_s1ap_pSCellID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PSCellInformation },
7971 { &hf_s1ap_timeStay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_40950 },
7972 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
7973 { NULL, 0, 0, NULL }
7976 static int
7977 dissect_s1ap_LastVisitedPSCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7978 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7979 ett_s1ap_LastVisitedPSCellInformation, LastVisitedPSCellInformation_sequence);
7981 return offset;
7985 static const per_sequence_t LastVisitedPSCellList_sequence_of[1] = {
7986 { &hf_s1ap_LastVisitedPSCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_LastVisitedPSCellInformation },
7989 static int
7990 dissect_s1ap_LastVisitedPSCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7991 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7992 ett_s1ap_LastVisitedPSCellList, LastVisitedPSCellList_sequence_of,
7993 1, maxnoofPSCellsPerPrimaryCellinUEHistoryInfo, false);
7995 return offset;
8000 static int
8001 dissect_s1ap_LPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8003 tvbuff_t *parameter_tvb=NULL;
8005 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8006 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8009 if ((tvb_reported_length(parameter_tvb)>0)&&(lppa_handle))
8010 call_dissector(lppa_handle, parameter_tvb, actx->pinfo, tree);
8013 return offset;
8018 static int
8019 dissect_s1ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8020 tvbuff_t *parameter_tvb = NULL;
8021 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
8022 32, 256, false, &parameter_tvb);
8024 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
8026 return offset;
8030 static const value_string s1ap_Links_to_log_vals[] = {
8031 { 0, "uplink" },
8032 { 1, "downlink" },
8033 { 2, "both-uplink-and-downlink" },
8034 { 0, NULL }
8038 static int
8039 dissect_s1ap_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8040 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8041 3, NULL, true, 0, NULL);
8043 return offset;
8047 static const value_string s1ap_T_pattern_period_vals[] = {
8048 { 0, "ms1280" },
8049 { 1, "ms2560" },
8050 { 2, "ms5120" },
8051 { 3, "ms10240" },
8052 { 0, NULL }
8056 static int
8057 dissect_s1ap_T_pattern_period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8058 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8059 4, NULL, true, 0, NULL);
8061 return offset;
8066 static int
8067 dissect_s1ap_INTEGER_0_10239_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8068 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8069 0U, 10239U, NULL, true);
8071 return offset;
8075 static const per_sequence_t ListeningSubframePattern_sequence[] = {
8076 { &hf_s1ap_pattern_period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_pattern_period },
8077 { &hf_s1ap_pattern_offset , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_10239_ },
8078 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8079 { NULL, 0, 0, NULL }
8082 static int
8083 dissect_s1ap_ListeningSubframePattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8084 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8085 ett_s1ap_ListeningSubframePattern, ListeningSubframePattern_sequence);
8087 return offset;
8091 static const value_string s1ap_LoggingInterval_vals[] = {
8092 { 0, "ms1280" },
8093 { 1, "ms2560" },
8094 { 2, "ms5120" },
8095 { 3, "ms10240" },
8096 { 4, "ms20480" },
8097 { 5, "ms30720" },
8098 { 6, "ms40960" },
8099 { 7, "ms61440" },
8100 { 0, NULL }
8104 static int
8105 dissect_s1ap_LoggingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8106 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8107 8, NULL, false, 0, NULL);
8109 return offset;
8113 static const value_string s1ap_LoggingDuration_vals[] = {
8114 { 0, "m10" },
8115 { 1, "m20" },
8116 { 2, "m40" },
8117 { 3, "m60" },
8118 { 4, "m90" },
8119 { 5, "m120" },
8120 { 0, NULL }
8124 static int
8125 dissect_s1ap_LoggingDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8126 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8127 6, NULL, false, 0, NULL);
8129 return offset;
8133 static const per_sequence_t LoggedMDT_sequence[] = {
8134 { &hf_s1ap_loggingInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LoggingInterval },
8135 { &hf_s1ap_loggingDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LoggingDuration },
8136 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8137 { NULL, 0, 0, NULL }
8140 static int
8141 dissect_s1ap_LoggedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8142 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8143 ett_s1ap_LoggedMDT, LoggedMDT_sequence);
8145 return offset;
8150 static int
8151 dissect_s1ap_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8152 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8153 0U, 255U, NULL, false);
8155 return offset;
8159 static const per_sequence_t MBSFN_ResultToLogInfo_sequence[] = {
8160 { &hf_s1ap_mBSFN_AreaId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_255 },
8161 { &hf_s1ap_carrierFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EARFCN },
8162 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8163 { NULL, 0, 0, NULL }
8166 static int
8167 dissect_s1ap_MBSFN_ResultToLogInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8168 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8169 ett_s1ap_MBSFN_ResultToLogInfo, MBSFN_ResultToLogInfo_sequence);
8171 return offset;
8175 static const per_sequence_t MBSFN_ResultToLog_sequence_of[1] = {
8176 { &hf_s1ap_MBSFN_ResultToLog_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_MBSFN_ResultToLogInfo },
8179 static int
8180 dissect_s1ap_MBSFN_ResultToLog(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8181 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8182 ett_s1ap_MBSFN_ResultToLog, MBSFN_ResultToLog_sequence_of,
8183 1, maxnoofMBSFNAreaMDT, false);
8185 return offset;
8189 static const per_sequence_t LoggedMBSFNMDT_sequence[] = {
8190 { &hf_s1ap_loggingInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LoggingInterval },
8191 { &hf_s1ap_loggingDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LoggingDuration },
8192 { &hf_s1ap_mBSFN_ResultToLog, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_MBSFN_ResultToLog },
8193 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8194 { NULL, 0, 0, NULL }
8197 static int
8198 dissect_s1ap_LoggedMBSFNMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8199 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8200 ett_s1ap_LoggedMBSFNMDT, LoggedMBSFNMDT_sequence);
8202 return offset;
8206 static const value_string s1ap_LoggedMDTTrigger_vals[] = {
8207 { 0, "periodical" },
8208 { 1, "eventTrigger" },
8209 { 0, NULL }
8212 static const per_choice_t LoggedMDTTrigger_choice[] = {
8213 { 0, &hf_s1ap_periodical , ASN1_EXTENSION_ROOT , dissect_s1ap_NULL },
8214 { 1, &hf_s1ap_eventTrigger , ASN1_EXTENSION_ROOT , dissect_s1ap_EventTrigger },
8215 { 0, NULL, 0, NULL }
8218 static int
8219 dissect_s1ap_LoggedMDTTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8220 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8221 ett_s1ap_LoggedMDTTrigger, LoggedMDTTrigger_choice,
8222 NULL);
8224 return offset;
8228 static const value_string s1ap_LTE_M_Indication_vals[] = {
8229 { 0, "lte-m" },
8230 { 0, NULL }
8234 static int
8235 dissect_s1ap_LTE_M_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8236 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8237 1, NULL, true, 0, NULL);
8239 return offset;
8243 static const per_sequence_t TACList_In_LTE_NTN_sequence_of[1] = {
8244 { &hf_s1ap_TACList_In_LTE_NTN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
8247 static int
8248 dissect_s1ap_TACList_In_LTE_NTN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8249 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8250 ett_s1ap_TACList_In_LTE_NTN, TACList_In_LTE_NTN_sequence_of,
8251 1, maxnoofTACsInNTN, false);
8253 return offset;
8257 static const per_sequence_t LTE_NTN_TAI_Information_sequence[] = {
8258 { &hf_s1ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
8259 { &hf_s1ap_tACList_In_LTE_NTN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TACList_In_LTE_NTN },
8260 { &hf_s1ap_uE_Location_Derived_TAC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TAC },
8261 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8262 { NULL, 0, 0, NULL }
8265 static int
8266 dissect_s1ap_LTE_NTN_TAI_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8267 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8268 ett_s1ap_LTE_NTN_TAI_Information, LTE_NTN_TAI_Information_sequence);
8270 return offset;
8274 static const value_string s1ap_M3period_vals[] = {
8275 { 0, "ms100" },
8276 { 1, "ms1000" },
8277 { 2, "ms10000" },
8278 { 3, "ms1024" },
8279 { 4, "ms1280" },
8280 { 5, "ms2048" },
8281 { 6, "ms2560" },
8282 { 7, "ms5120" },
8283 { 8, "ms10240" },
8284 { 9, "min1" },
8285 { 0, NULL }
8289 static int
8290 dissect_s1ap_M3period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8291 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8292 3, NULL, true, 7, NULL);
8294 return offset;
8298 static const per_sequence_t M3Configuration_sequence[] = {
8299 { &hf_s1ap_m3period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M3period },
8300 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8301 { NULL, 0, 0, NULL }
8304 static int
8305 dissect_s1ap_M3Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8306 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8307 ett_s1ap_M3Configuration, M3Configuration_sequence);
8309 return offset;
8313 static const value_string s1ap_M4period_vals[] = {
8314 { 0, "ms1024" },
8315 { 1, "ms2048" },
8316 { 2, "ms5120" },
8317 { 3, "ms10240" },
8318 { 4, "min1" },
8319 { 0, NULL }
8323 static int
8324 dissect_s1ap_M4period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8325 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8326 5, NULL, true, 0, NULL);
8328 return offset;
8332 static const per_sequence_t M4Configuration_sequence[] = {
8333 { &hf_s1ap_m4period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M4period },
8334 { &hf_s1ap_m4_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Links_to_log },
8335 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8336 { NULL, 0, 0, NULL }
8339 static int
8340 dissect_s1ap_M4Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8341 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8342 ett_s1ap_M4Configuration, M4Configuration_sequence);
8344 return offset;
8348 static const value_string s1ap_M4ReportAmountMDT_vals[] = {
8349 { 0, "r1" },
8350 { 1, "r2" },
8351 { 2, "r4" },
8352 { 3, "r8" },
8353 { 4, "r16" },
8354 { 5, "r32" },
8355 { 6, "r64" },
8356 { 7, "infinity" },
8357 { 0, NULL }
8361 static int
8362 dissect_s1ap_M4ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8363 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8364 8, NULL, true, 0, NULL);
8366 return offset;
8370 static const value_string s1ap_M5period_vals[] = {
8371 { 0, "ms1024" },
8372 { 1, "ms2048" },
8373 { 2, "ms5120" },
8374 { 3, "ms10240" },
8375 { 4, "min1" },
8376 { 0, NULL }
8380 static int
8381 dissect_s1ap_M5period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8382 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8383 5, NULL, true, 0, NULL);
8385 return offset;
8389 static const per_sequence_t M5Configuration_sequence[] = {
8390 { &hf_s1ap_m5period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M5period },
8391 { &hf_s1ap_m5_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Links_to_log },
8392 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8393 { NULL, 0, 0, NULL }
8396 static int
8397 dissect_s1ap_M5Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8398 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8399 ett_s1ap_M5Configuration, M5Configuration_sequence);
8401 return offset;
8405 static const value_string s1ap_M5ReportAmountMDT_vals[] = {
8406 { 0, "r1" },
8407 { 1, "r2" },
8408 { 2, "r4" },
8409 { 3, "r8" },
8410 { 4, "r16" },
8411 { 5, "r32" },
8412 { 6, "r64" },
8413 { 7, "infinity" },
8414 { 0, NULL }
8418 static int
8419 dissect_s1ap_M5ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8420 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8421 8, NULL, true, 0, NULL);
8423 return offset;
8427 static const value_string s1ap_M6report_Interval_vals[] = {
8428 { 0, "ms1024" },
8429 { 1, "ms2048" },
8430 { 2, "ms5120" },
8431 { 3, "ms10240" },
8432 { 0, NULL }
8436 static int
8437 dissect_s1ap_M6report_Interval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8438 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8439 4, NULL, true, 0, NULL);
8441 return offset;
8445 static const value_string s1ap_M6delay_threshold_vals[] = {
8446 { 0, "ms30" },
8447 { 1, "ms40" },
8448 { 2, "ms50" },
8449 { 3, "ms60" },
8450 { 4, "ms70" },
8451 { 5, "ms80" },
8452 { 6, "ms90" },
8453 { 7, "ms100" },
8454 { 8, "ms150" },
8455 { 9, "ms300" },
8456 { 10, "ms500" },
8457 { 11, "ms750" },
8458 { 0, NULL }
8462 static int
8463 dissect_s1ap_M6delay_threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8464 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8465 12, NULL, true, 0, NULL);
8467 return offset;
8471 static const per_sequence_t M6Configuration_sequence[] = {
8472 { &hf_s1ap_m6report_Interval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M6report_Interval },
8473 { &hf_s1ap_m6delay_threshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_M6delay_threshold },
8474 { &hf_s1ap_m6_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Links_to_log },
8475 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8476 { NULL, 0, 0, NULL }
8479 static int
8480 dissect_s1ap_M6Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8481 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8482 ett_s1ap_M6Configuration, M6Configuration_sequence);
8484 return offset;
8488 static const value_string s1ap_M6ReportAmountMDT_vals[] = {
8489 { 0, "r1" },
8490 { 1, "r2" },
8491 { 2, "r4" },
8492 { 3, "r8" },
8493 { 4, "r16" },
8494 { 5, "r32" },
8495 { 6, "r64" },
8496 { 7, "infinity" },
8497 { 0, NULL }
8501 static int
8502 dissect_s1ap_M6ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8503 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8504 8, NULL, true, 0, NULL);
8506 return offset;
8511 static int
8512 dissect_s1ap_M7period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8513 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8514 1U, 60U, NULL, true);
8516 return offset;
8520 static const per_sequence_t M7Configuration_sequence[] = {
8521 { &hf_s1ap_m7period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M7period },
8522 { &hf_s1ap_m7_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Links_to_log },
8523 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8524 { NULL, 0, 0, NULL }
8527 static int
8528 dissect_s1ap_M7Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8529 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8530 ett_s1ap_M7Configuration, M7Configuration_sequence);
8532 return offset;
8536 static const value_string s1ap_M7ReportAmountMDT_vals[] = {
8537 { 0, "r1" },
8538 { 1, "r2" },
8539 { 2, "r4" },
8540 { 3, "r8" },
8541 { 4, "r16" },
8542 { 5, "r32" },
8543 { 6, "r64" },
8544 { 7, "infinity" },
8545 { 0, NULL }
8549 static int
8550 dissect_s1ap_M7ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8551 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8552 8, NULL, true, 0, NULL);
8554 return offset;
8558 static const value_string s1ap_MDT_Activation_vals[] = {
8559 { 0, "immediate-MDT-only" },
8560 { 1, "immediate-MDT-and-Trace" },
8561 { 2, "logged-MDT-only" },
8562 { 3, "logged-MBSFN-MDT" },
8563 { 0, NULL }
8567 static int
8568 dissect_s1ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8569 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8570 3, NULL, true, 1, NULL);
8572 return offset;
8577 static int
8578 dissect_s1ap_MDT_Location_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8579 tvbuff_t *parameter_tvb = NULL;
8580 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8581 8, 8, false, NULL, 0, &parameter_tvb, NULL);
8583 if(parameter_tvb){
8584 static int * const fields[] = {
8585 &hf_s1ap_MDT_Location_Info_GNSS,
8586 &hf_s1ap_MDT_Location_Info_E_CID,
8587 &hf_s1ap_MDT_Location_Info_Reserved,
8588 NULL
8590 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MDT_Location_Info);
8591 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
8595 return offset;
8600 static int
8601 dissect_s1ap_MDTMode_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8602 offset = dissect_s1ap_ProtocolIE_SingleContainer(tvb, offset, actx, tree, hf_index);
8604 return offset;
8608 static const value_string s1ap_MDTMode_vals[] = {
8609 { 0, "immediateMDT" },
8610 { 1, "loggedMDT" },
8611 { 2, "mDTMode-Extension" },
8612 { 0, NULL }
8615 static const per_choice_t MDTMode_choice[] = {
8616 { 0, &hf_s1ap_immediateMDT , ASN1_EXTENSION_ROOT , dissect_s1ap_ImmediateMDT },
8617 { 1, &hf_s1ap_loggedMDT , ASN1_EXTENSION_ROOT , dissect_s1ap_LoggedMDT },
8618 { 2, &hf_s1ap_mDTMode_Extension, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_MDTMode_Extension },
8619 { 0, NULL, 0, NULL }
8622 static int
8623 dissect_s1ap_MDTMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8624 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8625 ett_s1ap_MDTMode, MDTMode_choice,
8626 NULL);
8628 return offset;
8632 static const per_sequence_t MDT_Configuration_sequence[] = {
8633 { &hf_s1ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MDT_Activation },
8634 { &hf_s1ap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_AreaScopeOfMDT },
8635 { &hf_s1ap_mDTMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MDTMode },
8636 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8637 { NULL, 0, 0, NULL }
8640 static int
8641 dissect_s1ap_MDT_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8643 ett_s1ap_MDT_Configuration, MDT_Configuration_sequence);
8645 return offset;
8649 static const value_string s1ap_ManagementBasedMDTAllowed_vals[] = {
8650 { 0, "allowed" },
8651 { 0, NULL }
8655 static int
8656 dissect_s1ap_ManagementBasedMDTAllowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8657 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8658 1, NULL, true, 0, NULL);
8660 return offset;
8664 static const per_sequence_t MDTPLMNList_sequence_of[1] = {
8665 { &hf_s1ap_MDTPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
8668 static int
8669 dissect_s1ap_MDTPLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8670 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8671 ett_s1ap_MDTPLMNList, MDTPLMNList_sequence_of,
8672 1, maxnoofMDTPLMNs, false);
8674 return offset;
8678 static const value_string s1ap_PrivacyIndicator_vals[] = {
8679 { 0, "immediate-MDT" },
8680 { 1, "logged-MDT" },
8681 { 0, NULL }
8685 static int
8686 dissect_s1ap_PrivacyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8687 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8688 2, NULL, true, 0, NULL);
8690 return offset;
8695 static int
8696 dissect_s1ap_MessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8697 tvbuff_t *parameter_tvb = NULL;
8698 offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8699 16, 16, false, NULL, 0, &parameter_tvb, NULL);
8701 if (parameter_tvb) {
8702 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
8706 return offset;
8711 static int
8712 dissect_s1ap_MobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8713 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8714 32, 32, false, NULL, 0, NULL, NULL);
8716 return offset;
8721 static int
8722 dissect_s1ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8723 tvbuff_t *parameter_tvb=NULL;
8724 int length;
8725 bool is_ascii;
8727 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8728 1, 150, true,
8729 &parameter_tvb);
8732 if (!parameter_tvb)
8733 return offset;
8735 length = tvb_reported_length(parameter_tvb);
8737 is_ascii = tvb_ascii_isprint(parameter_tvb, 0, length);
8738 if (is_ascii)
8739 proto_item_append_text(actx->created_item," (%s)",tvb_format_text(actx->pinfo->pool, parameter_tvb, 0, length));
8742 return offset;
8746 static const value_string s1ap_MMEPagingTarget_vals[] = {
8747 { 0, "global-ENB-ID" },
8748 { 1, "tAI" },
8749 { 0, NULL }
8752 static const per_choice_t MMEPagingTarget_choice[] = {
8753 { 0, &hf_s1ap_global_ENB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_Global_ENB_ID },
8754 { 1, &hf_s1ap_tAI , ASN1_EXTENSION_ROOT , dissect_s1ap_TAI },
8755 { 0, NULL, 0, NULL }
8758 static int
8759 dissect_s1ap_MMEPagingTarget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8760 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8761 ett_s1ap_MMEPagingTarget, MMEPagingTarget_choice,
8762 NULL);
8764 return offset;
8768 static const value_string s1ap_MMERelaySupportIndicator_vals[] = {
8769 { 0, "true" },
8770 { 0, NULL }
8774 static int
8775 dissect_s1ap_MMERelaySupportIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8776 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8777 1, NULL, true, 0, NULL);
8779 return offset;
8784 static int
8785 dissect_s1ap_MME_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8786 uint32_t mme_ue_s1ap_id;
8787 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8788 0U, 4294967295U, &mme_ue_s1ap_id, false);
8790 if (hf_index == hf_s1ap_mME_UE_S1AP_ID) {
8791 proto_item *item;
8792 item = proto_tree_add_uint(tree, hf_s1ap_MME_UE_S1AP_ID_PDU, tvb, offset, 0 , mme_ue_s1ap_id );
8793 proto_item_set_hidden(item);
8797 return offset;
8802 static int
8803 dissect_s1ap_MSClassmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8804 tvbuff_t *parameter_tvb = NULL;
8805 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8806 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8808 if (parameter_tvb) {
8809 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MSClassmark);
8810 de_ms_cm_2(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
8814 return offset;
8819 static int
8820 dissect_s1ap_MSClassmark3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8821 tvbuff_t *parameter_tvb = NULL;
8822 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8823 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8825 if (parameter_tvb) {
8826 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MSClassmark);
8827 de_ms_cm_3(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
8831 return offset;
8835 static const value_string s1ap_MutingAvailabilityIndication_vals[] = {
8836 { 0, "available" },
8837 { 1, "unavailable" },
8838 { 0, NULL }
8842 static int
8843 dissect_s1ap_MutingAvailabilityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8844 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8845 2, NULL, true, 0, NULL);
8847 return offset;
8851 static const value_string s1ap_T_muting_pattern_period_vals[] = {
8852 { 0, "ms0" },
8853 { 1, "ms1280" },
8854 { 2, "ms2560" },
8855 { 3, "ms5120" },
8856 { 4, "ms10240" },
8857 { 0, NULL }
8861 static int
8862 dissect_s1ap_T_muting_pattern_period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8863 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8864 5, NULL, true, 0, NULL);
8866 return offset;
8870 static const per_sequence_t MutingPatternInformation_sequence[] = {
8871 { &hf_s1ap_muting_pattern_period, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_muting_pattern_period },
8872 { &hf_s1ap_muting_pattern_offset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_10239_ },
8873 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
8874 { NULL, 0, 0, NULL }
8877 static int
8878 dissect_s1ap_MutingPatternInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8879 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8880 ett_s1ap_MutingPatternInformation, MutingPatternInformation_sequence);
8882 return offset;
8887 static int
8888 dissect_s1ap_MDT_ConfigurationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8889 tvbuff_t *parameter_tvb = NULL;
8890 proto_tree *subtree;
8891 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8892 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8894 if (parameter_tvb) {
8895 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MDT_ConfigurationNR);
8896 dissect_ngap_MDT_Configuration_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
8900 return offset;
8905 static int
8906 dissect_s1ap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8908 tvbuff_t *parameter_tvb=NULL;
8910 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8911 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8914 if ((tvb_reported_length(parameter_tvb)>0)&&(nas_eps_handle))
8915 call_dissector(nas_eps_handle,parameter_tvb,actx->pinfo, tree);
8918 return offset;
8923 static int
8924 dissect_s1ap_NASSecurityParametersfromE_UTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8925 tvbuff_t *parameter_tvb;
8926 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8927 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8929 if (parameter_tvb) {
8930 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NASSecurityParameters);
8931 de_emm_sec_par_from_eutra(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
8935 return offset;
8940 static int
8941 dissect_s1ap_NASSecurityParameterstoE_UTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8942 tvbuff_t *parameter_tvb;
8943 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8944 NO_BOUND, NO_BOUND, false, &parameter_tvb);
8946 if (parameter_tvb) {
8947 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NASSecurityParameters);
8948 de_emm_sec_par_to_eutra(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
8952 return offset;
8956 static const value_string s1ap_NB_IoT_DefaultPagingDRX_vals[] = {
8957 { 0, "v128" },
8958 { 1, "v256" },
8959 { 2, "v512" },
8960 { 3, "v1024" },
8961 { 0, NULL }
8965 static int
8966 dissect_s1ap_NB_IoT_DefaultPagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8967 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8968 4, NULL, true, 0, NULL);
8970 return offset;
8974 static const value_string s1ap_NB_IoT_PagingDRX_vals[] = {
8975 { 0, "v32" },
8976 { 1, "v64" },
8977 { 2, "v128" },
8978 { 3, "v256" },
8979 { 4, "v512" },
8980 { 5, "v1024" },
8981 { 0, NULL }
8985 static int
8986 dissect_s1ap_NB_IoT_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8987 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8988 6, NULL, true, 0, NULL);
8990 return offset;
8994 static const value_string s1ap_NB_IoT_Paging_eDRX_Cycle_vals[] = {
8995 { 0, "hf2" },
8996 { 1, "hf4" },
8997 { 2, "hf6" },
8998 { 3, "hf8" },
8999 { 4, "hf10" },
9000 { 5, "hf12" },
9001 { 6, "hf14" },
9002 { 7, "hf16" },
9003 { 8, "hf32" },
9004 { 9, "hf64" },
9005 { 10, "hf128" },
9006 { 11, "hf256" },
9007 { 12, "hf512" },
9008 { 13, "hf1024" },
9009 { 0, NULL }
9013 static int
9014 dissect_s1ap_NB_IoT_Paging_eDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9015 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9016 14, NULL, true, 0, NULL);
9018 return offset;
9022 static const value_string s1ap_NB_IoT_PagingTimeWindow_vals[] = {
9023 { 0, "s1" },
9024 { 1, "s2" },
9025 { 2, "s3" },
9026 { 3, "s4" },
9027 { 4, "s5" },
9028 { 5, "s6" },
9029 { 6, "s7" },
9030 { 7, "s8" },
9031 { 8, "s9" },
9032 { 9, "s10" },
9033 { 10, "s11" },
9034 { 11, "s12" },
9035 { 12, "s13" },
9036 { 13, "s14" },
9037 { 14, "s15" },
9038 { 15, "s16" },
9039 { 0, NULL }
9043 static int
9044 dissect_s1ap_NB_IoT_PagingTimeWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9045 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9046 16, NULL, true, 0, NULL);
9048 return offset;
9052 static const per_sequence_t NB_IoT_Paging_eDRXInformation_sequence[] = {
9053 { &hf_s1ap_nB_IoT_paging_eDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NB_IoT_Paging_eDRX_Cycle },
9054 { &hf_s1ap_nB_IoT_pagingTimeWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_NB_IoT_PagingTimeWindow },
9055 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9056 { NULL, 0, 0, NULL }
9059 static int
9060 dissect_s1ap_NB_IoT_Paging_eDRXInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9061 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9062 ett_s1ap_NB_IoT_Paging_eDRXInformation, NB_IoT_Paging_eDRXInformation_sequence);
9064 return offset;
9069 static int
9070 dissect_s1ap_NB_IoT_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9071 tvbuff_t *parameter_tvb;
9072 proto_tree *subtree;
9073 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
9074 NO_BOUND, NO_BOUND, false, &parameter_tvb);
9076 if (!parameter_tvb)
9077 return offset;
9079 if (g_s1ap_dissect_container) {
9080 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NB_IoT_RLF_Report_Container);
9081 volatile int saved_offset = offset;
9082 TRY {
9083 dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
9085 CATCH_BOUNDS_ERRORS {
9086 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
9088 ENDTRY;
9089 offset = saved_offset;
9093 return offset;
9098 static int
9099 dissect_s1ap_NB_IoT_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9100 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9101 12, 12, false, NULL, 0, NULL, NULL);
9103 return offset;
9107 static const value_string s1ap_NotifySourceeNB_vals[] = {
9108 { 0, "notifySource" },
9109 { 0, NULL }
9113 static int
9114 dissect_s1ap_NotifySourceeNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9115 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9116 1, NULL, true, 0, NULL);
9118 return offset;
9123 static int
9124 dissect_s1ap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9125 tvbuff_t *parameter_tvb = NULL;
9126 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9127 16, 16, true, NULL, 0, &parameter_tvb, NULL);
9129 if (parameter_tvb) {
9130 static int * const fields[] = {
9131 &hf_s1ap_NRencryptionAlgorithms_NEA1,
9132 &hf_s1ap_NRencryptionAlgorithms_NEA2,
9133 &hf_s1ap_NRencryptionAlgorithms_NEA3,
9134 &hf_s1ap_NRencryptionAlgorithms_Reserved,
9135 NULL
9137 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NRencryptionAlgorithms);
9138 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
9142 return offset;
9147 static int
9148 dissect_s1ap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9149 tvbuff_t *parameter_tvb = NULL;
9150 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9151 16, 16, true, NULL, 0, &parameter_tvb, NULL);
9153 if (parameter_tvb) {
9154 static int * const fields[] = {
9155 &hf_s1ap_NRintegrityProtectionAlgorithms_NIA1,
9156 &hf_s1ap_NRintegrityProtectionAlgorithms_NIA2,
9157 &hf_s1ap_NRintegrityProtectionAlgorithms_NIA3,
9158 &hf_s1ap_NRintegrityProtectionAlgorithms_Reserved,
9159 NULL
9161 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NRintegrityProtectionAlgorithms);
9162 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
9166 return offset;
9170 static const value_string s1ap_NRrestrictioninEPSasSecondaryRAT_vals[] = {
9171 { 0, "nRrestrictedinEPSasSecondaryRAT" },
9172 { 0, NULL }
9176 static int
9177 dissect_s1ap_NRrestrictioninEPSasSecondaryRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9178 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9179 1, NULL, true, 0, NULL);
9181 return offset;
9185 static const value_string s1ap_NRrestrictionin5GS_vals[] = {
9186 { 0, "nRrestrictedin5GS" },
9187 { 0, NULL }
9191 static int
9192 dissect_s1ap_NRrestrictionin5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9193 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9194 1, NULL, true, 0, NULL);
9196 return offset;
9200 static const per_sequence_t NRUESecurityCapabilities_sequence[] = {
9201 { &hf_s1ap_nRencryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NRencryptionAlgorithms },
9202 { &hf_s1ap_nRintegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NRintegrityProtectionAlgorithms },
9203 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9204 { NULL, 0, 0, NULL }
9207 static int
9208 dissect_s1ap_NRUESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9209 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9210 ett_s1ap_NRUESecurityCapabilities, NRUESecurityCapabilities_sequence);
9212 return offset;
9217 static int
9218 dissect_s1ap_NumberofBroadcastRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9219 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
9220 0U, 65535U, NULL, false);
9222 return offset;
9226 static const value_string s1ap_VehicleUE_vals[] = {
9227 { 0, "authorized" },
9228 { 1, "not-authorized" },
9229 { 0, NULL }
9233 static int
9234 dissect_s1ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9235 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9236 2, NULL, true, 0, NULL);
9238 return offset;
9242 static const value_string s1ap_PedestrianUE_vals[] = {
9243 { 0, "authorized" },
9244 { 1, "not-authorized" },
9245 { 0, NULL }
9249 static int
9250 dissect_s1ap_PedestrianUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9251 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9252 2, NULL, true, 0, NULL);
9254 return offset;
9258 static const per_sequence_t NRV2XServicesAuthorized_sequence[] = {
9259 { &hf_s1ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_VehicleUE },
9260 { &hf_s1ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PedestrianUE },
9261 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9262 { NULL, 0, 0, NULL }
9265 static int
9266 dissect_s1ap_NRV2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9267 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9268 ett_s1ap_NRV2XServicesAuthorized, NRV2XServicesAuthorized_sequence);
9270 return offset;
9274 static const per_sequence_t NRUESidelinkAggregateMaximumBitrate_sequence[] = {
9275 { &hf_s1ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
9276 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9277 { NULL, 0, 0, NULL }
9280 static int
9281 dissect_s1ap_NRUESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9282 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9283 ett_s1ap_NRUESidelinkAggregateMaximumBitrate, NRUESidelinkAggregateMaximumBitrate_sequence);
9285 return offset;
9289 static const value_string s1ap_OverloadAction_vals[] = {
9290 { 0, "reject-non-emergency-mo-dt" },
9291 { 1, "reject-rrc-cr-signalling" },
9292 { 2, "permit-emergency-sessions-and-mobile-terminated-services-only" },
9293 { 3, "permit-high-priority-sessions-and-mobile-terminated-services-only" },
9294 { 4, "reject-delay-tolerant-access" },
9295 { 5, "permit-high-priority-sessions-and-exception-reporting-and-mobile-terminated-services-only" },
9296 { 6, "not-accept-mo-data-or-delay-tolerant-access-from-CP-CIoT" },
9297 { 0, NULL }
9301 static int
9302 dissect_s1ap_OverloadAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9303 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9304 3, NULL, true, 4, NULL);
9306 return offset;
9310 static const value_string s1ap_OverloadResponse_vals[] = {
9311 { 0, "overloadAction" },
9312 { 0, NULL }
9315 static const per_choice_t OverloadResponse_choice[] = {
9316 { 0, &hf_s1ap_overloadAction , ASN1_EXTENSION_ROOT , dissect_s1ap_OverloadAction },
9317 { 0, NULL, 0, NULL }
9320 static int
9321 dissect_s1ap_OverloadResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9322 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9323 ett_s1ap_OverloadResponse, OverloadResponse_choice,
9324 NULL);
9326 return offset;
9331 static int
9332 dissect_s1ap_Packet_LossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9333 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
9334 0U, 1000U, NULL, false);
9336 return offset;
9340 static const value_string s1ap_Paging_eDRX_Cycle_vals[] = {
9341 { 0, "hfhalf" },
9342 { 1, "hf1" },
9343 { 2, "hf2" },
9344 { 3, "hf4" },
9345 { 4, "hf6" },
9346 { 5, "hf8" },
9347 { 6, "hf10" },
9348 { 7, "hf12" },
9349 { 8, "hf14" },
9350 { 9, "hf16" },
9351 { 10, "hf32" },
9352 { 11, "hf64" },
9353 { 12, "hf128" },
9354 { 13, "hf256" },
9355 { 0, NULL }
9359 static int
9360 dissect_s1ap_Paging_eDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9361 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9362 14, NULL, true, 0, NULL);
9364 return offset;
9368 static const value_string s1ap_PagingTimeWindow_vals[] = {
9369 { 0, "s1" },
9370 { 1, "s2" },
9371 { 2, "s3" },
9372 { 3, "s4" },
9373 { 4, "s5" },
9374 { 5, "s6" },
9375 { 6, "s7" },
9376 { 7, "s8" },
9377 { 8, "s9" },
9378 { 9, "s10" },
9379 { 10, "s11" },
9380 { 11, "s12" },
9381 { 12, "s13" },
9382 { 13, "s14" },
9383 { 14, "s15" },
9384 { 15, "s16" },
9385 { 0, NULL }
9389 static int
9390 dissect_s1ap_PagingTimeWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9391 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9392 16, NULL, true, 0, NULL);
9394 return offset;
9398 static const per_sequence_t Paging_eDRXInformation_sequence[] = {
9399 { &hf_s1ap_paging_eDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Paging_eDRX_Cycle },
9400 { &hf_s1ap_pagingTimeWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PagingTimeWindow },
9401 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9402 { NULL, 0, 0, NULL }
9405 static int
9406 dissect_s1ap_Paging_eDRXInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9407 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9408 ett_s1ap_Paging_eDRXInformation, Paging_eDRXInformation_sequence);
9410 return offset;
9414 static const value_string s1ap_PagingDRX_vals[] = {
9415 { 0, "v32" },
9416 { 1, "v64" },
9417 { 2, "v128" },
9418 { 3, "v256" },
9419 { 0, NULL }
9423 static int
9424 dissect_s1ap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9425 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9426 4, NULL, true, 0, NULL);
9428 return offset;
9432 static const value_string s1ap_PagingPriority_vals[] = {
9433 { 0, "priolevel1" },
9434 { 1, "priolevel2" },
9435 { 2, "priolevel3" },
9436 { 3, "priolevel4" },
9437 { 4, "priolevel5" },
9438 { 5, "priolevel6" },
9439 { 6, "priolevel7" },
9440 { 7, "priolevel8" },
9441 { 0, NULL }
9445 static int
9446 dissect_s1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9447 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9448 8, NULL, true, 0, NULL);
9450 return offset;
9454 static const value_string s1ap_PagingProbabilityInformation_vals[] = {
9455 { 0, "p00" },
9456 { 1, "p05" },
9457 { 2, "p10" },
9458 { 3, "p15" },
9459 { 4, "p20" },
9460 { 5, "p25" },
9461 { 6, "p30" },
9462 { 7, "p35" },
9463 { 8, "p40" },
9464 { 9, "p45" },
9465 { 10, "p50" },
9466 { 11, "p55" },
9467 { 12, "p60" },
9468 { 13, "p65" },
9469 { 14, "p70" },
9470 { 15, "p75" },
9471 { 16, "p80" },
9472 { 17, "p85" },
9473 { 18, "p90" },
9474 { 19, "p95" },
9475 { 20, "p100" },
9476 { 0, NULL }
9480 static int
9481 dissect_s1ap_PagingProbabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9482 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9483 21, NULL, true, 0, NULL);
9485 return offset;
9489 static const value_string s1ap_PagingCause_vals[] = {
9490 { 0, "voice" },
9491 { 0, NULL }
9495 static int
9496 dissect_s1ap_PagingCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9497 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9498 1, NULL, true, 0, NULL);
9500 return offset;
9504 static const per_sequence_t PC5FlowBitRates_sequence[] = {
9505 { &hf_s1ap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
9506 { &hf_s1ap_maximumFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
9507 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9508 { NULL, 0, 0, NULL }
9511 static int
9512 dissect_s1ap_PC5FlowBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9513 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9514 ett_s1ap_PC5FlowBitRates, PC5FlowBitRates_sequence);
9516 return offset;
9520 static const value_string s1ap_Range_vals[] = {
9521 { 0, "m50" },
9522 { 1, "m80" },
9523 { 2, "m180" },
9524 { 3, "m200" },
9525 { 4, "m350" },
9526 { 5, "m400" },
9527 { 6, "m500" },
9528 { 7, "m700" },
9529 { 8, "m1000" },
9530 { 0, NULL }
9534 static int
9535 dissect_s1ap_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9536 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9537 9, NULL, true, 0, NULL);
9539 return offset;
9543 static const per_sequence_t PC5QoSFlowItem_sequence[] = {
9544 { &hf_s1ap_pQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_FiveQI },
9545 { &hf_s1ap_pc5FlowBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PC5FlowBitRates },
9546 { &hf_s1ap_range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_Range },
9547 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9548 { NULL, 0, 0, NULL }
9551 static int
9552 dissect_s1ap_PC5QoSFlowItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9553 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9554 ett_s1ap_PC5QoSFlowItem, PC5QoSFlowItem_sequence);
9556 return offset;
9560 static const per_sequence_t PC5QoSFlowList_sequence_of[1] = {
9561 { &hf_s1ap_PC5QoSFlowList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PC5QoSFlowItem },
9564 static int
9565 dissect_s1ap_PC5QoSFlowList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9566 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9567 ett_s1ap_PC5QoSFlowList, PC5QoSFlowList_sequence_of,
9568 1, maxnoofPC5QoSFlows, false);
9570 return offset;
9574 static const per_sequence_t PC5QoSParameters_sequence[] = {
9575 { &hf_s1ap_pc5QoSFlowList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PC5QoSFlowList },
9576 { &hf_s1ap_pc5LinkAggregatedBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_BitRate },
9577 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9578 { NULL, 0, 0, NULL }
9581 static int
9582 dissect_s1ap_PC5QoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9583 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9584 ett_s1ap_PC5QoSParameters, PC5QoSParameters_sequence);
9586 return offset;
9590 static const value_string s1ap_PendingDataIndication_vals[] = {
9591 { 0, "true" },
9592 { 0, NULL }
9596 static int
9597 dissect_s1ap_PendingDataIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9598 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9599 1, NULL, true, 0, NULL);
9601 return offset;
9606 static int
9607 dissect_s1ap_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9608 tvbuff_t *parameter_tvb = NULL;
9609 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
9610 2, 2, false, &parameter_tvb);
9612 if (parameter_tvb) {
9613 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
9617 return offset;
9621 static const value_string s1ap_ProSeDirectDiscovery_vals[] = {
9622 { 0, "authorized" },
9623 { 1, "not-authorized" },
9624 { 0, NULL }
9628 static int
9629 dissect_s1ap_ProSeDirectDiscovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9630 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9631 2, NULL, true, 0, NULL);
9633 return offset;
9637 static const value_string s1ap_ProSeDirectCommunication_vals[] = {
9638 { 0, "authorized" },
9639 { 1, "not-authorized" },
9640 { 0, NULL }
9644 static int
9645 dissect_s1ap_ProSeDirectCommunication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9646 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9647 2, NULL, true, 0, NULL);
9649 return offset;
9653 static const per_sequence_t ProSeAuthorized_sequence[] = {
9654 { &hf_s1ap_proSeDirectDiscovery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProSeDirectDiscovery },
9655 { &hf_s1ap_proSeDirectCommunication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProSeDirectCommunication },
9656 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9657 { NULL, 0, 0, NULL }
9660 static int
9661 dissect_s1ap_ProSeAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9662 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9663 ett_s1ap_ProSeAuthorized, ProSeAuthorized_sequence);
9665 return offset;
9669 static const value_string s1ap_ProSeUEtoNetworkRelaying_vals[] = {
9670 { 0, "authorized" },
9671 { 1, "not-authorized" },
9672 { 0, NULL }
9676 static int
9677 dissect_s1ap_ProSeUEtoNetworkRelaying(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9678 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9679 2, NULL, true, 0, NULL);
9681 return offset;
9685 static const value_string s1ap_PS_ServiceNotAvailable_vals[] = {
9686 { 0, "ps-service-not-available" },
9687 { 0, NULL }
9691 static int
9692 dissect_s1ap_PS_ServiceNotAvailable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9693 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9694 1, NULL, true, 0, NULL);
9696 return offset;
9700 static const value_string s1ap_RACSIndication_vals[] = {
9701 { 0, "true" },
9702 { 0, NULL }
9706 static int
9707 dissect_s1ap_RACSIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9708 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9709 1, NULL, true, 0, NULL);
9711 return offset;
9716 static int
9717 dissect_s1ap_ReceiveStatusOfULPDCPSDUsExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9718 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9719 1, 16384, false, NULL, 0, NULL, NULL);
9721 return offset;
9726 static int
9727 dissect_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9728 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9729 1, 131072, false, NULL, 0, NULL, NULL);
9731 return offset;
9736 static int
9737 dissect_s1ap_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9738 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
9739 0U, 4095U, NULL, false);
9741 return offset;
9745 static const per_sequence_t RecommendedCellItem_sequence[] = {
9746 { &hf_s1ap_eUTRAN_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
9747 { &hf_s1ap_timeStayedInCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_4095 },
9748 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9749 { NULL, 0, 0, NULL }
9752 static int
9753 dissect_s1ap_RecommendedCellItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9754 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9755 ett_s1ap_RecommendedCellItem, RecommendedCellItem_sequence);
9757 return offset;
9761 static const per_sequence_t RecommendedENBItem_sequence[] = {
9762 { &hf_s1ap_mMEPagingTarget, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MMEPagingTarget },
9763 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9764 { NULL, 0, 0, NULL }
9767 static int
9768 dissect_s1ap_RecommendedENBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9769 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9770 ett_s1ap_RecommendedENBItem, RecommendedENBItem_sequence);
9772 return offset;
9776 static const value_string s1ap_RelayNode_Indicator_vals[] = {
9777 { 0, "true" },
9778 { 0, NULL }
9782 static int
9783 dissect_s1ap_RelayNode_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9784 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9785 1, NULL, true, 0, NULL);
9787 return offset;
9792 static int
9793 dissect_s1ap_T_rAT_RestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9794 tvbuff_t *parameter_tvb = NULL;
9795 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9796 8, 8, true, NULL, 0, &parameter_tvb, NULL);
9798 if(parameter_tvb){
9799 static int * const fields[] = {
9800 &hf_s1ap_rAT_RestrictionInformation_LEO,
9801 &hf_s1ap_rAT_RestrictionInformation_MEO,
9802 &hf_s1ap_rAT_RestrictionInformation_GEO,
9803 &hf_s1ap_rAT_RestrictionInformation_OTHERSAT,
9804 &hf_s1ap_rAT_RestrictionInformation_NR_LEO,
9805 &hf_s1ap_rAT_RestrictionInformation_NR_MEO,
9806 &hf_s1ap_rAT_RestrictionInformation_NR_GEO,
9807 &hf_s1ap_rAT_RestrictionInformation_NR_OTHERSAT,
9808 NULL
9810 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_rAT_RestrictionInformation);
9811 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
9815 return offset;
9819 static const per_sequence_t RAT_RestrictionsItem_sequence[] = {
9820 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
9821 { &hf_s1ap_rAT_RestrictionInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_rAT_RestrictionInformation },
9822 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9823 { NULL, 0, 0, NULL }
9826 static int
9827 dissect_s1ap_RAT_RestrictionsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9828 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9829 ett_s1ap_RAT_RestrictionsItem, RAT_RestrictionsItem_sequence);
9831 return offset;
9835 static const per_sequence_t RAT_Restrictions_sequence_of[1] = {
9836 { &hf_s1ap_RAT_Restrictions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_RAT_RestrictionsItem },
9839 static int
9840 dissect_s1ap_RAT_Restrictions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9841 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9842 ett_s1ap_RAT_Restrictions, RAT_Restrictions_sequence_of,
9843 1, maxnoofEPLMNsPlusOne, false);
9845 return offset;
9849 static const value_string s1ap_RAT_Type_vals[] = {
9850 { nbiot, "nbiot" },
9851 { nbiot_leo, "nbiot-leo" },
9852 { nbiot_meo, "nbiot-meo" },
9853 { nbiot_geo, "nbiot-geo" },
9854 { nbiot_othersat, "nbiot-othersat" },
9855 { eutran_leo, "eutran-leo" },
9856 { eutran_meo, "eutran-meo" },
9857 { eutran_geo, "eutran-geo" },
9858 { eutran_othersat, "eutran-othersat" },
9859 { 0, NULL }
9863 static int
9864 dissect_s1ap_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9865 uint32_t rat_type = 0xffffffff;
9866 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
9867 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9868 1, &rat_type, true, 8, NULL);
9870 if (s1ap_data->s1ap_conv && s1ap_data->supported_ta && rat_type <= nbiot_othersat) {
9871 uint64_t *key;
9872 unsigned i;
9874 for (i = 0; i < wmem_array_get_count(s1ap_data->supported_ta->plmn); i++) {
9875 key = wmem_new(wmem_file_scope(), uint64_t);
9876 *key = ((*(uint32_t*)wmem_array_index(s1ap_data->supported_ta->plmn, i)) << 16) | s1ap_data->supported_ta->tac;
9877 wmem_map_insert(s1ap_data->s1ap_conv->nbiot_ta, key, GUINT_TO_POINTER(1));
9882 return offset;
9886 static const value_string s1ap_ReportArea_vals[] = {
9887 { 0, "ecgi" },
9888 { 0, NULL }
9892 static int
9893 dissect_s1ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9894 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9895 1, NULL, true, 0, NULL);
9897 return offset;
9901 static const per_sequence_t RequestType_sequence[] = {
9902 { &hf_s1ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EventType },
9903 { &hf_s1ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportArea },
9904 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9905 { NULL, 0, 0, NULL }
9908 static int
9909 dissect_s1ap_RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9910 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9911 ett_s1ap_RequestType, RequestType_sequence);
9913 return offset;
9917 static const value_string s1ap_RequestTypeAdditionalInfo_vals[] = {
9918 { 0, "includePSCell" },
9919 { 0, NULL }
9923 static int
9924 dissect_s1ap_RequestTypeAdditionalInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9925 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9926 1, NULL, true, 0, NULL);
9928 return offset;
9933 static int
9934 dissect_s1ap_RIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9935 tvbuff_t *parameter_tvb;
9936 proto_tree *subtree;
9938 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
9939 NO_BOUND, NO_BOUND, false, &parameter_tvb);
9942 if (!parameter_tvb)
9943 return offset;
9945 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RIMInformation);
9946 if ((tvb_reported_length(parameter_tvb)>0)&&(bssgp_handle)){
9947 col_set_fence(actx->pinfo->cinfo, COL_INFO);
9948 call_dissector(bssgp_handle,parameter_tvb,actx->pinfo, subtree);
9953 return offset;
9958 static int
9959 dissect_s1ap_RNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9960 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
9961 0U, 4095U, NULL, false);
9963 return offset;
9967 static const per_sequence_t TargetRNC_ID_sequence[] = {
9968 { &hf_s1ap_lAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LAI },
9969 { &hf_s1ap_rAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_RAC },
9970 { &hf_s1ap_rNC_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RNC_ID },
9971 { &hf_s1ap_extendedRNC_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ExtendedRNC_ID },
9972 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
9973 { NULL, 0, 0, NULL }
9976 static int
9977 dissect_s1ap_TargetRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9978 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9979 ett_s1ap_TargetRNC_ID, TargetRNC_ID_sequence);
9981 return offset;
9986 static int
9987 dissect_s1ap_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9988 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
9989 16, 16, false, NULL);
9991 return offset;
9995 static const value_string s1ap_RIMRoutingAddress_vals[] = {
9996 { 0, "gERAN-Cell-ID" },
9997 { 1, "targetRNC-ID" },
9998 { 2, "eHRPD-Sector-ID" },
9999 { 0, NULL }
10002 static const per_choice_t RIMRoutingAddress_choice[] = {
10003 { 0, &hf_s1ap_gERAN_Cell_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_GERAN_Cell_ID },
10004 { 1, &hf_s1ap_targetRNC_ID , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_TargetRNC_ID },
10005 { 2, &hf_s1ap_eHRPD_Sector_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_OCTET_STRING_SIZE_16 },
10006 { 0, NULL, 0, NULL }
10009 static int
10010 dissect_s1ap_RIMRoutingAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10011 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10012 ett_s1ap_RIMRoutingAddress, RIMRoutingAddress_choice,
10013 NULL);
10015 return offset;
10019 static const per_sequence_t RIMTransfer_sequence[] = {
10020 { &hf_s1ap_rIMInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RIMInformation },
10021 { &hf_s1ap_rIMRoutingAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_RIMRoutingAddress },
10022 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10023 { NULL, 0, 0, NULL }
10026 static int
10027 dissect_s1ap_RIMTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10028 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10029 ett_s1ap_RIMTransfer, RIMTransfer_sequence);
10031 return offset;
10036 static int
10037 dissect_s1ap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10038 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10039 0U, 4095U, NULL, false);
10041 return offset;
10046 static int
10047 dissect_s1ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10048 tvbuff_t *parameter_tvb;
10049 proto_tree *subtree;
10050 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
10051 NO_BOUND, NO_BOUND, false, &parameter_tvb);
10053 if (!parameter_tvb)
10054 return offset;
10056 if (g_s1ap_dissect_container) {
10057 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container);
10058 volatile int saved_offset = offset;
10059 TRY {
10060 dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10062 CATCH_BOUNDS_ERRORS {
10063 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
10065 ENDTRY;
10066 offset = saved_offset;
10070 return offset;
10075 static int
10076 dissect_s1ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10077 tvbuff_t *parameter_tvb;
10078 proto_tree *subtree;
10079 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
10080 NO_BOUND, NO_BOUND, false, &parameter_tvb);
10082 if (!parameter_tvb)
10083 return offset;
10085 if (g_s1ap_dissect_container) {
10086 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container_for_extended_bands);
10087 volatile int saved_offset = offset;
10088 TRY {
10089 dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10091 CATCH_BOUNDS_ERRORS {
10092 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
10094 ENDTRY;
10095 offset = saved_offset;
10099 return offset;
10103 static const per_sequence_t RLFReportInformation_sequence[] = {
10104 { &hf_s1ap_uE_RLF_Report_Container, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_UE_RLF_Report_Container },
10105 { &hf_s1ap_uE_RLF_Report_Container_for_extended_bands, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_UE_RLF_Report_Container_for_extended_bands },
10106 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10107 { NULL, 0, 0, NULL }
10110 static int
10111 dissect_s1ap_RLFReportInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10112 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10113 ett_s1ap_RLFReportInformation, RLFReportInformation_sequence);
10115 return offset;
10120 static int
10121 dissect_s1ap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10124 tvbuff_t *parameter_tvb;
10125 proto_tree *subtree;
10127 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
10128 NO_BOUND, NO_BOUND, false, &parameter_tvb);
10130 if (!parameter_tvb)
10131 return offset;
10133 if (g_s1ap_dissect_container) {
10134 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
10135 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RRCContainer);
10136 volatile int saved_offset = offset;
10138 switch(s1ap_data->transparent_container_type){
10139 case SOURCE_TO_TARGET_TRANSPARENT_CONTAINER:
10140 /* 9.2.1.7 Source eNB to Target eNB Transparent Container */
10141 if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
10142 (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
10143 TRY {
10144 dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10146 CATCH_BOUNDS_ERRORS {
10147 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
10149 ENDTRY;
10150 } else {
10151 TRY {
10152 dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10154 CATCH_BOUNDS_ERRORS {
10155 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
10157 ENDTRY;
10159 break;
10160 case TARGET_TO_SOURCE_TRANSPARENT_CONTAINER:
10161 /* 9.2.1.8 Target eNB to Source eNB Transparent Container */
10162 TRY {
10163 dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10165 CATCH_BOUNDS_ERRORS {
10166 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
10168 ENDTRY;
10169 break;
10170 default:
10171 break;
10173 offset = saved_offset;
10177 return offset;
10181 static const value_string s1ap_RRC_Establishment_Cause_vals[] = {
10182 { 0, "emergency" },
10183 { 1, "highPriorityAccess" },
10184 { 2, "mt-Access" },
10185 { 3, "mo-Signalling" },
10186 { 4, "mo-Data" },
10187 { 5, "delay-TolerantAccess" },
10188 { 6, "mo-VoiceCall" },
10189 { 7, "mo-ExceptionData" },
10190 { 0, NULL }
10194 static int
10195 dissect_s1ap_RRC_Establishment_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10196 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10197 5, NULL, true, 3, NULL);
10199 return offset;
10203 static const per_sequence_t ECGIListForRestart_sequence_of[1] = {
10204 { &hf_s1ap_ECGIListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
10207 static int
10208 dissect_s1ap_ECGIListForRestart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10209 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10210 ett_s1ap_ECGIListForRestart, ECGIListForRestart_sequence_of,
10211 1, maxnoofCellsforRestart, false);
10213 return offset;
10218 static int
10219 dissect_s1ap_Routing_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10220 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10221 0U, 255U, NULL, false);
10223 return offset;
10228 static int
10229 dissect_s1ap_SecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10230 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
10231 256, 256, false, NULL, 0, NULL, NULL);
10233 return offset;
10238 static int
10239 dissect_s1ap_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10240 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10241 0U, 7U, NULL, false);
10243 return offset;
10247 static const per_sequence_t SecurityContext_sequence[] = {
10248 { &hf_s1ap_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_7 },
10249 { &hf_s1ap_nextHopParameter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SecurityKey },
10250 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10251 { NULL, 0, 0, NULL }
10254 static int
10255 dissect_s1ap_SecurityContext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10256 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10257 ett_s1ap_SecurityContext, SecurityContext_sequence);
10259 return offset;
10263 static const value_string s1ap_SecondaryRATType_vals[] = {
10264 { 0, "nR" },
10265 { 1, "unlicensed" },
10266 { 0, NULL }
10270 static int
10271 dissect_s1ap_SecondaryRATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10272 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10273 1, NULL, true, 1, NULL);
10275 return offset;
10279 static const value_string s1ap_SecondaryRATDataUsageRequest_vals[] = {
10280 { 0, "requested" },
10281 { 0, NULL }
10285 static int
10286 dissect_s1ap_SecondaryRATDataUsageRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10287 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10288 1, NULL, true, 0, NULL);
10290 return offset;
10294 static const per_sequence_t SecondaryRATDataUsageReportList_sequence_of[1] = {
10295 { &hf_s1ap_SecondaryRATDataUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
10298 static int
10299 dissect_s1ap_SecondaryRATDataUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10300 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10301 ett_s1ap_SecondaryRATDataUsageReportList, SecondaryRATDataUsageReportList_sequence_of,
10302 1, maxnoofE_RABs, false);
10304 return offset;
10308 static const per_sequence_t SecondaryRATDataUsageReportItem_sequence[] = {
10309 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
10310 { &hf_s1ap_secondaryRATType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SecondaryRATType },
10311 { &hf_s1ap_e_RABUsageReportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RABUsageReportList },
10312 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10313 { NULL, 0, 0, NULL }
10316 static int
10317 dissect_s1ap_SecondaryRATDataUsageReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10318 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10319 ett_s1ap_SecondaryRATDataUsageReportItem, SecondaryRATDataUsageReportItem_sequence);
10321 return offset;
10325 static const per_sequence_t SecurityIndication_sequence[] = {
10326 { &hf_s1ap_integrityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IntegrityProtectionIndication },
10327 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10328 { NULL, 0, 0, NULL }
10331 static int
10332 dissect_s1ap_SecurityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10333 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10334 ett_s1ap_SecurityIndication, SecurityIndication_sequence);
10336 return offset;
10340 static const value_string s1ap_SensorMeasConfig_vals[] = {
10341 { 0, "setup" },
10342 { 0, NULL }
10346 static int
10347 dissect_s1ap_SensorMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10348 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10349 1, NULL, true, 0, NULL);
10351 return offset;
10355 static const value_string s1ap_T_uncompensatedBarometricConfig_vals[] = {
10356 { 0, "true" },
10357 { 0, NULL }
10361 static int
10362 dissect_s1ap_T_uncompensatedBarometricConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10363 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10364 1, NULL, true, 0, NULL);
10366 return offset;
10370 static const value_string s1ap_SensorNameConfig_vals[] = {
10371 { 0, "uncompensatedBarometricConfig" },
10372 { 1, "choice-Extensions" },
10373 { 0, NULL }
10376 static const per_choice_t SensorNameConfig_choice[] = {
10377 { 0, &hf_s1ap_uncompensatedBarometricConfig, ASN1_NO_EXTENSIONS , dissect_s1ap_T_uncompensatedBarometricConfig },
10378 { 1, &hf_s1ap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_s1ap_ProtocolIE_SingleContainer },
10379 { 0, NULL, 0, NULL }
10382 static int
10383 dissect_s1ap_SensorNameConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10384 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10385 ett_s1ap_SensorNameConfig, SensorNameConfig_choice,
10386 NULL);
10388 return offset;
10392 static const per_sequence_t SensorMeasConfigNameItem_sequence[] = {
10393 { &hf_s1ap_sensorNameConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SensorNameConfig },
10394 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10395 { NULL, 0, 0, NULL }
10398 static int
10399 dissect_s1ap_SensorMeasConfigNameItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10400 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10401 ett_s1ap_SensorMeasConfigNameItem, SensorMeasConfigNameItem_sequence);
10403 return offset;
10407 static const per_sequence_t SensorMeasConfigNameList_sequence_of[1] = {
10408 { &hf_s1ap_SensorMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_SensorMeasConfigNameItem },
10411 static int
10412 dissect_s1ap_SensorMeasConfigNameList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10413 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10414 ett_s1ap_SensorMeasConfigNameList, SensorMeasConfigNameList_sequence_of,
10415 1, maxnoofSensorName, false);
10417 return offset;
10421 static const per_sequence_t SensorMeasurementConfiguration_sequence[] = {
10422 { &hf_s1ap_sensorMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SensorMeasConfig },
10423 { &hf_s1ap_sensorMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_SensorMeasConfigNameList },
10424 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10425 { NULL, 0, 0, NULL }
10428 static int
10429 dissect_s1ap_SensorMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10430 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10431 ett_s1ap_SensorMeasurementConfiguration, SensorMeasurementConfiguration_sequence);
10433 return offset;
10438 static int
10439 dissect_s1ap_SerialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10440 tvbuff_t *parameter_tvb = NULL;
10441 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
10442 16, 16, false, NULL, 0, &parameter_tvb, NULL);
10444 if (parameter_tvb) {
10445 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_SerialNumber);
10446 proto_tree_add_item(subtree, hf_s1ap_SerialNumber_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
10447 proto_tree_add_item(subtree, hf_s1ap_SerialNumber_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
10448 proto_tree_add_item(subtree, hf_s1ap_SerialNumber_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
10452 return offset;
10456 static const value_string s1ap_ServiceType_vals[] = {
10457 { 0, "qMC-for-streaming-service" },
10458 { 1, "qMC-for-MTSI-service" },
10459 { 0, NULL }
10463 static int
10464 dissect_s1ap_ServiceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10465 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10466 2, NULL, true, 0, NULL);
10468 return offset;
10472 static const value_string s1ap_SONInformationReport_vals[] = {
10473 { 0, "rLFReportInformation" },
10474 { 0, NULL }
10477 static const per_choice_t SONInformationReport_choice[] = {
10478 { 0, &hf_s1ap_rLFReportInformation, ASN1_EXTENSION_ROOT , dissect_s1ap_RLFReportInformation },
10479 { 0, NULL, 0, NULL }
10482 static int
10483 dissect_s1ap_SONInformationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10484 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10485 ett_s1ap_SONInformationReport, SONInformationReport_choice,
10486 NULL);
10488 return offset;
10492 static const per_sequence_t TargeteNB_ID_sequence[] = {
10493 { &hf_s1ap_global_ENB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_ENB_ID },
10494 { &hf_s1ap_selected_TAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
10495 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10496 { NULL, 0, 0, NULL }
10499 static int
10500 dissect_s1ap_TargeteNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10501 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10502 ett_s1ap_TargeteNB_ID, TargeteNB_ID_sequence);
10504 return offset;
10508 static const per_sequence_t SourceeNB_ID_sequence[] = {
10509 { &hf_s1ap_global_ENB_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_ENB_ID },
10510 { &hf_s1ap_selected_TAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
10511 { &hf_s1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10512 { NULL, 0, 0, NULL }
10515 static int
10516 dissect_s1ap_SourceeNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10517 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10518 ett_s1ap_SourceeNB_ID, SourceeNB_ID_sequence);
10520 return offset;
10524 static const per_sequence_t SONConfigurationTransfer_sequence[] = {
10525 { &hf_s1ap_targeteNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TargeteNB_ID },
10526 { &hf_s1ap_sourceeNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceeNB_ID },
10527 { &hf_s1ap_sONInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SONInformation },
10528 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10529 { NULL, 0, 0, NULL }
10532 static int
10533 dissect_s1ap_SONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10534 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10535 ett_s1ap_SONConfigurationTransfer, SONConfigurationTransfer_sequence);
10537 return offset;
10542 static int
10543 dissect_s1ap_StratumLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10544 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10545 0U, 3U, NULL, true);
10547 return offset;
10551 static const per_sequence_t SynchronisationInformation_sequence[] = {
10552 { &hf_s1ap_sourceStratumLevel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_StratumLevel },
10553 { &hf_s1ap_listeningSubframePattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ListeningSubframePattern },
10554 { &hf_s1ap_aggressoreCGI_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ECGI_List },
10555 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10556 { NULL, 0, 0, NULL }
10559 static int
10560 dissect_s1ap_SynchronisationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10561 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10562 ett_s1ap_SynchronisationInformation, SynchronisationInformation_sequence);
10564 return offset;
10569 static int
10570 dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10571 tvbuff_t *parameter_tvb;
10572 proto_tree *subtree;
10574 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
10575 NO_BOUND, NO_BOUND, false, &parameter_tvb);
10578 if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) {
10579 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
10580 /* Don't want elements inside container to write to info column */
10581 col_set_writable(actx->pinfo->cinfo, COL_INFO, false);
10582 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_ToTargetTransparentContainer);
10584 switch(s1ap_data->handover_type_value){
10586 HandoverType ::= ENUMERATED {
10587 intralte,
10588 ltetoutran,
10589 ltetogeran,
10590 utrantolte,
10591 gerantolte,
10593 eps_to_5gs,
10594 fivegs_to_eps
10595 } */
10596 case intralte:
10597 /* intralte
10598 Intra E-UTRAN handover Source eNB to Target eNB
10599 Transparent Container 36.413
10601 case utrantolte:
10602 /* utrantolte */
10603 case gerantolte:
10604 /* gerantolte */
10605 case fivegs_to_eps:
10606 /* fivegs_to_eps */
10607 dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10608 break;
10609 case ltetoutran:
10610 /* ltetoutran
10611 Source RNC to Target RNC
10612 Transparent Container 25.413
10614 dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10615 break;
10616 case ltetogeran:
10617 /* ltetogeran
10618 Source BSS to Target BSS
10619 Transparent Container 48.018
10621 Old BSS to New BSS information elements
10622 Transparent Container 48.008
10624 if (s1ap_data->srvcc_ho_cs_only)
10625 bssmap_old_bss_to_new_bss_info(parameter_tvb, subtree, actx->pinfo);
10626 else
10627 de_bssgp_source_BSS_to_target_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
10628 break;
10629 case eps_to_5gs:
10630 /* eps_to_5gs */
10631 dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
10632 break;
10633 default:
10634 break;
10636 /* Enable writing of the column again */
10637 col_set_writable(actx->pinfo->cinfo, COL_INFO, true);
10641 return offset;
10646 static const value_string s1ap_SRVCCOperationNotPossible_vals[] = {
10647 { 0, "notPossible" },
10648 { 0, NULL }
10652 static int
10653 dissect_s1ap_SRVCCOperationNotPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10654 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10655 1, NULL, true, 0, NULL);
10657 return offset;
10661 static const value_string s1ap_SRVCCOperationPossible_vals[] = {
10662 { 0, "possible" },
10663 { 0, NULL }
10667 static int
10668 dissect_s1ap_SRVCCOperationPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10669 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10670 1, NULL, true, 0, NULL);
10672 return offset;
10676 static const value_string s1ap_SRVCCHOIndication_vals[] = {
10677 { pSandCS, "pSandCS" },
10678 { cSonly, "cSonly" },
10679 { 0, NULL }
10683 static int
10684 dissect_s1ap_SRVCCHOIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10685 uint32_t srvcc_ho_ind;
10686 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
10687 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10688 2, &srvcc_ho_ind, true, 0, NULL);
10690 if (srvcc_ho_ind == cSonly)
10691 s1ap_data->srvcc_ho_cs_only = true;
10694 return offset;
10698 static const per_sequence_t SourceNgRanNode_ID_sequence[] = {
10699 { &hf_s1ap_global_RAN_NODE_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_RAN_NODE_ID },
10700 { &hf_s1ap_selected_TAI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_FiveGSTAI },
10701 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10702 { NULL, 0, 0, NULL }
10705 static int
10706 dissect_s1ap_SourceNgRanNode_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10707 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10708 ett_s1ap_SourceNgRanNode_ID, SourceNgRanNode_ID_sequence);
10710 return offset;
10715 static int
10716 dissect_s1ap_SourceNodeID_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10717 offset = dissect_s1ap_ProtocolIE_SingleContainer(tvb, offset, actx, tree, hf_index);
10719 return offset;
10723 static const value_string s1ap_SourceNodeID_vals[] = {
10724 { 0, "sourceNgRanNode-ID" },
10725 { 1, "sourceNodeID-Extension" },
10726 { 0, NULL }
10729 static const per_choice_t SourceNodeID_choice[] = {
10730 { 0, &hf_s1ap_sourceNgRanNode_ID, ASN1_NO_EXTENSIONS , dissect_s1ap_SourceNgRanNode_ID },
10731 { 1, &hf_s1ap_sourceNodeID_Extension, ASN1_NO_EXTENSIONS , dissect_s1ap_SourceNodeID_Extension },
10732 { 0, NULL, 0, NULL }
10735 static int
10736 dissect_s1ap_SourceNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10737 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10738 ett_s1ap_SourceNodeID, SourceNodeID_choice,
10739 NULL);
10741 return offset;
10746 static int
10747 dissect_s1ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10748 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10749 1U, 256U, NULL, false);
10751 return offset;
10755 static const per_sequence_t UE_HistoryInformation_sequence_of[1] = {
10756 { &hf_s1ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_LastVisitedCell_Item },
10759 static int
10760 dissect_s1ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10761 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10762 ett_s1ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of,
10763 1, maxnoofCellsinUEHistoryInfo, false);
10765 return offset;
10769 static const per_sequence_t SourceeNB_ToTargeteNB_TransparentContainer_sequence[] = {
10770 { &hf_s1ap_rRC_Container , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RRC_Container },
10771 { &hf_s1ap_e_RABInformationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_E_RABInformationList },
10772 { &hf_s1ap_targetCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
10773 { &hf_s1ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_SubscriberProfileIDforRFP },
10774 { &hf_s1ap_uE_HistoryInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_UE_HistoryInformation },
10775 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10776 { NULL, 0, 0, NULL }
10779 static int
10780 dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10781 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
10782 volatile uint32_t _offset;
10784 s1ap_data->transparent_container_type = SOURCE_TO_TARGET_TRANSPARENT_CONTAINER;
10785 _offset = offset;
10786 TRY {
10788 offset = dissect_per_sequence(tvb, _offset, actx, tree, hf_index,
10789 ett_s1ap_SourceeNB_ToTargeteNB_TransparentContainer, SourceeNB_ToTargeteNB_TransparentContainer_sequence);
10790 } CATCH_ALL {
10791 show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
10793 ENDTRY;
10794 offset = _offset;
10799 return offset;
10805 static const per_sequence_t ServedPLMNs_sequence_of[1] = {
10806 { &hf_s1ap_ServedPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
10809 static int
10810 dissect_s1ap_ServedPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10811 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10812 ett_s1ap_ServedPLMNs, ServedPLMNs_sequence_of,
10813 1, maxnoofPLMNsPerMME, false);
10815 return offset;
10819 static const per_sequence_t ServedGroupIDs_sequence_of[1] = {
10820 { &hf_s1ap_ServedGroupIDs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Group_ID },
10823 static int
10824 dissect_s1ap_ServedGroupIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10825 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10826 ett_s1ap_ServedGroupIDs, ServedGroupIDs_sequence_of,
10827 1, maxnoofGroupIDs, false);
10829 return offset;
10833 static const per_sequence_t ServedMMECs_sequence_of[1] = {
10834 { &hf_s1ap_ServedMMECs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code },
10837 static int
10838 dissect_s1ap_ServedMMECs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10839 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10840 ett_s1ap_ServedMMECs, ServedMMECs_sequence_of,
10841 1, maxnoofMMECs, false);
10843 return offset;
10847 static const per_sequence_t ServedGUMMEIsItem_sequence[] = {
10848 { &hf_s1ap_servedPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ServedPLMNs },
10849 { &hf_s1ap_servedGroupIDs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ServedGroupIDs },
10850 { &hf_s1ap_servedMMECs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ServedMMECs },
10851 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10852 { NULL, 0, 0, NULL }
10855 static int
10856 dissect_s1ap_ServedGUMMEIsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10857 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10858 ett_s1ap_ServedGUMMEIsItem, ServedGUMMEIsItem_sequence);
10860 return offset;
10864 static const per_sequence_t ServedGUMMEIs_sequence_of[1] = {
10865 { &hf_s1ap_ServedGUMMEIs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ServedGUMMEIsItem },
10868 static int
10869 dissect_s1ap_ServedGUMMEIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10870 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10871 ett_s1ap_ServedGUMMEIs, ServedGUMMEIs_sequence_of,
10872 1, maxnoofRATs, false);
10874 return offset;
10878 static const value_string s1ap_T_periodicCommunicationIndicator_vals[] = {
10879 { 0, "periodically" },
10880 { 1, "ondemand" },
10881 { 0, NULL }
10885 static int
10886 dissect_s1ap_T_periodicCommunicationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10887 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10888 2, NULL, true, 0, NULL);
10890 return offset;
10895 static int
10896 dissect_s1ap_INTEGER_1_3600_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10897 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10898 1U, 3600U, NULL, true);
10900 return offset;
10905 static int
10906 dissect_s1ap_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10907 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
10908 7, 7, false, NULL, 0, NULL, NULL);
10910 return offset;
10915 static int
10916 dissect_s1ap_INTEGER_0_86399_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10917 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10918 0U, 86399U, NULL, true);
10920 return offset;
10924 static const per_sequence_t ScheduledCommunicationTime_sequence[] = {
10925 { &hf_s1ap_dayofWeek , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_BIT_STRING_SIZE_7 },
10926 { &hf_s1ap_timeofDayStart , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_86399_ },
10927 { &hf_s1ap_timeofDayEnd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_86399_ },
10928 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10929 { NULL, 0, 0, NULL }
10932 static int
10933 dissect_s1ap_ScheduledCommunicationTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10934 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10935 ett_s1ap_ScheduledCommunicationTime, ScheduledCommunicationTime_sequence);
10937 return offset;
10941 static const value_string s1ap_T_stationaryIndication_vals[] = {
10942 { 0, "stationary" },
10943 { 1, "mobile" },
10944 { 0, NULL }
10948 static int
10949 dissect_s1ap_T_stationaryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10950 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10951 2, NULL, true, 0, NULL);
10953 return offset;
10957 static const value_string s1ap_T_trafficProfile_vals[] = {
10958 { 0, "single-packet" },
10959 { 1, "dual-packets" },
10960 { 2, "multiple-packets" },
10961 { 0, NULL }
10965 static int
10966 dissect_s1ap_T_trafficProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10967 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10968 3, NULL, true, 0, NULL);
10970 return offset;
10974 static const value_string s1ap_T_batteryIndication_vals[] = {
10975 { 0, "battery-powered" },
10976 { 1, "battery-powered-not-rechargeable-or-replaceable" },
10977 { 2, "not-battery-powered" },
10978 { 0, NULL }
10982 static int
10983 dissect_s1ap_T_batteryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10984 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10985 3, NULL, true, 0, NULL);
10987 return offset;
10991 static const per_sequence_t Subscription_Based_UE_DifferentiationInfo_sequence[] = {
10992 { &hf_s1ap_periodicCommunicationIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_periodicCommunicationIndicator },
10993 { &hf_s1ap_periodicTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_1_3600_ },
10994 { &hf_s1ap_scheduledCommunicationTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ScheduledCommunicationTime },
10995 { &hf_s1ap_stationaryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_stationaryIndication },
10996 { &hf_s1ap_trafficProfile , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_trafficProfile },
10997 { &hf_s1ap_batteryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_batteryIndication },
10998 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
10999 { NULL, 0, 0, NULL }
11002 static int
11003 dissect_s1ap_Subscription_Based_UE_DifferentiationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11004 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11005 ett_s1ap_Subscription_Based_UE_DifferentiationInfo, Subscription_Based_UE_DifferentiationInfo_sequence);
11007 return offset;
11011 static const value_string s1ap_SynchronisationStatus_vals[] = {
11012 { 0, "synchronous" },
11013 { 1, "asynchronous" },
11014 { 0, NULL }
11018 static int
11019 dissect_s1ap_SynchronisationStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11020 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11021 2, NULL, true, 0, NULL);
11023 return offset;
11027 static const per_sequence_t TimeSynchronisationInfo_sequence[] = {
11028 { &hf_s1ap_stratumLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_StratumLevel },
11029 { &hf_s1ap_synchronisationStatus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_SynchronisationStatus },
11030 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11031 { NULL, 0, 0, NULL }
11034 static int
11035 dissect_s1ap_TimeSynchronisationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11036 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11037 ett_s1ap_TimeSynchronisationInfo, TimeSynchronisationInfo_sequence);
11039 return offset;
11043 static const per_sequence_t S_TMSI_sequence[] = {
11044 { &hf_s1ap_mMEC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code },
11045 { &hf_s1ap_m_TMSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_M_TMSI },
11046 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11047 { NULL, 0, 0, NULL }
11050 static int
11051 dissect_s1ap_S_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11052 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11053 ett_s1ap_S_TMSI, S_TMSI_sequence);
11055 return offset;
11059 static const per_sequence_t TAIListforWarning_sequence_of[1] = {
11060 { &hf_s1ap_TAIListforWarning_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
11063 static int
11064 dissect_s1ap_TAIListforWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11065 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11066 ett_s1ap_TAIListforWarning, TAIListforWarning_sequence_of,
11067 1, maxnoofTAIforWarning, false);
11069 return offset;
11073 static const per_sequence_t TargetNgRanNode_ID_sequence[] = {
11074 { &hf_s1ap_global_RAN_NODE_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_RAN_NODE_ID },
11075 { &hf_s1ap_selected_TAI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_FiveGSTAI },
11076 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11077 { NULL, 0, 0, NULL }
11080 static int
11081 dissect_s1ap_TargetNgRanNode_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11082 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11083 ett_s1ap_TargetNgRanNode_ID, TargetNgRanNode_ID_sequence);
11085 return offset;
11089 static const value_string s1ap_TargetID_vals[] = {
11090 { 0, "targeteNB-ID" },
11091 { 1, "targetRNC-ID" },
11092 { 2, "cGI" },
11093 { 3, "targetgNgRanNode-ID" },
11094 { 0, NULL }
11097 static const per_choice_t TargetID_choice[] = {
11098 { 0, &hf_s1ap_targeteNB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_TargeteNB_ID },
11099 { 1, &hf_s1ap_targetRNC_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_TargetRNC_ID },
11100 { 2, &hf_s1ap_cGI , ASN1_EXTENSION_ROOT , dissect_s1ap_CGI },
11101 { 3, &hf_s1ap_targetgNgRanNode_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_TargetNgRanNode_ID },
11102 { 0, NULL, 0, NULL }
11105 static int
11106 dissect_s1ap_TargetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11107 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11108 ett_s1ap_TargetID, TargetID_choice,
11109 NULL);
11111 return offset;
11115 static const per_sequence_t TargeteNB_ToSourceeNB_TransparentContainer_sequence[] = {
11116 { &hf_s1ap_rRC_Container , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RRC_Container },
11117 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11118 { NULL, 0, 0, NULL }
11121 static int
11122 dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11123 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
11124 volatile uint32_t _offset;
11126 s1ap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER;
11127 _offset = offset;
11128 TRY {
11130 _offset = dissect_per_sequence(tvb, _offset, actx, tree, hf_index,
11131 ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer, TargeteNB_ToSourceeNB_TransparentContainer_sequence);
11132 } CATCH_ALL {
11133 show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
11135 ENDTRY;
11136 offset = _offset;
11139 return offset;
11144 static int
11145 dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11147 tvbuff_t *parameter_tvb;
11148 proto_tree *subtree;
11150 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11151 NO_BOUND, NO_BOUND, false, &parameter_tvb);
11154 if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) {
11155 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
11156 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_ToSourceTransparentContainer);
11158 switch(s1ap_data->handover_type_value){
11160 HandoverType ::= ENUMERATED {
11161 intralte,
11162 ltetoutran,
11163 ltetogeran,
11164 utrantolte,
11165 gerantolte,
11167 eps_to_5gs,
11168 fivegs_to_eps
11169 } */
11170 case intralte:
11171 /* intralte
11172 Intra E-UTRAN handover Target eNB to Source eNB
11173 Transparent Container 36.413
11175 case utrantolte:
11176 /* utrantolte */
11177 case gerantolte:
11178 /* gerantolte */
11179 case fivegs_to_eps:
11180 /* fivegs_to_eps */
11181 dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
11182 break;
11183 case ltetoutran:
11184 /* ltetoutran
11185 Target RNC to Source RNC
11186 Transparent Container 25.413
11188 dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
11189 break;
11190 case ltetogeran:
11191 /* ltetogeran
11192 Target BSS to Source BSS
11193 Transparent Container 48.018
11195 de_bssgp_target_BSS_to_source_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
11196 break;
11197 case eps_to_5gs:
11198 /* eps_to_5gs */
11199 dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
11200 break;
11201 default:
11202 break;
11207 return offset;
11215 static int
11216 dissect_s1ap_HandoverWindowStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11217 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11218 0U, 1048575U, NULL, false);
11220 return offset;
11225 static int
11226 dissect_s1ap_HandoverWindowDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11227 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11228 1U, 6000U, NULL, false);
11230 return offset;
11234 static const per_sequence_t TimeBasedHandoverInformation_sequence[] = {
11235 { &hf_s1ap_hOWindowStart , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HandoverWindowStart },
11236 { &hf_s1ap_hOWindowDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HandoverWindowDuration },
11237 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11238 { NULL, 0, 0, NULL }
11241 static int
11242 dissect_s1ap_TimeBasedHandoverInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11243 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11244 ett_s1ap_TimeBasedHandoverInformation, TimeBasedHandoverInformation_sequence);
11246 return offset;
11250 static const value_string s1ap_TimeToWait_vals[] = {
11251 { 0, "v1s" },
11252 { 1, "v2s" },
11253 { 2, "v5s" },
11254 { 3, "v10s" },
11255 { 4, "v20s" },
11256 { 5, "v60s" },
11257 { 0, NULL }
11261 static int
11262 dissect_s1ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11263 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11264 6, NULL, true, 0, NULL);
11266 return offset;
11271 static int
11272 dissect_s1ap_Time_UE_StayedInCell_EnhancedGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11273 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11274 0U, 40950U, NULL, false);
11276 return offset;
11281 static int
11282 dissect_s1ap_TimeSinceSecondaryNodeRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11283 tvbuff_t *parameter_tvb = NULL;
11284 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
11285 4, 4, false, &parameter_tvb);
11287 if (parameter_tvb) {
11288 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
11292 return offset;
11296 static const per_sequence_t TransportInformation_sequence[] = {
11297 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
11298 { &hf_s1ap_uL_GTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
11299 { NULL, 0, 0, NULL }
11302 static int
11303 dissect_s1ap_TransportInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11304 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11305 ett_s1ap_TransportInformation, TransportInformation_sequence);
11307 return offset;
11312 static int
11313 dissect_s1ap_E_UTRAN_Trace_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11314 tvbuff_t *parameter_tvb;
11315 proto_tree *subtree;
11316 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11317 8, 8, false, &parameter_tvb);
11319 if (!parameter_tvb)
11320 return offset;
11321 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_E_UTRAN_Trace_ID);
11322 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, false);
11323 proto_tree_add_item(subtree, hf_s1ap_E_UTRAN_Trace_ID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
11324 proto_tree_add_item(subtree, hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
11327 return offset;
11331 static const value_string s1ap_TraceDepth_vals[] = {
11332 { 0, "minimum" },
11333 { 1, "medium" },
11334 { 2, "maximum" },
11335 { 3, "minimumWithoutVendorSpecificExtension" },
11336 { 4, "mediumWithoutVendorSpecificExtension" },
11337 { 5, "maximumWithoutVendorSpecificExtension" },
11338 { 0, NULL }
11342 static int
11343 dissect_s1ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11344 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11345 6, NULL, true, 0, NULL);
11347 return offset;
11351 static const per_sequence_t TraceActivation_sequence[] = {
11352 { &hf_s1ap_e_UTRAN_Trace_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_UTRAN_Trace_ID },
11353 { &hf_s1ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_InterfacesToTrace },
11354 { &hf_s1ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TraceDepth },
11355 { &hf_s1ap_traceCollectionEntityIPAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
11356 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11357 { NULL, 0, 0, NULL }
11360 static int
11361 dissect_s1ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11362 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11363 ett_s1ap_TraceActivation, TraceActivation_sequence);
11365 return offset;
11370 static int
11371 dissect_s1ap_TrafficLoadReductionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11372 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11373 1U, 99U, NULL, false);
11375 return offset;
11379 static const per_sequence_t TunnelInformation_sequence[] = {
11380 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
11381 { &hf_s1ap_uDP_Port_Number, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_Port_Number },
11382 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11383 { NULL, 0, 0, NULL }
11386 static int
11387 dissect_s1ap_TunnelInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11388 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11389 ett_s1ap_TunnelInformation, TunnelInformation_sequence);
11391 return offset;
11395 static const per_sequence_t TAIListForRestart_sequence_of[1] = {
11396 { &hf_s1ap_TAIListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
11399 static int
11400 dissect_s1ap_TAIListForRestart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11401 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11402 ett_s1ap_TAIListForRestart, TAIListForRestart_sequence_of,
11403 1, maxnoofRestartTAIs, false);
11405 return offset;
11409 static const per_sequence_t UEAggregateMaximumBitrate_sequence[] = {
11410 { &hf_s1ap_uEaggregateMaximumBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
11411 { &hf_s1ap_uEaggregateMaximumBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
11412 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11413 { NULL, 0, 0, NULL }
11416 static int
11417 dissect_s1ap_UEAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11418 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11419 ett_s1ap_UEAggregateMaximumBitrate, UEAggregateMaximumBitrate_sequence);
11421 return offset;
11426 static int
11427 dissect_s1ap_OCTET_STRING_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11428 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11429 1, 1000, false, NULL);
11431 return offset;
11435 static const per_sequence_t UEAppLayerMeasConfig_sequence[] = {
11436 { &hf_s1ap_containerForAppLayerMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_OCTET_STRING_SIZE_1_1000 },
11437 { &hf_s1ap_areaScopeOfQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_AreaScopeOfQMC },
11438 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11439 { NULL, 0, 0, NULL }
11442 static int
11443 dissect_s1ap_UEAppLayerMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11444 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11445 ett_s1ap_UEAppLayerMeasConfig, UEAppLayerMeasConfig_sequence);
11447 return offset;
11451 static const value_string s1ap_UECapabilityInfoRequest_vals[] = {
11452 { 0, "requested" },
11453 { 0, NULL }
11457 static int
11458 dissect_s1ap_UECapabilityInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11459 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11460 1, NULL, true, 0, NULL);
11462 return offset;
11466 static const value_string s1ap_UE_RetentionInformation_vals[] = {
11467 { 0, "ues-retained" },
11468 { 0, NULL }
11472 static int
11473 dissect_s1ap_UE_RetentionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11474 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11475 1, NULL, true, 0, NULL);
11477 return offset;
11481 static const per_sequence_t UE_S1AP_ID_pair_sequence[] = {
11482 { &hf_s1ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_UE_S1AP_ID },
11483 { &hf_s1ap_eNB_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ENB_UE_S1AP_ID },
11484 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11485 { NULL, 0, 0, NULL }
11488 static int
11489 dissect_s1ap_UE_S1AP_ID_pair(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11490 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11491 ett_s1ap_UE_S1AP_ID_pair, UE_S1AP_ID_pair_sequence);
11493 return offset;
11497 static const value_string s1ap_UE_S1AP_IDs_vals[] = {
11498 { 0, "uE-S1AP-ID-pair" },
11499 { 1, "mME-UE-S1AP-ID" },
11500 { 0, NULL }
11503 static const per_choice_t UE_S1AP_IDs_choice[] = {
11504 { 0, &hf_s1ap_uE_S1AP_ID_pair, ASN1_EXTENSION_ROOT , dissect_s1ap_UE_S1AP_ID_pair },
11505 { 1, &hf_s1ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_MME_UE_S1AP_ID },
11506 { 0, NULL, 0, NULL }
11509 static int
11510 dissect_s1ap_UE_S1AP_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11511 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11512 ett_s1ap_UE_S1AP_IDs, UE_S1AP_IDs_choice,
11513 NULL);
11515 return offset;
11519 static const per_sequence_t UE_associatedLogicalS1_ConnectionItem_sequence[] = {
11520 { &hf_s1ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_MME_UE_S1AP_ID },
11521 { &hf_s1ap_eNB_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ENB_UE_S1AP_ID },
11522 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11523 { NULL, 0, 0, NULL }
11526 static int
11527 dissect_s1ap_UE_associatedLogicalS1_ConnectionItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11528 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11529 ett_s1ap_UE_associatedLogicalS1_ConnectionItem, UE_associatedLogicalS1_ConnectionItem_sequence);
11531 return offset;
11536 static int
11537 dissect_s1ap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11538 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
11539 10, 10, false, NULL, 0, NULL, NULL);
11541 return offset;
11546 static int
11547 dissect_s1ap_UE_HistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11548 tvbuff_t *parameter_tvb;
11549 proto_tree *subtree;
11551 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11552 NO_BOUND, NO_BOUND, false, &parameter_tvb);
11554 if (!parameter_tvb)
11555 return offset;
11557 if (g_s1ap_dissect_container) {
11558 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_HistoryInformationFromTheUE);
11559 TRY {
11560 dissect_lte_rrc_VisitedCellInfoList_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
11562 CATCH_BOUNDS_ERRORS {
11563 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
11565 ENDTRY;
11569 return offset;
11573 static const value_string s1ap_UEPagingID_vals[] = {
11574 { 0, "s-TMSI" },
11575 { 1, "iMSI" },
11576 { 0, NULL }
11579 static const per_choice_t UEPagingID_choice[] = {
11580 { 0, &hf_s1ap_s_TMSI , ASN1_EXTENSION_ROOT , dissect_s1ap_S_TMSI },
11581 { 1, &hf_s1ap_iMSI , ASN1_EXTENSION_ROOT , dissect_s1ap_IMSI },
11582 { 0, NULL, 0, NULL }
11585 static int
11586 dissect_s1ap_UEPagingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11587 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11588 ett_s1ap_UEPagingID, UEPagingID_choice,
11589 NULL);
11591 return offset;
11596 static int
11597 dissect_s1ap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11598 tvbuff_t *parameter_tvb;
11599 proto_tree *subtree;
11601 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11602 NO_BOUND, NO_BOUND, false, &parameter_tvb);
11604 if (!parameter_tvb)
11605 return offset;
11607 if (g_s1ap_dissect_container) {
11608 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
11609 volatile dissector_handle_t handle;
11610 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UERadioCapability);
11611 if (s1ap_data->protocol_ie_id == id_UERadioCapability_NR_Format) {
11612 handle = nr_rrc_ue_radio_access_cap_info_handle;
11613 } else if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
11614 (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
11615 handle = lte_rrc_ue_radio_access_cap_info_nb_handle;
11616 } else {
11617 handle = lte_rrc_ue_radio_access_cap_info_handle;
11619 if (handle) {
11620 TRY {
11621 call_dissector(handle, parameter_tvb, actx->pinfo, subtree);
11623 CATCH_BOUNDS_ERRORS {
11624 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
11626 ENDTRY;
11631 return offset;
11636 static int
11637 dissect_s1ap_UERadioCapabilityForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11639 tvbuff_t *parameter_tvb;
11640 proto_tree *subtree;
11642 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11643 NO_BOUND, NO_BOUND, false, &parameter_tvb);
11645 if (!parameter_tvb)
11646 return offset;
11648 if (g_s1ap_dissect_container) {
11649 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
11650 volatile dissector_handle_t handle;
11651 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UERadioPagingInformation);
11652 if (s1ap_data->protocol_ie_id == id_UERadioCapabilityForPaging_NR_Format) {
11653 handle = nr_rrc_ue_radio_paging_info_handle;
11654 } else if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
11655 (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
11656 handle = lte_rrc_ue_radio_paging_info_nb_handle;
11657 } else {
11658 handle = lte_rrc_ue_radio_paging_info_handle;
11660 if (handle) {
11661 TRY {
11662 call_dissector(handle, parameter_tvb, actx->pinfo, subtree);
11664 CATCH_BOUNDS_ERRORS {
11665 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
11667 ENDTRY;
11672 return offset;
11677 static int
11678 dissect_s1ap_UERadioCapabilityID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11679 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11680 NO_BOUND, NO_BOUND, false, NULL);
11682 return offset;
11686 static const per_sequence_t UESecurityCapabilities_sequence[] = {
11687 { &hf_s1ap_encryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EncryptionAlgorithms },
11688 { &hf_s1ap_integrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IntegrityProtectionAlgorithms },
11689 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11690 { NULL, 0, 0, NULL }
11693 static int
11694 dissect_s1ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11695 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11696 ett_s1ap_UESecurityCapabilities, UESecurityCapabilities_sequence);
11698 return offset;
11702 static const per_sequence_t UESidelinkAggregateMaximumBitrate_sequence[] = {
11703 { &hf_s1ap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
11704 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11705 { NULL, 0, 0, NULL }
11708 static int
11709 dissect_s1ap_UESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11710 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11711 ett_s1ap_UESidelinkAggregateMaximumBitrate, UESidelinkAggregateMaximumBitrate_sequence);
11713 return offset;
11718 static int
11719 dissect_s1ap_UE_Usage_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11720 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11721 0U, 255U, NULL, false);
11723 return offset;
11728 static int
11729 dissect_s1ap_UL_NAS_MAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11730 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
11731 16, 16, false, NULL, 0, NULL, NULL);
11733 return offset;
11738 static int
11739 dissect_s1ap_UL_NAS_Count(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11740 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
11741 5, 5, false, NULL, 0, NULL, NULL);
11743 return offset;
11747 static const per_sequence_t UL_CP_SecurityInformation_sequence[] = {
11748 { &hf_s1ap_ul_NAS_MAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_UL_NAS_MAC },
11749 { &hf_s1ap_ul_NAS_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_UL_NAS_Count },
11750 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11751 { NULL, 0, 0, NULL }
11754 static int
11755 dissect_s1ap_UL_CP_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11756 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11757 ett_s1ap_UL_CP_SecurityInformation, UL_CP_SecurityInformation_sequence);
11759 return offset;
11763 static const value_string s1ap_UnlicensedSpectrumRestriction_vals[] = {
11764 { 0, "unlicensed-restricted" },
11765 { 0, NULL }
11769 static int
11770 dissect_s1ap_UnlicensedSpectrumRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11771 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11772 1, NULL, true, 0, NULL);
11774 return offset;
11779 static int
11780 dissect_s1ap_URI_Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11781 offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
11782 NO_BOUND, NO_BOUND, false,
11783 NULL);
11785 return offset;
11789 static const per_sequence_t UserLocationInformation_sequence[] = {
11790 { &hf_s1ap_eutran_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
11791 { &hf_s1ap_tai , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
11792 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11793 { NULL, 0, 0, NULL }
11796 static int
11797 dissect_s1ap_UserLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11798 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11799 ett_s1ap_UserLocationInformation, UserLocationInformation_sequence);
11801 return offset;
11805 static const value_string s1ap_UEUserPlaneCIoTSupportIndicator_vals[] = {
11806 { 0, "supported" },
11807 { 0, NULL }
11811 static int
11812 dissect_s1ap_UEUserPlaneCIoTSupportIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11813 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11814 1, NULL, true, 0, NULL);
11816 return offset;
11821 static int
11822 dissect_s1ap_UE_Application_Layer_Measurement_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11823 tvbuff_t *parameter_tvb = NULL;
11824 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
11825 8, 8, false, NULL, 0, &parameter_tvb, NULL);
11827 if(parameter_tvb){
11828 static int * const fields[] = {
11829 &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
11830 &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
11831 &hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
11832 NULL
11834 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_Application_Layer_Measurement_Capability);
11835 proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
11839 return offset;
11843 static const value_string s1ap_VoiceSupportMatchIndicator_vals[] = {
11844 { 0, "supported" },
11845 { 1, "not-supported" },
11846 { 0, NULL }
11850 static int
11851 dissect_s1ap_VoiceSupportMatchIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11852 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11853 2, NULL, true, 0, NULL);
11855 return offset;
11859 static const per_sequence_t V2XServicesAuthorized_sequence[] = {
11860 { &hf_s1ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_VehicleUE },
11861 { &hf_s1ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PedestrianUE },
11862 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
11863 { NULL, 0, 0, NULL }
11866 static int
11867 dissect_s1ap_V2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11868 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11869 ett_s1ap_V2XServicesAuthorized, V2XServicesAuthorized_sequence);
11871 return offset;
11876 static int
11877 dissect_s1ap_WarningAreaCoordinates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11878 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11879 1, 1024, false, NULL);
11881 return offset;
11885 static const value_string s1ap_WarningAreaList_vals[] = {
11886 { 0, "cellIDList" },
11887 { 1, "trackingAreaListforWarning" },
11888 { 2, "emergencyAreaIDList" },
11889 { 0, NULL }
11892 static const per_choice_t WarningAreaList_choice[] = {
11893 { 0, &hf_s1ap_cellIDList , ASN1_EXTENSION_ROOT , dissect_s1ap_ECGIList },
11894 { 1, &hf_s1ap_trackingAreaListforWarning, ASN1_EXTENSION_ROOT , dissect_s1ap_TAIListforWarning },
11895 { 2, &hf_s1ap_emergencyAreaIDList, ASN1_EXTENSION_ROOT , dissect_s1ap_EmergencyAreaIDList },
11896 { 0, NULL, 0, NULL }
11899 static int
11900 dissect_s1ap_WarningAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11901 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11902 ett_s1ap_WarningAreaList, WarningAreaList_choice,
11903 NULL);
11905 return offset;
11910 static int
11911 dissect_s1ap_WarningType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11912 tvbuff_t *parameter_tvb = NULL;
11913 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11914 2, 2, false, &parameter_tvb);
11916 if (parameter_tvb) {
11917 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_WarningType);
11918 proto_tree_add_item(subtree, hf_s1ap_WarningType_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
11919 proto_tree_add_item(subtree, hf_s1ap_WarningType_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
11920 proto_tree_add_item(subtree, hf_s1ap_WarningType_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
11924 return offset;
11929 static int
11930 dissect_s1ap_WarningSecurityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11931 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11932 50, 50, false, NULL);
11934 return offset;
11939 static int
11940 dissect_s1ap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11941 tvbuff_t *parameter_tvb = NULL;
11942 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11943 1, 9600, false, &parameter_tvb);
11945 if (parameter_tvb) {
11946 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
11947 proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_WarningMessageContents);
11948 dissect_s1ap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, s1ap_data->data_coding_scheme, hf_s1ap_WarningMessageContents_nb_pages, hf_s1ap_WarningMessageContents_decoded_page);
11952 return offset;
11956 static const value_string s1ap_WLANMeasConfig_vals[] = {
11957 { 0, "setup" },
11958 { 0, NULL }
11962 static int
11963 dissect_s1ap_WLANMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11964 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11965 1, NULL, true, 0, NULL);
11967 return offset;
11972 static int
11973 dissect_s1ap_WLANName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11974 tvbuff_t *parameter_tvb = NULL;
11975 offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
11976 1, 32, false, &parameter_tvb);
11978 actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
11980 return offset;
11984 static const per_sequence_t WLANMeasConfigNameList_sequence_of[1] = {
11985 { &hf_s1ap_WLANMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_WLANName },
11988 static int
11989 dissect_s1ap_WLANMeasConfigNameList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11990 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11991 ett_s1ap_WLANMeasConfigNameList, WLANMeasConfigNameList_sequence_of,
11992 1, maxnoofWLANName, false);
11994 return offset;
11998 static const value_string s1ap_T_wlan_rssi_vals[] = {
11999 { 0, "true" },
12000 { 0, NULL }
12004 static int
12005 dissect_s1ap_T_wlan_rssi(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12006 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12007 1, NULL, true, 0, NULL);
12009 return offset;
12013 static const value_string s1ap_T_wlan_rtt_vals[] = {
12014 { 0, "true" },
12015 { 0, NULL }
12019 static int
12020 dissect_s1ap_T_wlan_rtt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12021 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12022 1, NULL, true, 0, NULL);
12024 return offset;
12028 static const per_sequence_t WLANMeasurementConfiguration_sequence[] = {
12029 { &hf_s1ap_wlanMeasConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_WLANMeasConfig },
12030 { &hf_s1ap_wlanMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_WLANMeasConfigNameList },
12031 { &hf_s1ap_wlan_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_wlan_rssi },
12032 { &hf_s1ap_wlan_rtt , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_wlan_rtt },
12033 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12034 { NULL, 0, 0, NULL }
12037 static int
12038 dissect_s1ap_WLANMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12039 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12040 ett_s1ap_WLANMeasurementConfiguration, WLANMeasurementConfiguration_sequence);
12042 return offset;
12046 static const per_sequence_t WUS_Assistance_Information_sequence[] = {
12047 { &hf_s1ap_pagingProbabilityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PagingProbabilityInformation },
12048 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12049 { NULL, 0, 0, NULL }
12052 static int
12053 dissect_s1ap_WUS_Assistance_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12054 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12055 ett_s1ap_WUS_Assistance_Information, WUS_Assistance_Information_sequence);
12057 return offset;
12061 static const per_sequence_t ENBX2GTPTLAs_sequence_of[1] = {
12062 { &hf_s1ap_ENBX2GTPTLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12065 static int
12066 dissect_s1ap_ENBX2GTPTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12067 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12068 ett_s1ap_ENBX2GTPTLAs, ENBX2GTPTLAs_sequence_of,
12069 1, maxnoofeNBX2GTPTLAs, false);
12071 return offset;
12075 static const per_sequence_t ENBX2ExtTLA_sequence[] = {
12076 { &hf_s1ap_iPsecTLA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TransportLayerAddress },
12077 { &hf_s1ap_gTPTLAa , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ENBX2GTPTLAs },
12078 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12079 { NULL, 0, 0, NULL }
12082 static int
12083 dissect_s1ap_ENBX2ExtTLA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12084 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12085 ett_s1ap_ENBX2ExtTLA, ENBX2ExtTLA_sequence);
12087 return offset;
12091 static const per_sequence_t ENBX2ExtTLAs_sequence_of[1] = {
12092 { &hf_s1ap_ENBX2ExtTLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ENBX2ExtTLA },
12095 static int
12096 dissect_s1ap_ENBX2ExtTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12097 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12098 ett_s1ap_ENBX2ExtTLAs, ENBX2ExtTLAs_sequence_of,
12099 1, maxnoofeNBX2ExtTLAs, false);
12101 return offset;
12105 static const per_sequence_t ENBIndirectX2TransportLayerAddresses_sequence_of[1] = {
12106 { &hf_s1ap_ENBIndirectX2TransportLayerAddresses_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12109 static int
12110 dissect_s1ap_ENBIndirectX2TransportLayerAddresses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12111 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12112 ett_s1ap_ENBIndirectX2TransportLayerAddresses, ENBIndirectX2TransportLayerAddresses_sequence_of,
12113 1, maxnoofeNBX2TLAs, false);
12115 return offset;
12120 static int
12121 dissect_s1ap_E_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12122 asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
12123 asn1_param_push_integer(actx, 1);
12124 asn1_param_push_integer(actx, maxnoofE_RABs);
12125 offset = dissect_s1ap_ProtocolIE_ContainerList(tvb, offset, actx, tree, hf_index);
12127 asn1_stack_frame_pop(actx, "ProtocolIE-ContainerList");
12129 return offset;
12133 static const per_sequence_t HandoverRequired_sequence[] = {
12134 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12135 { NULL, 0, 0, NULL }
12138 static int
12139 dissect_s1ap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12140 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
12141 s1ap_data->handover_type_value = 0xff;
12142 s1ap_data->srvcc_ho_cs_only = false;
12143 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
12144 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12145 ett_s1ap_HandoverRequired, HandoverRequired_sequence);
12147 return offset;
12151 static const per_sequence_t HandoverCommand_sequence[] = {
12152 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12153 { NULL, 0, 0, NULL }
12156 static int
12157 dissect_s1ap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12158 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
12159 s1ap_data->handover_type_value = 0xff;
12160 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
12161 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12162 ett_s1ap_HandoverCommand, HandoverCommand_sequence);
12164 return offset;
12169 static int
12170 dissect_s1ap_E_RABSubjecttoDataForwardingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12171 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12173 return offset;
12177 static const per_sequence_t E_RABDataForwardingItem_sequence[] = {
12178 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12179 { &hf_s1ap_dL_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TransportLayerAddress },
12180 { &hf_s1ap_dL_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_GTP_TEID },
12181 { &hf_s1ap_uL_TransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TransportLayerAddress },
12182 { &hf_s1ap_uL_GTP_TEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_GTP_TEID },
12183 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12184 { NULL, 0, 0, NULL }
12187 static int
12188 dissect_s1ap_E_RABDataForwardingItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12189 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12190 ett_s1ap_E_RABDataForwardingItem, E_RABDataForwardingItem_sequence);
12192 return offset;
12196 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
12197 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12198 { NULL, 0, 0, NULL }
12201 static int
12202 dissect_s1ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12203 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
12204 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12205 ett_s1ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
12207 return offset;
12211 static const per_sequence_t HandoverRequest_sequence[] = {
12212 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12213 { NULL, 0, 0, NULL }
12216 static int
12217 dissect_s1ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12218 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
12219 s1ap_data->handover_type_value = 0xff;
12220 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
12221 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12222 ett_s1ap_HandoverRequest, HandoverRequest_sequence);
12224 return offset;
12229 static int
12230 dissect_s1ap_E_RABToBeSetupListHOReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12231 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12233 return offset;
12237 static const per_sequence_t E_RABToBeSetupItemHOReq_sequence[] = {
12238 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12239 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12240 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12241 { &hf_s1ap_e_RABlevelQosParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RABLevelQoSParameters },
12242 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12243 { NULL, 0, 0, NULL }
12246 static int
12247 dissect_s1ap_E_RABToBeSetupItemHOReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12248 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12249 ett_s1ap_E_RABToBeSetupItemHOReq, E_RABToBeSetupItemHOReq_sequence);
12251 return offset;
12255 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
12256 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12257 { NULL, 0, 0, NULL }
12260 static int
12261 dissect_s1ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12262 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
12263 s1ap_data->handover_type_value = 0xff;
12265 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
12266 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12267 ett_s1ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
12269 return offset;
12274 static int
12275 dissect_s1ap_E_RABAdmittedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12276 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12278 return offset;
12282 static const per_sequence_t E_RABAdmittedItem_sequence[] = {
12283 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12284 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12285 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12286 { &hf_s1ap_dL_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TransportLayerAddress },
12287 { &hf_s1ap_dL_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_GTP_TEID },
12288 { &hf_s1ap_uL_TransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TransportLayerAddress },
12289 { &hf_s1ap_uL_GTP_TEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_GTP_TEID },
12290 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12291 { NULL, 0, 0, NULL }
12294 static int
12295 dissect_s1ap_E_RABAdmittedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12296 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12297 ett_s1ap_E_RABAdmittedItem, E_RABAdmittedItem_sequence);
12299 return offset;
12304 static int
12305 dissect_s1ap_E_RABFailedtoSetupListHOReqAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12306 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12308 return offset;
12312 static const per_sequence_t E_RABFailedToSetupItemHOReqAck_sequence[] = {
12313 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12314 { &hf_s1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause },
12315 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12316 { NULL, 0, 0, NULL }
12319 static int
12320 dissect_s1ap_E_RABFailedToSetupItemHOReqAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12321 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12322 ett_s1ap_E_RABFailedToSetupItemHOReqAck, E_RABFailedToSetupItemHOReqAck_sequence);
12324 return offset;
12328 static const per_sequence_t HandoverFailure_sequence[] = {
12329 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12330 { NULL, 0, 0, NULL }
12333 static int
12334 dissect_s1ap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12335 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
12336 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12337 ett_s1ap_HandoverFailure, HandoverFailure_sequence);
12339 return offset;
12343 static const per_sequence_t HandoverNotify_sequence[] = {
12344 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12345 { NULL, 0, 0, NULL }
12348 static int
12349 dissect_s1ap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12350 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
12351 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12352 ett_s1ap_HandoverNotify, HandoverNotify_sequence);
12354 return offset;
12358 static const per_sequence_t PathSwitchRequest_sequence[] = {
12359 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12360 { NULL, 0, 0, NULL }
12363 static int
12364 dissect_s1ap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12365 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
12366 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12367 ett_s1ap_PathSwitchRequest, PathSwitchRequest_sequence);
12369 return offset;
12374 static int
12375 dissect_s1ap_E_RABToBeSwitchedDLList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12376 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12378 return offset;
12382 static const per_sequence_t E_RABToBeSwitchedDLItem_sequence[] = {
12383 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12384 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12385 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12386 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12387 { NULL, 0, 0, NULL }
12390 static int
12391 dissect_s1ap_E_RABToBeSwitchedDLItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12392 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12393 ett_s1ap_E_RABToBeSwitchedDLItem, E_RABToBeSwitchedDLItem_sequence);
12395 return offset;
12399 static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = {
12400 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12401 { NULL, 0, 0, NULL }
12404 static int
12405 dissect_s1ap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12406 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
12407 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12408 ett_s1ap_PathSwitchRequestAcknowledge, PathSwitchRequestAcknowledge_sequence);
12410 return offset;
12415 static int
12416 dissect_s1ap_E_RABToBeSwitchedULList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12417 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12419 return offset;
12423 static const per_sequence_t E_RABToBeSwitchedULItem_sequence[] = {
12424 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12425 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12426 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12427 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12428 { NULL, 0, 0, NULL }
12431 static int
12432 dissect_s1ap_E_RABToBeSwitchedULItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12433 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12434 ett_s1ap_E_RABToBeSwitchedULItem, E_RABToBeSwitchedULItem_sequence);
12436 return offset;
12441 static int
12442 dissect_s1ap_E_RABToBeUpdatedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12443 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
12445 return offset;
12449 static const per_sequence_t E_RABToBeUpdatedItem_sequence[] = {
12450 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12451 { &hf_s1ap_securityIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_SecurityIndication },
12452 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12453 { NULL, 0, 0, NULL }
12456 static int
12457 dissect_s1ap_E_RABToBeUpdatedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12458 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12459 ett_s1ap_E_RABToBeUpdatedItem, E_RABToBeUpdatedItem_sequence);
12461 return offset;
12465 static const per_sequence_t PathSwitchRequestFailure_sequence[] = {
12466 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12467 { NULL, 0, 0, NULL }
12470 static int
12471 dissect_s1ap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12472 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
12473 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12474 ett_s1ap_PathSwitchRequestFailure, PathSwitchRequestFailure_sequence);
12476 return offset;
12480 static const per_sequence_t HandoverCancel_sequence[] = {
12481 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12482 { NULL, 0, 0, NULL }
12485 static int
12486 dissect_s1ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12487 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
12488 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12489 ett_s1ap_HandoverCancel, HandoverCancel_sequence);
12491 return offset;
12495 static const per_sequence_t HandoverCancelAcknowledge_sequence[] = {
12496 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12497 { NULL, 0, 0, NULL }
12500 static int
12501 dissect_s1ap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12502 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
12503 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12504 ett_s1ap_HandoverCancelAcknowledge, HandoverCancelAcknowledge_sequence);
12506 return offset;
12510 static const per_sequence_t HandoverSuccess_sequence[] = {
12511 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12512 { NULL, 0, 0, NULL }
12515 static int
12516 dissect_s1ap_HandoverSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12517 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess");
12518 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12519 ett_s1ap_HandoverSuccess, HandoverSuccess_sequence);
12521 return offset;
12525 static const per_sequence_t ENBEarlyStatusTransfer_sequence[] = {
12526 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12527 { NULL, 0, 0, NULL }
12530 static int
12531 dissect_s1ap_ENBEarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12532 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBEarlyStatusTransfer");
12533 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12534 ett_s1ap_ENBEarlyStatusTransfer, ENBEarlyStatusTransfer_sequence);
12536 return offset;
12540 static const per_sequence_t MMEEarlyStatusTransfer_sequence[] = {
12541 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12542 { NULL, 0, 0, NULL }
12545 static int
12546 dissect_s1ap_MMEEarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12547 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEEarlyStatusTransfer");
12548 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12549 ett_s1ap_MMEEarlyStatusTransfer, MMEEarlyStatusTransfer_sequence);
12551 return offset;
12555 static const per_sequence_t E_RABSetupRequest_sequence[] = {
12556 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12557 { NULL, 0, 0, NULL }
12560 static int
12561 dissect_s1ap_E_RABSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12562 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest");
12563 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12564 ett_s1ap_E_RABSetupRequest, E_RABSetupRequest_sequence);
12566 return offset;
12570 static const per_sequence_t E_RABToBeSetupListBearerSUReq_sequence_of[1] = {
12571 { &hf_s1ap_E_RABToBeSetupListBearerSUReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12574 static int
12575 dissect_s1ap_E_RABToBeSetupListBearerSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12576 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12577 ett_s1ap_E_RABToBeSetupListBearerSUReq, E_RABToBeSetupListBearerSUReq_sequence_of,
12578 1, maxnoofE_RABs, false);
12580 return offset;
12584 static const per_sequence_t E_RABToBeSetupItemBearerSUReq_sequence[] = {
12585 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12586 { &hf_s1ap_e_RABlevelQoSParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RABLevelQoSParameters },
12587 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12588 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12589 { &hf_s1ap_nAS_PDU , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NAS_PDU },
12590 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12591 { NULL, 0, 0, NULL }
12594 static int
12595 dissect_s1ap_E_RABToBeSetupItemBearerSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12596 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12597 ett_s1ap_E_RABToBeSetupItemBearerSUReq, E_RABToBeSetupItemBearerSUReq_sequence);
12599 return offset;
12603 static const per_sequence_t E_RABSetupResponse_sequence[] = {
12604 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12605 { NULL, 0, 0, NULL }
12608 static int
12609 dissect_s1ap_E_RABSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12610 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse");
12611 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12612 ett_s1ap_E_RABSetupResponse, E_RABSetupResponse_sequence);
12614 return offset;
12618 static const per_sequence_t E_RABSetupListBearerSURes_sequence_of[1] = {
12619 { &hf_s1ap_E_RABSetupListBearerSURes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12622 static int
12623 dissect_s1ap_E_RABSetupListBearerSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12624 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12625 ett_s1ap_E_RABSetupListBearerSURes, E_RABSetupListBearerSURes_sequence_of,
12626 1, maxnoofE_RABs, false);
12628 return offset;
12632 static const per_sequence_t E_RABSetupItemBearerSURes_sequence[] = {
12633 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12634 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12635 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12636 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12637 { NULL, 0, 0, NULL }
12640 static int
12641 dissect_s1ap_E_RABSetupItemBearerSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12643 ett_s1ap_E_RABSetupItemBearerSURes, E_RABSetupItemBearerSURes_sequence);
12645 return offset;
12649 static const per_sequence_t E_RABModifyRequest_sequence[] = {
12650 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12651 { NULL, 0, 0, NULL }
12654 static int
12655 dissect_s1ap_E_RABModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12656 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest");
12657 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12658 ett_s1ap_E_RABModifyRequest, E_RABModifyRequest_sequence);
12660 return offset;
12664 static const per_sequence_t E_RABToBeModifiedListBearerModReq_sequence_of[1] = {
12665 { &hf_s1ap_E_RABToBeModifiedListBearerModReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12668 static int
12669 dissect_s1ap_E_RABToBeModifiedListBearerModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12670 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12671 ett_s1ap_E_RABToBeModifiedListBearerModReq, E_RABToBeModifiedListBearerModReq_sequence_of,
12672 1, maxnoofE_RABs, false);
12674 return offset;
12678 static const per_sequence_t E_RABToBeModifiedItemBearerModReq_sequence[] = {
12679 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12680 { &hf_s1ap_e_RABLevelQoSParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RABLevelQoSParameters },
12681 { &hf_s1ap_nAS_PDU , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NAS_PDU },
12682 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12683 { NULL, 0, 0, NULL }
12686 static int
12687 dissect_s1ap_E_RABToBeModifiedItemBearerModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12688 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12689 ett_s1ap_E_RABToBeModifiedItemBearerModReq, E_RABToBeModifiedItemBearerModReq_sequence);
12691 return offset;
12695 static const per_sequence_t E_RABModifyResponse_sequence[] = {
12696 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12697 { NULL, 0, 0, NULL }
12700 static int
12701 dissect_s1ap_E_RABModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12702 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse");
12703 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12704 ett_s1ap_E_RABModifyResponse, E_RABModifyResponse_sequence);
12706 return offset;
12710 static const per_sequence_t E_RABModifyListBearerModRes_sequence_of[1] = {
12711 { &hf_s1ap_E_RABModifyListBearerModRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12714 static int
12715 dissect_s1ap_E_RABModifyListBearerModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12716 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12717 ett_s1ap_E_RABModifyListBearerModRes, E_RABModifyListBearerModRes_sequence_of,
12718 1, maxnoofE_RABs, false);
12720 return offset;
12724 static const per_sequence_t E_RABModifyItemBearerModRes_sequence[] = {
12725 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12726 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12727 { NULL, 0, 0, NULL }
12730 static int
12731 dissect_s1ap_E_RABModifyItemBearerModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12732 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12733 ett_s1ap_E_RABModifyItemBearerModRes, E_RABModifyItemBearerModRes_sequence);
12735 return offset;
12739 static const per_sequence_t E_RABReleaseCommand_sequence[] = {
12740 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12741 { NULL, 0, 0, NULL }
12744 static int
12745 dissect_s1ap_E_RABReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12746 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand");
12747 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12748 ett_s1ap_E_RABReleaseCommand, E_RABReleaseCommand_sequence);
12750 return offset;
12754 static const per_sequence_t E_RABReleaseResponse_sequence[] = {
12755 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12756 { NULL, 0, 0, NULL }
12759 static int
12760 dissect_s1ap_E_RABReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12761 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse");
12762 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12763 ett_s1ap_E_RABReleaseResponse, E_RABReleaseResponse_sequence);
12765 return offset;
12769 static const per_sequence_t E_RABReleaseListBearerRelComp_sequence_of[1] = {
12770 { &hf_s1ap_E_RABReleaseListBearerRelComp_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12773 static int
12774 dissect_s1ap_E_RABReleaseListBearerRelComp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12775 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12776 ett_s1ap_E_RABReleaseListBearerRelComp, E_RABReleaseListBearerRelComp_sequence_of,
12777 1, maxnoofE_RABs, false);
12779 return offset;
12783 static const per_sequence_t E_RABReleaseItemBearerRelComp_sequence[] = {
12784 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12785 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12786 { NULL, 0, 0, NULL }
12789 static int
12790 dissect_s1ap_E_RABReleaseItemBearerRelComp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12791 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12792 ett_s1ap_E_RABReleaseItemBearerRelComp, E_RABReleaseItemBearerRelComp_sequence);
12794 return offset;
12798 static const per_sequence_t E_RABReleaseIndication_sequence[] = {
12799 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12800 { NULL, 0, 0, NULL }
12803 static int
12804 dissect_s1ap_E_RABReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12805 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication");
12806 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12807 ett_s1ap_E_RABReleaseIndication, E_RABReleaseIndication_sequence);
12809 return offset;
12813 static const per_sequence_t InitialContextSetupRequest_sequence[] = {
12814 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12815 { NULL, 0, 0, NULL }
12818 static int
12819 dissect_s1ap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12820 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
12821 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12822 ett_s1ap_InitialContextSetupRequest, InitialContextSetupRequest_sequence);
12824 return offset;
12828 static const per_sequence_t E_RABToBeSetupListCtxtSUReq_sequence_of[1] = {
12829 { &hf_s1ap_E_RABToBeSetupListCtxtSUReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12832 static int
12833 dissect_s1ap_E_RABToBeSetupListCtxtSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12834 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12835 ett_s1ap_E_RABToBeSetupListCtxtSUReq, E_RABToBeSetupListCtxtSUReq_sequence_of,
12836 1, maxnoofE_RABs, false);
12838 return offset;
12842 static const per_sequence_t E_RABToBeSetupItemCtxtSUReq_sequence[] = {
12843 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12844 { &hf_s1ap_e_RABlevelQoSParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RABLevelQoSParameters },
12845 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12846 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12847 { &hf_s1ap_nAS_PDU , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_NAS_PDU },
12848 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12849 { NULL, 0, 0, NULL }
12852 static int
12853 dissect_s1ap_E_RABToBeSetupItemCtxtSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12854 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12855 ett_s1ap_E_RABToBeSetupItemCtxtSUReq, E_RABToBeSetupItemCtxtSUReq_sequence);
12857 return offset;
12861 static const per_sequence_t InitialContextSetupResponse_sequence[] = {
12862 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12863 { NULL, 0, 0, NULL }
12866 static int
12867 dissect_s1ap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12868 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
12869 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12870 ett_s1ap_InitialContextSetupResponse, InitialContextSetupResponse_sequence);
12872 return offset;
12876 static const per_sequence_t E_RABSetupListCtxtSURes_sequence_of[1] = {
12877 { &hf_s1ap_E_RABSetupListCtxtSURes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12880 static int
12881 dissect_s1ap_E_RABSetupListCtxtSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12882 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12883 ett_s1ap_E_RABSetupListCtxtSURes, E_RABSetupListCtxtSURes_sequence_of,
12884 1, maxnoofE_RABs, false);
12886 return offset;
12890 static const per_sequence_t E_RABSetupItemCtxtSURes_sequence[] = {
12891 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
12892 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
12893 { &hf_s1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
12894 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12895 { NULL, 0, 0, NULL }
12898 static int
12899 dissect_s1ap_E_RABSetupItemCtxtSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12900 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12901 ett_s1ap_E_RABSetupItemCtxtSURes, E_RABSetupItemCtxtSURes_sequence);
12903 return offset;
12907 static const per_sequence_t InitialContextSetupFailure_sequence[] = {
12908 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12909 { NULL, 0, 0, NULL }
12912 static int
12913 dissect_s1ap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12914 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
12915 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12916 ett_s1ap_InitialContextSetupFailure, InitialContextSetupFailure_sequence);
12918 return offset;
12922 static const per_sequence_t Paging_sequence[] = {
12923 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12924 { NULL, 0, 0, NULL }
12927 static int
12928 dissect_s1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12929 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
12930 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12931 ett_s1ap_Paging, Paging_sequence);
12933 return offset;
12937 static const per_sequence_t TAIList_sequence_of[1] = {
12938 { &hf_s1ap_TAIList_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
12941 static int
12942 dissect_s1ap_TAIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12943 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12944 ett_s1ap_TAIList, TAIList_sequence_of,
12945 1, maxnoofTAIs, false);
12947 return offset;
12951 static const per_sequence_t TAIItem_sequence[] = {
12952 { &hf_s1ap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
12953 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
12954 { NULL, 0, 0, NULL }
12957 static int
12958 dissect_s1ap_TAIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12959 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12960 ett_s1ap_TAIItem, TAIItem_sequence);
12962 return offset;
12966 static const per_sequence_t UEContextReleaseRequest_sequence[] = {
12967 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12968 { NULL, 0, 0, NULL }
12971 static int
12972 dissect_s1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12973 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
12974 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12975 ett_s1ap_UEContextReleaseRequest, UEContextReleaseRequest_sequence);
12977 return offset;
12981 static const per_sequence_t UEContextReleaseCommand_sequence[] = {
12982 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12983 { NULL, 0, 0, NULL }
12986 static int
12987 dissect_s1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12988 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
12989 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12990 ett_s1ap_UEContextReleaseCommand, UEContextReleaseCommand_sequence);
12992 return offset;
12996 static const per_sequence_t UEContextReleaseComplete_sequence[] = {
12997 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
12998 { NULL, 0, 0, NULL }
13001 static int
13002 dissect_s1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13003 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
13004 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13005 ett_s1ap_UEContextReleaseComplete, UEContextReleaseComplete_sequence);
13007 return offset;
13011 static const per_sequence_t UEContextModificationRequest_sequence[] = {
13012 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13013 { NULL, 0, 0, NULL }
13016 static int
13017 dissect_s1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13018 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
13019 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13020 ett_s1ap_UEContextModificationRequest, UEContextModificationRequest_sequence);
13022 return offset;
13026 static const per_sequence_t UEContextModificationResponse_sequence[] = {
13027 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13028 { NULL, 0, 0, NULL }
13031 static int
13032 dissect_s1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13033 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
13034 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13035 ett_s1ap_UEContextModificationResponse, UEContextModificationResponse_sequence);
13037 return offset;
13041 static const per_sequence_t UEContextModificationFailure_sequence[] = {
13042 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13043 { NULL, 0, 0, NULL }
13046 static int
13047 dissect_s1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13048 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
13049 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13050 ett_s1ap_UEContextModificationFailure, UEContextModificationFailure_sequence);
13052 return offset;
13056 static const per_sequence_t UERadioCapabilityMatchRequest_sequence[] = {
13057 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13058 { NULL, 0, 0, NULL }
13061 static int
13062 dissect_s1ap_UERadioCapabilityMatchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13063 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest");
13064 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13065 ett_s1ap_UERadioCapabilityMatchRequest, UERadioCapabilityMatchRequest_sequence);
13067 return offset;
13071 static const per_sequence_t UERadioCapabilityMatchResponse_sequence[] = {
13072 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13073 { NULL, 0, 0, NULL }
13076 static int
13077 dissect_s1ap_UERadioCapabilityMatchResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13078 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse");
13079 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13080 ett_s1ap_UERadioCapabilityMatchResponse, UERadioCapabilityMatchResponse_sequence);
13082 return offset;
13086 static const per_sequence_t DownlinkNASTransport_sequence[] = {
13087 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13088 { NULL, 0, 0, NULL }
13091 static int
13092 dissect_s1ap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13093 /* Set the direction of the message */
13094 actx->pinfo->link_dir=P2P_DIR_DL;
13096 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNASTransport");
13097 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13098 ett_s1ap_DownlinkNASTransport, DownlinkNASTransport_sequence);
13100 return offset;
13104 static const per_sequence_t InitialUEMessage_sequence[] = {
13105 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13106 { NULL, 0, 0, NULL }
13109 static int
13110 dissect_s1ap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13111 /* Set the direction of the message */
13112 actx->pinfo->link_dir=P2P_DIR_UL;
13114 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialUEMessage");
13115 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13116 ett_s1ap_InitialUEMessage, InitialUEMessage_sequence);
13118 return offset;
13122 static const per_sequence_t UplinkNASTransport_sequence[] = {
13123 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13124 { NULL, 0, 0, NULL }
13127 static int
13128 dissect_s1ap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13129 /* Set the direction of the message */
13130 actx->pinfo->link_dir=P2P_DIR_UL;
13132 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNASTransport");
13133 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13134 ett_s1ap_UplinkNASTransport, UplinkNASTransport_sequence);
13136 return offset;
13140 static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
13141 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13142 { NULL, 0, 0, NULL }
13145 static int
13146 dissect_s1ap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13147 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
13148 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13149 ett_s1ap_NASNonDeliveryIndication, NASNonDeliveryIndication_sequence);
13151 return offset;
13155 static const per_sequence_t RerouteNASRequest_sequence[] = {
13156 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13157 { NULL, 0, 0, NULL }
13160 static int
13161 dissect_s1ap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13162 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
13163 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13164 ett_s1ap_RerouteNASRequest, RerouteNASRequest_sequence);
13166 return offset;
13171 static int
13172 dissect_s1ap_S1_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13173 tvbuff_t *parameter_tvb;
13174 proto_tree *subtree;
13175 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13176 NO_BOUND, NO_BOUND, false, &parameter_tvb);
13178 if (!parameter_tvb)
13179 return offset;
13181 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_S1_Message);
13182 col_set_fence(actx->pinfo->cinfo, COL_INFO);
13183 call_dissector(s1ap_handle, parameter_tvb, actx->pinfo, subtree);
13186 return offset;
13190 static const per_sequence_t NASDeliveryIndication_sequence[] = {
13191 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13192 { NULL, 0, 0, NULL }
13195 static int
13196 dissect_s1ap_NASDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13197 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASDeliveryIndication");
13198 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13199 ett_s1ap_NASDeliveryIndication, NASDeliveryIndication_sequence);
13201 return offset;
13205 static const per_sequence_t Reset_sequence[] = {
13206 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13207 { NULL, 0, 0, NULL }
13210 static int
13211 dissect_s1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13212 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
13213 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13214 ett_s1ap_Reset, Reset_sequence);
13216 return offset;
13220 static const value_string s1ap_ResetAll_vals[] = {
13221 { 0, "reset-all" },
13222 { 0, NULL }
13226 static int
13227 dissect_s1ap_ResetAll(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13228 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
13229 1, NULL, true, 0, NULL);
13231 return offset;
13235 static const per_sequence_t UE_associatedLogicalS1_ConnectionListRes_sequence_of[1] = {
13236 { &hf_s1ap_UE_associatedLogicalS1_ConnectionListRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
13239 static int
13240 dissect_s1ap_UE_associatedLogicalS1_ConnectionListRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13241 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13242 ett_s1ap_UE_associatedLogicalS1_ConnectionListRes, UE_associatedLogicalS1_ConnectionListRes_sequence_of,
13243 1, maxnoofIndividualS1ConnectionsToReset, false);
13245 return offset;
13249 static const value_string s1ap_ResetType_vals[] = {
13250 { 0, "s1-Interface" },
13251 { 1, "partOfS1-Interface" },
13252 { 0, NULL }
13255 static const per_choice_t ResetType_choice[] = {
13256 { 0, &hf_s1ap_s1_Interface , ASN1_EXTENSION_ROOT , dissect_s1ap_ResetAll },
13257 { 1, &hf_s1ap_partOfS1_Interface, ASN1_EXTENSION_ROOT , dissect_s1ap_UE_associatedLogicalS1_ConnectionListRes },
13258 { 0, NULL, 0, NULL }
13261 static int
13262 dissect_s1ap_ResetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13263 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13264 ett_s1ap_ResetType, ResetType_choice,
13265 NULL);
13267 return offset;
13271 static const per_sequence_t ResetAcknowledge_sequence[] = {
13272 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13273 { NULL, 0, 0, NULL }
13276 static int
13277 dissect_s1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13278 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
13279 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13280 ett_s1ap_ResetAcknowledge, ResetAcknowledge_sequence);
13282 return offset;
13286 static const per_sequence_t UE_associatedLogicalS1_ConnectionListResAck_sequence_of[1] = {
13287 { &hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
13290 static int
13291 dissect_s1ap_UE_associatedLogicalS1_ConnectionListResAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13292 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13293 ett_s1ap_UE_associatedLogicalS1_ConnectionListResAck, UE_associatedLogicalS1_ConnectionListResAck_sequence_of,
13294 1, maxnoofIndividualS1ConnectionsToReset, false);
13296 return offset;
13300 static const per_sequence_t ErrorIndication_sequence[] = {
13301 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13302 { NULL, 0, 0, NULL }
13305 static int
13306 dissect_s1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13307 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
13308 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13309 ett_s1ap_ErrorIndication, ErrorIndication_sequence);
13311 return offset;
13315 static const per_sequence_t S1SetupRequest_sequence[] = {
13316 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13317 { NULL, 0, 0, NULL }
13320 static int
13321 dissect_s1ap_S1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13322 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest");
13323 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13324 ett_s1ap_S1SetupRequest, S1SetupRequest_sequence);
13326 return offset;
13330 static const per_sequence_t S1SetupResponse_sequence[] = {
13331 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13332 { NULL, 0, 0, NULL }
13335 static int
13336 dissect_s1ap_S1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13337 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse");
13338 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13339 ett_s1ap_S1SetupResponse, S1SetupResponse_sequence);
13341 return offset;
13345 static const per_sequence_t S1SetupFailure_sequence[] = {
13346 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13347 { NULL, 0, 0, NULL }
13350 static int
13351 dissect_s1ap_S1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13352 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure");
13353 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13354 ett_s1ap_S1SetupFailure, S1SetupFailure_sequence);
13356 return offset;
13360 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
13361 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13362 { NULL, 0, 0, NULL }
13365 static int
13366 dissect_s1ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13367 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
13368 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13369 ett_s1ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
13371 return offset;
13375 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
13376 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13377 { NULL, 0, 0, NULL }
13380 static int
13381 dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13382 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
13383 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13384 ett_s1ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
13386 return offset;
13390 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
13391 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13392 { NULL, 0, 0, NULL }
13395 static int
13396 dissect_s1ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13397 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
13398 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13399 ett_s1ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
13401 return offset;
13405 static const per_sequence_t MMEConfigurationUpdate_sequence[] = {
13406 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13407 { NULL, 0, 0, NULL }
13410 static int
13411 dissect_s1ap_MMEConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13412 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate");
13413 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13414 ett_s1ap_MMEConfigurationUpdate, MMEConfigurationUpdate_sequence);
13416 return offset;
13420 static const per_sequence_t MMEConfigurationUpdateAcknowledge_sequence[] = {
13421 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13422 { NULL, 0, 0, NULL }
13425 static int
13426 dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13427 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge");
13428 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13429 ett_s1ap_MMEConfigurationUpdateAcknowledge, MMEConfigurationUpdateAcknowledge_sequence);
13431 return offset;
13435 static const per_sequence_t MMEConfigurationUpdateFailure_sequence[] = {
13436 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13437 { NULL, 0, 0, NULL }
13440 static int
13441 dissect_s1ap_MMEConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13442 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure");
13443 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13444 ett_s1ap_MMEConfigurationUpdateFailure, MMEConfigurationUpdateFailure_sequence);
13446 return offset;
13450 static const per_sequence_t DownlinkS1cdma2000tunnelling_sequence[] = {
13451 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13452 { NULL, 0, 0, NULL }
13455 static int
13456 dissect_s1ap_DownlinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13457 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling");
13458 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13459 ett_s1ap_DownlinkS1cdma2000tunnelling, DownlinkS1cdma2000tunnelling_sequence);
13461 return offset;
13465 static const per_sequence_t UplinkS1cdma2000tunnelling_sequence[] = {
13466 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13467 { NULL, 0, 0, NULL }
13470 static int
13471 dissect_s1ap_UplinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13472 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling");
13473 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13474 ett_s1ap_UplinkS1cdma2000tunnelling, UplinkS1cdma2000tunnelling_sequence);
13476 return offset;
13480 static const per_sequence_t UECapabilityInfoIndication_sequence[] = {
13481 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13482 { NULL, 0, 0, NULL }
13485 static int
13486 dissect_s1ap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13487 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
13488 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13489 ett_s1ap_UECapabilityInfoIndication, UECapabilityInfoIndication_sequence);
13491 return offset;
13495 static const per_sequence_t ENBStatusTransfer_sequence[] = {
13496 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13497 { NULL, 0, 0, NULL }
13500 static int
13501 dissect_s1ap_ENBStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13502 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer");
13503 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13504 ett_s1ap_ENBStatusTransfer, ENBStatusTransfer_sequence);
13506 return offset;
13510 static const per_sequence_t MMEStatusTransfer_sequence[] = {
13511 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13512 { NULL, 0, 0, NULL }
13515 static int
13516 dissect_s1ap_MMEStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13517 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer");
13518 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13519 ett_s1ap_MMEStatusTransfer, MMEStatusTransfer_sequence);
13521 return offset;
13525 static const per_sequence_t TraceStart_sequence[] = {
13526 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13527 { NULL, 0, 0, NULL }
13530 static int
13531 dissect_s1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13532 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
13533 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13534 ett_s1ap_TraceStart, TraceStart_sequence);
13536 return offset;
13540 static const per_sequence_t TraceFailureIndication_sequence[] = {
13541 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13542 { NULL, 0, 0, NULL }
13545 static int
13546 dissect_s1ap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13547 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
13548 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13549 ett_s1ap_TraceFailureIndication, TraceFailureIndication_sequence);
13551 return offset;
13555 static const per_sequence_t DeactivateTrace_sequence[] = {
13556 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13557 { NULL, 0, 0, NULL }
13560 static int
13561 dissect_s1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13562 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
13563 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13564 ett_s1ap_DeactivateTrace, DeactivateTrace_sequence);
13566 return offset;
13570 static const per_sequence_t CellTrafficTrace_sequence[] = {
13571 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13572 { NULL, 0, 0, NULL }
13575 static int
13576 dissect_s1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13577 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
13578 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13579 ett_s1ap_CellTrafficTrace, CellTrafficTrace_sequence);
13581 return offset;
13585 static const per_sequence_t LocationReportingControl_sequence[] = {
13586 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13587 { NULL, 0, 0, NULL }
13590 static int
13591 dissect_s1ap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13592 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
13593 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13594 ett_s1ap_LocationReportingControl, LocationReportingControl_sequence);
13596 return offset;
13600 static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
13601 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13602 { NULL, 0, 0, NULL }
13605 static int
13606 dissect_s1ap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13607 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
13608 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13609 ett_s1ap_LocationReportingFailureIndication, LocationReportingFailureIndication_sequence);
13611 return offset;
13615 static const per_sequence_t LocationReport_sequence[] = {
13616 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13617 { NULL, 0, 0, NULL }
13620 static int
13621 dissect_s1ap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13622 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
13623 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13624 ett_s1ap_LocationReport, LocationReport_sequence);
13626 return offset;
13630 static const per_sequence_t OverloadStart_sequence[] = {
13631 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13632 { NULL, 0, 0, NULL }
13635 static int
13636 dissect_s1ap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13637 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
13638 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13639 ett_s1ap_OverloadStart, OverloadStart_sequence);
13641 return offset;
13645 static const per_sequence_t OverloadStop_sequence[] = {
13646 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13647 { NULL, 0, 0, NULL }
13650 static int
13651 dissect_s1ap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13652 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
13653 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13654 ett_s1ap_OverloadStop, OverloadStop_sequence);
13656 return offset;
13660 static const per_sequence_t WriteReplaceWarningRequest_sequence[] = {
13661 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13662 { NULL, 0, 0, NULL }
13665 static int
13666 dissect_s1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13667 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
13668 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13669 ett_s1ap_WriteReplaceWarningRequest, WriteReplaceWarningRequest_sequence);
13671 return offset;
13675 static const per_sequence_t WriteReplaceWarningResponse_sequence[] = {
13676 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13677 { NULL, 0, 0, NULL }
13680 static int
13681 dissect_s1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13682 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
13683 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13684 ett_s1ap_WriteReplaceWarningResponse, WriteReplaceWarningResponse_sequence);
13686 return offset;
13690 static const per_sequence_t ENBDirectInformationTransfer_sequence[] = {
13691 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13692 { NULL, 0, 0, NULL }
13695 static int
13696 dissect_s1ap_ENBDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13697 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer");
13698 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13699 ett_s1ap_ENBDirectInformationTransfer, ENBDirectInformationTransfer_sequence);
13701 return offset;
13705 static const value_string s1ap_Inter_SystemInformationTransferType_vals[] = {
13706 { 0, "rIMTransfer" },
13707 { 0, NULL }
13710 static const per_choice_t Inter_SystemInformationTransferType_choice[] = {
13711 { 0, &hf_s1ap_rIMTransfer , ASN1_EXTENSION_ROOT , dissect_s1ap_RIMTransfer },
13712 { 0, NULL, 0, NULL }
13715 static int
13716 dissect_s1ap_Inter_SystemInformationTransferType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13717 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13718 ett_s1ap_Inter_SystemInformationTransferType, Inter_SystemInformationTransferType_choice,
13719 NULL);
13721 return offset;
13725 static const per_sequence_t MMEDirectInformationTransfer_sequence[] = {
13726 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13727 { NULL, 0, 0, NULL }
13730 static int
13731 dissect_s1ap_MMEDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13732 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer");
13733 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13734 ett_s1ap_MMEDirectInformationTransfer, MMEDirectInformationTransfer_sequence);
13736 return offset;
13740 static const per_sequence_t ENBConfigurationTransfer_sequence[] = {
13741 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13742 { NULL, 0, 0, NULL }
13745 static int
13746 dissect_s1ap_ENBConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13747 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer");
13748 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13749 ett_s1ap_ENBConfigurationTransfer, ENBConfigurationTransfer_sequence);
13751 return offset;
13755 static const per_sequence_t MMEConfigurationTransfer_sequence[] = {
13756 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13757 { NULL, 0, 0, NULL }
13760 static int
13761 dissect_s1ap_MMEConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13762 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer");
13763 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13764 ett_s1ap_MMEConfigurationTransfer, MMEConfigurationTransfer_sequence);
13766 return offset;
13770 static const per_sequence_t PrivateMessage_sequence[] = {
13771 { &hf_s1ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PrivateIE_Container },
13772 { NULL, 0, 0, NULL }
13775 static int
13776 dissect_s1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13777 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
13778 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13779 ett_s1ap_PrivateMessage, PrivateMessage_sequence);
13781 return offset;
13785 static const per_sequence_t KillRequest_sequence[] = {
13786 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13787 { NULL, 0, 0, NULL }
13790 static int
13791 dissect_s1ap_KillRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13792 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest");
13793 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13794 ett_s1ap_KillRequest, KillRequest_sequence);
13796 return offset;
13800 static const per_sequence_t KillResponse_sequence[] = {
13801 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13802 { NULL, 0, 0, NULL }
13805 static int
13806 dissect_s1ap_KillResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13807 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse");
13808 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13809 ett_s1ap_KillResponse, KillResponse_sequence);
13811 return offset;
13815 static const per_sequence_t PWSRestartIndication_sequence[] = {
13816 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13817 { NULL, 0, 0, NULL }
13820 static int
13821 dissect_s1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13822 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
13823 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13824 ett_s1ap_PWSRestartIndication, PWSRestartIndication_sequence);
13826 return offset;
13830 static const per_sequence_t PWSFailureIndication_sequence[] = {
13831 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13832 { NULL, 0, 0, NULL }
13835 static int
13836 dissect_s1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13837 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
13838 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13839 ett_s1ap_PWSFailureIndication, PWSFailureIndication_sequence);
13841 return offset;
13845 static const per_sequence_t DownlinkUEAssociatedLPPaTransport_sequence[] = {
13846 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13847 { NULL, 0, 0, NULL }
13850 static int
13851 dissect_s1ap_DownlinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13852 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport");
13853 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13854 ett_s1ap_DownlinkUEAssociatedLPPaTransport, DownlinkUEAssociatedLPPaTransport_sequence);
13856 return offset;
13860 static const per_sequence_t UplinkUEAssociatedLPPaTransport_sequence[] = {
13861 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13862 { NULL, 0, 0, NULL }
13865 static int
13866 dissect_s1ap_UplinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13867 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport");
13868 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13869 ett_s1ap_UplinkUEAssociatedLPPaTransport, UplinkUEAssociatedLPPaTransport_sequence);
13871 return offset;
13875 static const per_sequence_t DownlinkNonUEAssociatedLPPaTransport_sequence[] = {
13876 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13877 { NULL, 0, 0, NULL }
13880 static int
13881 dissect_s1ap_DownlinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13882 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport");
13883 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13884 ett_s1ap_DownlinkNonUEAssociatedLPPaTransport, DownlinkNonUEAssociatedLPPaTransport_sequence);
13886 return offset;
13890 static const per_sequence_t UplinkNonUEAssociatedLPPaTransport_sequence[] = {
13891 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13892 { NULL, 0, 0, NULL }
13895 static int
13896 dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13897 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport");
13898 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13899 ett_s1ap_UplinkNonUEAssociatedLPPaTransport, UplinkNonUEAssociatedLPPaTransport_sequence);
13901 return offset;
13905 static const per_sequence_t E_RABModificationIndication_sequence[] = {
13906 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13907 { NULL, 0, 0, NULL }
13910 static int
13911 dissect_s1ap_E_RABModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13912 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication");
13913 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13914 ett_s1ap_E_RABModificationIndication, E_RABModificationIndication_sequence);
13916 return offset;
13921 static int
13922 dissect_s1ap_E_RABToBeModifiedListBearerModInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13923 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
13925 return offset;
13929 static const per_sequence_t E_RABToBeModifiedItemBearerModInd_sequence[] = {
13930 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
13931 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
13932 { &hf_s1ap_dL_GTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
13933 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
13934 { NULL, 0, 0, NULL }
13937 static int
13938 dissect_s1ap_E_RABToBeModifiedItemBearerModInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13939 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13940 ett_s1ap_E_RABToBeModifiedItemBearerModInd, E_RABToBeModifiedItemBearerModInd_sequence);
13942 return offset;
13947 static int
13948 dissect_s1ap_E_RABNotToBeModifiedListBearerModInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13949 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
13951 return offset;
13955 static const per_sequence_t E_RABNotToBeModifiedItemBearerModInd_sequence[] = {
13956 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
13957 { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
13958 { &hf_s1ap_dL_GTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
13959 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
13960 { NULL, 0, 0, NULL }
13963 static int
13964 dissect_s1ap_E_RABNotToBeModifiedItemBearerModInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13965 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13966 ett_s1ap_E_RABNotToBeModifiedItemBearerModInd, E_RABNotToBeModifiedItemBearerModInd_sequence);
13968 return offset;
13972 static const per_sequence_t CSGMembershipInfo_sequence[] = {
13973 { &hf_s1ap_cSGMembershipStatus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CSGMembershipStatus },
13974 { &hf_s1ap_cSG_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CSG_Id },
13975 { &hf_s1ap_cellAccessMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_CellAccessMode },
13976 { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PLMNidentity },
13977 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
13978 { NULL, 0, 0, NULL }
13981 static int
13982 dissect_s1ap_CSGMembershipInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13983 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13984 ett_s1ap_CSGMembershipInfo, CSGMembershipInfo_sequence);
13986 return offset;
13990 static const per_sequence_t E_RABModificationConfirm_sequence[] = {
13991 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
13992 { NULL, 0, 0, NULL }
13995 static int
13996 dissect_s1ap_E_RABModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13997 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm");
13998 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13999 ett_s1ap_E_RABModificationConfirm, E_RABModificationConfirm_sequence);
14001 return offset;
14005 static const per_sequence_t E_RABModifyListBearerModConf_sequence_of[1] = {
14006 { &hf_s1ap_E_RABModifyListBearerModConf_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
14009 static int
14010 dissect_s1ap_E_RABModifyListBearerModConf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14011 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
14012 ett_s1ap_E_RABModifyListBearerModConf, E_RABModifyListBearerModConf_sequence_of,
14013 1, maxnoofE_RABs, false);
14015 return offset;
14019 static const per_sequence_t E_RABModifyItemBearerModConf_sequence[] = {
14020 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
14021 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
14022 { NULL, 0, 0, NULL }
14025 static int
14026 dissect_s1ap_E_RABModifyItemBearerModConf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14027 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14028 ett_s1ap_E_RABModifyItemBearerModConf, E_RABModifyItemBearerModConf_sequence);
14030 return offset;
14034 static const per_sequence_t UEContextModificationIndication_sequence[] = {
14035 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14036 { NULL, 0, 0, NULL }
14039 static int
14040 dissect_s1ap_UEContextModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14041 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication");
14042 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14043 ett_s1ap_UEContextModificationIndication, UEContextModificationIndication_sequence);
14045 return offset;
14049 static const per_sequence_t UEContextModificationConfirm_sequence[] = {
14050 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14051 { NULL, 0, 0, NULL }
14054 static int
14055 dissect_s1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14056 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
14057 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14058 ett_s1ap_UEContextModificationConfirm, UEContextModificationConfirm_sequence);
14060 return offset;
14064 static const per_sequence_t UEContextSuspendRequest_sequence[] = {
14065 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14066 { NULL, 0, 0, NULL }
14069 static int
14070 dissect_s1ap_UEContextSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14071 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
14072 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14073 ett_s1ap_UEContextSuspendRequest, UEContextSuspendRequest_sequence);
14075 return offset;
14079 static const per_sequence_t UEContextSuspendResponse_sequence[] = {
14080 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14081 { NULL, 0, 0, NULL }
14084 static int
14085 dissect_s1ap_UEContextSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14086 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
14087 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14088 ett_s1ap_UEContextSuspendResponse, UEContextSuspendResponse_sequence);
14090 return offset;
14094 static const per_sequence_t UEContextResumeRequest_sequence[] = {
14095 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14096 { NULL, 0, 0, NULL }
14099 static int
14100 dissect_s1ap_UEContextResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14101 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
14102 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14103 ett_s1ap_UEContextResumeRequest, UEContextResumeRequest_sequence);
14105 return offset;
14110 static int
14111 dissect_s1ap_E_RABFailedToResumeListResumeReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14112 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
14114 return offset;
14118 static const per_sequence_t E_RABFailedToResumeItemResumeReq_sequence[] = {
14119 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
14120 { &hf_s1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause },
14121 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
14122 { NULL, 0, 0, NULL }
14125 static int
14126 dissect_s1ap_E_RABFailedToResumeItemResumeReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14127 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14128 ett_s1ap_E_RABFailedToResumeItemResumeReq, E_RABFailedToResumeItemResumeReq_sequence);
14130 return offset;
14134 static const per_sequence_t UEContextResumeResponse_sequence[] = {
14135 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14136 { NULL, 0, 0, NULL }
14139 static int
14140 dissect_s1ap_UEContextResumeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14141 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
14142 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14143 ett_s1ap_UEContextResumeResponse, UEContextResumeResponse_sequence);
14145 return offset;
14150 static int
14151 dissect_s1ap_E_RABFailedToResumeListResumeRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14152 offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
14154 return offset;
14158 static const per_sequence_t E_RABFailedToResumeItemResumeRes_sequence[] = {
14159 { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID },
14160 { &hf_s1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause },
14161 { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
14162 { NULL, 0, 0, NULL }
14165 static int
14166 dissect_s1ap_E_RABFailedToResumeItemResumeRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14167 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14168 ett_s1ap_E_RABFailedToResumeItemResumeRes, E_RABFailedToResumeItemResumeRes_sequence);
14170 return offset;
14174 static const per_sequence_t UEContextResumeFailure_sequence[] = {
14175 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14176 { NULL, 0, 0, NULL }
14179 static int
14180 dissect_s1ap_UEContextResumeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14181 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
14182 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14183 ett_s1ap_UEContextResumeFailure, UEContextResumeFailure_sequence);
14185 return offset;
14189 static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = {
14190 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14191 { NULL, 0, 0, NULL }
14194 static int
14195 dissect_s1ap_ConnectionEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14196 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
14197 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14198 ett_s1ap_ConnectionEstablishmentIndication, ConnectionEstablishmentIndication_sequence);
14200 return offset;
14204 static const per_sequence_t RetrieveUEInformation_sequence[] = {
14205 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14206 { NULL, 0, 0, NULL }
14209 static int
14210 dissect_s1ap_RetrieveUEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14211 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation");
14212 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14213 ett_s1ap_RetrieveUEInformation, RetrieveUEInformation_sequence);
14215 return offset;
14219 static const per_sequence_t UEInformationTransfer_sequence[] = {
14220 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14221 { NULL, 0, 0, NULL }
14224 static int
14225 dissect_s1ap_UEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14226 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer");
14227 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14228 ett_s1ap_UEInformationTransfer, UEInformationTransfer_sequence);
14230 return offset;
14234 static const per_sequence_t ENBCPRelocationIndication_sequence[] = {
14235 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14236 { NULL, 0, 0, NULL }
14239 static int
14240 dissect_s1ap_ENBCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14241 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBCPRelocationIndication");
14242 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14243 ett_s1ap_ENBCPRelocationIndication, ENBCPRelocationIndication_sequence);
14245 return offset;
14249 static const per_sequence_t MMECPRelocationIndication_sequence[] = {
14250 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14251 { NULL, 0, 0, NULL }
14254 static int
14255 dissect_s1ap_MMECPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14256 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMECPRelocationIndication");
14257 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14258 ett_s1ap_MMECPRelocationIndication, MMECPRelocationIndication_sequence);
14260 return offset;
14264 static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = {
14265 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14266 { NULL, 0, 0, NULL }
14269 static int
14270 dissect_s1ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14271 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
14272 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14273 ett_s1ap_SecondaryRATDataUsageReport, SecondaryRATDataUsageReport_sequence);
14275 return offset;
14279 static const per_sequence_t UERadioCapabilityIDMappingRequest_sequence[] = {
14280 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14281 { NULL, 0, 0, NULL }
14284 static int
14285 dissect_s1ap_UERadioCapabilityIDMappingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14286 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingRequest");
14287 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14288 ett_s1ap_UERadioCapabilityIDMappingRequest, UERadioCapabilityIDMappingRequest_sequence);
14290 return offset;
14294 static const per_sequence_t UERadioCapabilityIDMappingResponse_sequence[] = {
14295 { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
14296 { NULL, 0, 0, NULL }
14299 static int
14300 dissect_s1ap_UERadioCapabilityIDMappingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14301 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingResponse");
14302 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14303 ett_s1ap_UERadioCapabilityIDMappingResponse, UERadioCapabilityIDMappingResponse_sequence);
14305 return offset;
14310 static int
14311 dissect_s1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14312 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
14313 s1ap_data->message_type = INITIATING_MESSAGE;
14314 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
14316 return offset;
14320 static const per_sequence_t InitiatingMessage_sequence[] = {
14321 { &hf_s1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProcedureCode },
14322 { &hf_s1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
14323 { &hf_s1ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_InitiatingMessage_value },
14324 { NULL, 0, 0, NULL }
14327 static int
14328 dissect_s1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14329 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14330 ett_s1ap_InitiatingMessage, InitiatingMessage_sequence);
14332 return offset;
14337 static int
14338 dissect_s1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14339 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
14340 s1ap_data->message_type = SUCCESSFUL_OUTCOME;
14341 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
14343 return offset;
14347 static const per_sequence_t SuccessfulOutcome_sequence[] = {
14348 { &hf_s1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProcedureCode },
14349 { &hf_s1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
14350 { &hf_s1ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_SuccessfulOutcome_value },
14351 { NULL, 0, 0, NULL }
14354 static int
14355 dissect_s1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14356 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14357 ett_s1ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
14359 return offset;
14364 static int
14365 dissect_s1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14366 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
14367 s1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
14371 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
14373 return offset;
14377 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
14378 { &hf_s1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProcedureCode },
14379 { &hf_s1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
14380 { &hf_s1ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_UnsuccessfulOutcome_value },
14381 { NULL, 0, 0, NULL }
14384 static int
14385 dissect_s1ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14386 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14387 ett_s1ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
14389 return offset;
14393 static const value_string s1ap_S1AP_PDU_vals[] = {
14394 { 0, "initiatingMessage" },
14395 { 1, "successfulOutcome" },
14396 { 2, "unsuccessfulOutcome" },
14397 { 0, NULL }
14400 static const per_choice_t S1AP_PDU_choice[] = {
14401 { 0, &hf_s1ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_s1ap_InitiatingMessage },
14402 { 1, &hf_s1ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_s1ap_SuccessfulOutcome },
14403 { 2, &hf_s1ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_s1ap_UnsuccessfulOutcome },
14404 { 0, NULL, 0, NULL }
14407 static int
14408 dissect_s1ap_S1AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14409 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14410 ett_s1ap_S1AP_PDU, S1AP_PDU_choice,
14411 NULL);
14413 return offset;
14417 static const value_string s1ap_SONtransferApplicationIdentity_vals[] = {
14418 { 0, "cell-load-reporting" },
14419 { 1, "multi-cell-load-reporting" },
14420 { 2, "event-triggered-cell-load-reporting" },
14421 { 3, "ho-reporting" },
14422 { 4, "eutran-cell-activation" },
14423 { 5, "energy-savings-indication" },
14424 { 6, "failure-event-reporting" },
14425 { 0, NULL }
14429 static int
14430 dissect_s1ap_SONtransferApplicationIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14431 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14432 1, NULL, true, 6, NULL);
14434 return offset;
14439 static int
14440 dissect_s1ap_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14441 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14442 NO_BOUND, NO_BOUND, false, NULL);
14444 return offset;
14449 static int
14450 dissect_s1ap_EHRPD_Sector_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14451 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14452 16, 16, false, NULL);
14454 return offset;
14458 static const value_string s1ap_IRAT_Cell_ID_vals[] = {
14459 { 0, "eUTRAN" },
14460 { 1, "uTRAN" },
14461 { 2, "gERAN" },
14462 { 3, "eHRPD" },
14463 { 0, NULL }
14466 static const per_choice_t IRAT_Cell_ID_choice[] = {
14467 { 0, &hf_s1ap_eUTRAN_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14468 { 1, &hf_s1ap_uTRAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14469 { 2, &hf_s1ap_gERAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14470 { 3, &hf_s1ap_eHRPD_01 , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EHRPD_Sector_ID },
14471 { 0, NULL, 0, NULL }
14474 static int
14475 dissect_s1ap_IRAT_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14476 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14477 ett_s1ap_IRAT_Cell_ID, IRAT_Cell_ID_choice,
14478 NULL);
14480 return offset;
14484 static const per_sequence_t RequestedCellList_sequence_of[1] = {
14485 { &hf_s1ap_RequestedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_IRAT_Cell_ID },
14488 static int
14489 dissect_s1ap_RequestedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14490 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
14491 ett_s1ap_RequestedCellList, RequestedCellList_sequence_of,
14492 1, maxnoofIRATReportingCells, false);
14494 return offset;
14498 static const per_sequence_t MultiCellLoadReportingRequest_sequence[] = {
14499 { &hf_s1ap_requestedCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RequestedCellList },
14500 { NULL, 0, 0, NULL }
14503 static int
14504 dissect_s1ap_MultiCellLoadReportingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14505 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14506 ett_s1ap_MultiCellLoadReportingRequest, MultiCellLoadReportingRequest_sequence);
14508 return offset;
14512 static const value_string s1ap_NumberOfMeasurementReportingLevels_vals[] = {
14513 { 0, "rl2" },
14514 { 1, "rl3" },
14515 { 2, "rl4" },
14516 { 3, "rl5" },
14517 { 4, "rl10" },
14518 { 0, NULL }
14522 static int
14523 dissect_s1ap_NumberOfMeasurementReportingLevels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14524 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14525 5, NULL, true, 0, NULL);
14527 return offset;
14531 static const per_sequence_t EventTriggeredCellLoadReportingRequest_sequence[] = {
14532 { &hf_s1ap_numberOfMeasurementReportingLevels, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NumberOfMeasurementReportingLevels },
14533 { NULL, 0, 0, NULL }
14536 static int
14537 dissect_s1ap_EventTriggeredCellLoadReportingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14538 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14539 ett_s1ap_EventTriggeredCellLoadReportingRequest, EventTriggeredCellLoadReportingRequest_sequence);
14541 return offset;
14545 static const value_string s1ap_HoType_vals[] = {
14546 { 0, "ltetoutran" },
14547 { 1, "ltetogeran" },
14548 { 0, NULL }
14552 static int
14553 dissect_s1ap_HoType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14554 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14555 2, NULL, true, 0, NULL);
14557 return offset;
14561 static const value_string s1ap_HoReportType_vals[] = {
14562 { 0, "unnecessaryhotoanotherrat" },
14563 { 1, "earlyirathandover" },
14564 { 0, NULL }
14568 static int
14569 dissect_s1ap_HoReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14570 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14571 1, NULL, true, 1, NULL);
14573 return offset;
14577 static const per_sequence_t CandidateCellList_sequence_of[1] = {
14578 { &hf_s1ap_CandidateCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_IRAT_Cell_ID },
14581 static int
14582 dissect_s1ap_CandidateCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14583 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
14584 ett_s1ap_CandidateCellList, CandidateCellList_sequence_of,
14585 1, maxnoofcandidateCells, false);
14587 return offset;
14592 static int
14593 dissect_s1ap_INTEGER_0_503(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14594 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14595 0U, 503U, NULL, false);
14597 return offset;
14601 static const per_sequence_t CandidatePCI_sequence[] = {
14602 { &hf_s1ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_INTEGER_0_503 },
14603 { &hf_s1ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_OCTET_STRING },
14604 { NULL, 0, 0, NULL }
14607 static int
14608 dissect_s1ap_CandidatePCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14609 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14610 ett_s1ap_CandidatePCI, CandidatePCI_sequence);
14612 return offset;
14616 static const per_sequence_t CandidatePCIList_sequence_of[1] = {
14617 { &hf_s1ap_CandidatePCIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CandidatePCI },
14620 static int
14621 dissect_s1ap_CandidatePCIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14622 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
14623 ett_s1ap_CandidatePCIList, CandidatePCIList_sequence_of,
14624 1, maxnoofcandidateCells, false);
14626 return offset;
14630 static const per_sequence_t HOReport_sequence[] = {
14631 { &hf_s1ap_hoType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HoType },
14632 { &hf_s1ap_hoReportType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_HoReportType },
14633 { &hf_s1ap_hosourceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IRAT_Cell_ID },
14634 { &hf_s1ap_hoTargetID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IRAT_Cell_ID },
14635 { &hf_s1ap_candidateCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CandidateCellList },
14636 { &hf_s1ap_candidatePCIList, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_s1ap_CandidatePCIList },
14637 { NULL, 0, 0, NULL }
14640 static int
14641 dissect_s1ap_HOReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14643 ett_s1ap_HOReport, HOReport_sequence);
14645 return offset;
14649 static const per_sequence_t CellsToActivateList_Item_sequence[] = {
14650 { &hf_s1ap_cell_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_OCTET_STRING },
14651 { NULL, 0, 0, NULL }
14654 static int
14655 dissect_s1ap_CellsToActivateList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14656 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14657 ett_s1ap_CellsToActivateList_Item, CellsToActivateList_Item_sequence);
14659 return offset;
14663 static const per_sequence_t CellsToActivateList_sequence_of[1] = {
14664 { &hf_s1ap_CellsToActivateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CellsToActivateList_Item },
14667 static int
14668 dissect_s1ap_CellsToActivateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14669 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
14670 ett_s1ap_CellsToActivateList, CellsToActivateList_sequence_of,
14671 1, maxnoofCellineNB, false);
14673 return offset;
14678 static int
14679 dissect_s1ap_INTEGER_1_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14680 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14681 1U, 60U, NULL, false);
14683 return offset;
14687 static const per_sequence_t CellActivationRequest_sequence[] = {
14688 { &hf_s1ap_cellsToActivateList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellsToActivateList },
14689 { &hf_s1ap_minimumActivationTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_1_60 },
14690 { NULL, 0, 0, NULL }
14693 static int
14694 dissect_s1ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14695 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14696 ett_s1ap_CellActivationRequest, CellActivationRequest_sequence);
14698 return offset;
14702 static const value_string s1ap_NotifyFlag_vals[] = {
14703 { 0, "activated" },
14704 { 1, "deactivated" },
14705 { 0, NULL }
14709 static int
14710 dissect_s1ap_NotifyFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14711 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14712 2, NULL, true, 0, NULL);
14714 return offset;
14718 static const per_sequence_t NotificationCellList_Item_sequence[] = {
14719 { &hf_s1ap_cell_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_OCTET_STRING },
14720 { &hf_s1ap_notifyFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NotifyFlag },
14721 { NULL, 0, 0, NULL }
14724 static int
14725 dissect_s1ap_NotificationCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14726 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14727 ett_s1ap_NotificationCellList_Item, NotificationCellList_Item_sequence);
14729 return offset;
14733 static const per_sequence_t NotificationCellList_sequence_of[1] = {
14734 { &hf_s1ap_NotificationCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_NotificationCellList_Item },
14737 static int
14738 dissect_s1ap_NotificationCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14739 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
14740 ett_s1ap_NotificationCellList, NotificationCellList_sequence_of,
14741 1, maxnoofCellineNB, false);
14743 return offset;
14747 static const per_sequence_t CellStateIndication_sequence[] = {
14748 { &hf_s1ap_notificationCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NotificationCellList },
14749 { NULL, 0, 0, NULL }
14752 static int
14753 dissect_s1ap_CellStateIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14754 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14755 ett_s1ap_CellStateIndication, CellStateIndication_sequence);
14757 return offset;
14762 static int
14763 dissect_s1ap_T_uERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14764 tvbuff_t *parameter_tvb;
14765 proto_tree *subtree;
14766 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14767 NO_BOUND, NO_BOUND, false, &parameter_tvb);
14769 if (!parameter_tvb)
14770 return offset;
14772 if (g_s1ap_dissect_container) {
14773 subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container);
14774 volatile int saved_offset = offset;
14775 TRY {
14776 dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
14778 CATCH_BOUNDS_ERRORS {
14779 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
14781 ENDTRY;
14782 offset = saved_offset;
14786 return offset;
14790 static const per_sequence_t TooEarlyInterRATHOReportReportFromEUTRAN_sequence[] = {
14791 { &hf_s1ap_uERLFReportContainer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_T_uERLFReportContainer },
14792 { &hf_s1ap_mobilityInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_MobilityInformation },
14793 { NULL, 0, 0, NULL }
14796 static int
14797 dissect_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14798 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14799 ett_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN, TooEarlyInterRATHOReportReportFromEUTRAN_sequence);
14801 return offset;
14805 static const value_string s1ap_FailureEventReport_vals[] = {
14806 { 0, "tooEarlyInterRATHOReportFromEUTRAN" },
14807 { 0, NULL }
14810 static const per_choice_t FailureEventReport_choice[] = {
14811 { 0, &hf_s1ap_tooEarlyInterRATHOReportFromEUTRAN, ASN1_EXTENSION_ROOT , dissect_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN },
14812 { 0, NULL, 0, NULL }
14815 static int
14816 dissect_s1ap_FailureEventReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14817 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14818 ett_s1ap_FailureEventReport, FailureEventReport_choice,
14819 NULL);
14821 return offset;
14825 const value_string s1ap_SONtransferRequestContainer_vals[] = {
14826 { 0, "cellLoadReporting" },
14827 { 1, "multiCellLoadReporting" },
14828 { 2, "eventTriggeredCellLoadReporting" },
14829 { 3, "hOReporting" },
14830 { 4, "eutranCellActivation" },
14831 { 5, "energySavingsIndication" },
14832 { 6, "failureEventReporting" },
14833 { 0, NULL }
14836 static const per_choice_t SONtransferRequestContainer_choice[] = {
14837 { 0, &hf_s1ap_cellLoadReporting, ASN1_EXTENSION_ROOT , dissect_s1ap_NULL },
14838 { 1, &hf_s1ap_multiCellLoadReporting, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_MultiCellLoadReportingRequest },
14839 { 2, &hf_s1ap_eventTriggeredCellLoadReporting, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EventTriggeredCellLoadReportingRequest },
14840 { 3, &hf_s1ap_hOReporting , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_HOReport },
14841 { 4, &hf_s1ap_eutranCellActivation, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellActivationRequest },
14842 { 5, &hf_s1ap_energySavingsIndication, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellStateIndication },
14843 { 6, &hf_s1ap_failureEventReporting, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_FailureEventReport },
14844 { 0, NULL, 0, NULL }
14848 dissect_s1ap_SONtransferRequestContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14849 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14850 ett_s1ap_SONtransferRequestContainer, SONtransferRequestContainer_choice,
14851 NULL);
14853 return offset;
14858 static int
14859 dissect_s1ap_CompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14860 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14861 NO_BOUND, NO_BOUND, false, NULL);
14863 return offset;
14867 static const per_sequence_t EUTRANcellLoadReportingResponse_sequence[] = {
14868 { &hf_s1ap_compositeAvailableCapacityGroup, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CompositeAvailableCapacityGroup },
14869 { NULL, 0, 0, NULL }
14872 static int
14873 dissect_s1ap_EUTRANcellLoadReportingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14874 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14875 ett_s1ap_EUTRANcellLoadReportingResponse, EUTRANcellLoadReportingResponse_sequence);
14877 return offset;
14882 static int
14883 dissect_s1ap_EHRPDSectorCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14884 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14885 1U, 100U, NULL, true);
14887 return offset;
14892 static int
14893 dissect_s1ap_EHRPDCapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14894 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14895 0U, 100U, NULL, false);
14897 return offset;
14901 static const per_sequence_t EHRPDCompositeAvailableCapacity_sequence[] = {
14902 { &hf_s1ap_eHRPDSectorCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDSectorCapacityClassValue },
14903 { &hf_s1ap_eHRPDCapacityValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDCapacityValue },
14904 { NULL, 0, 0, NULL }
14907 static int
14908 dissect_s1ap_EHRPDCompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14909 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14910 ett_s1ap_EHRPDCompositeAvailableCapacity, EHRPDCompositeAvailableCapacity_sequence);
14912 return offset;
14916 static const per_sequence_t EHRPDSectorLoadReportingResponse_sequence[] = {
14917 { &hf_s1ap_dL_EHRPD_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDCompositeAvailableCapacity },
14918 { &hf_s1ap_uL_EHRPD_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDCompositeAvailableCapacity },
14919 { NULL, 0, 0, NULL }
14922 static int
14923 dissect_s1ap_EHRPDSectorLoadReportingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14924 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14925 ett_s1ap_EHRPDSectorLoadReportingResponse, EHRPDSectorLoadReportingResponse_sequence);
14927 return offset;
14931 static const value_string s1ap_CellLoadReportingResponse_vals[] = {
14932 { 0, "eUTRAN" },
14933 { 1, "uTRAN" },
14934 { 2, "gERAN" },
14935 { 3, "eHRPD" },
14936 { 0, NULL }
14939 static const per_choice_t CellLoadReportingResponse_choice[] = {
14940 { 0, &hf_s1ap_eUTRAN , ASN1_EXTENSION_ROOT , dissect_s1ap_EUTRANcellLoadReportingResponse },
14941 { 1, &hf_s1ap_uTRAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14942 { 2, &hf_s1ap_gERAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14943 { 3, &hf_s1ap_eHRPD , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EHRPDSectorLoadReportingResponse },
14944 { 0, NULL, 0, NULL }
14947 static int
14948 dissect_s1ap_CellLoadReportingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14949 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14950 ett_s1ap_CellLoadReportingResponse, CellLoadReportingResponse_choice,
14951 NULL);
14953 return offset;
14957 static const per_sequence_t EUTRANResponse_sequence[] = {
14958 { &hf_s1ap_cell_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_OCTET_STRING },
14959 { &hf_s1ap_eUTRANcellLoadReportingResponse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRANcellLoadReportingResponse },
14960 { NULL, 0, 0, NULL }
14963 static int
14964 dissect_s1ap_EUTRANResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14965 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14966 ett_s1ap_EUTRANResponse, EUTRANResponse_sequence);
14968 return offset;
14972 static const per_sequence_t EHRPDMultiSectorLoadReportingResponseItem_sequence[] = {
14973 { &hf_s1ap_eHRPD_Sector_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPD_Sector_ID },
14974 { &hf_s1ap_eHRPDSectorLoadReportingResponse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDSectorLoadReportingResponse },
14975 { NULL, 0, 0, NULL }
14978 static int
14979 dissect_s1ap_EHRPDMultiSectorLoadReportingResponseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14980 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14981 ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem, EHRPDMultiSectorLoadReportingResponseItem_sequence);
14983 return offset;
14987 static const value_string s1ap_MultiCellLoadReportingResponse_Item_vals[] = {
14988 { 0, "eUTRANResponse" },
14989 { 1, "uTRANResponse" },
14990 { 2, "gERANResponse" },
14991 { 3, "eHRPD" },
14992 { 0, NULL }
14995 static const per_choice_t MultiCellLoadReportingResponse_Item_choice[] = {
14996 { 0, &hf_s1ap_eUTRANResponse , ASN1_EXTENSION_ROOT , dissect_s1ap_EUTRANResponse },
14997 { 1, &hf_s1ap_uTRANResponse , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14998 { 2, &hf_s1ap_gERANResponse , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING },
14999 { 3, &hf_s1ap_eHRPD_02 , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EHRPDMultiSectorLoadReportingResponseItem },
15000 { 0, NULL, 0, NULL }
15003 static int
15004 dissect_s1ap_MultiCellLoadReportingResponse_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15005 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
15006 ett_s1ap_MultiCellLoadReportingResponse_Item, MultiCellLoadReportingResponse_Item_choice,
15007 NULL);
15009 return offset;
15013 static const per_sequence_t MultiCellLoadReportingResponse_sequence_of[1] = {
15014 { &hf_s1ap_MultiCellLoadReportingResponse_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_MultiCellLoadReportingResponse_Item },
15017 static int
15018 dissect_s1ap_MultiCellLoadReportingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15019 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
15020 ett_s1ap_MultiCellLoadReportingResponse, MultiCellLoadReportingResponse_sequence_of,
15021 1, maxnoofIRATReportingCells, false);
15023 return offset;
15027 static const value_string s1ap_OverloadFlag_vals[] = {
15028 { 0, "overload" },
15029 { 0, NULL }
15033 static int
15034 dissect_s1ap_OverloadFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15035 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15036 1, NULL, true, 0, NULL);
15038 return offset;
15042 static const per_sequence_t EventTriggeredCellLoadReportingResponse_sequence[] = {
15043 { &hf_s1ap_cellLoadReportingResponse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellLoadReportingResponse },
15044 { &hf_s1ap_overloadFlag , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_OverloadFlag },
15045 { NULL, 0, 0, NULL }
15048 static int
15049 dissect_s1ap_EventTriggeredCellLoadReportingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15050 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
15051 ett_s1ap_EventTriggeredCellLoadReportingResponse, EventTriggeredCellLoadReportingResponse_sequence);
15053 return offset;
15057 static const per_sequence_t ActivatedCellsList_Item_sequence[] = {
15058 { &hf_s1ap_cell_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_OCTET_STRING },
15059 { NULL, 0, 0, NULL }
15062 static int
15063 dissect_s1ap_ActivatedCellsList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15064 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
15065 ett_s1ap_ActivatedCellsList_Item, ActivatedCellsList_Item_sequence);
15067 return offset;
15071 static const per_sequence_t ActivatedCellsList_sequence_of[1] = {
15072 { &hf_s1ap_ActivatedCellsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ActivatedCellsList_Item },
15075 static int
15076 dissect_s1ap_ActivatedCellsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15077 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
15078 ett_s1ap_ActivatedCellsList, ActivatedCellsList_sequence_of,
15079 0, maxnoofCellineNB, false);
15081 return offset;
15085 static const per_sequence_t CellActivationResponse_sequence[] = {
15086 { &hf_s1ap_activatedCellsList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ActivatedCellsList },
15087 { NULL, 0, 0, NULL }
15090 static int
15091 dissect_s1ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15092 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
15093 ett_s1ap_CellActivationResponse, CellActivationResponse_sequence);
15095 return offset;
15099 const value_string s1ap_SONtransferResponseContainer_vals[] = {
15100 { 0, "cellLoadReporting" },
15101 { 1, "multiCellLoadReporting" },
15102 { 2, "eventTriggeredCellLoadReporting" },
15103 { 3, "hOReporting" },
15104 { 4, "eutranCellActivation" },
15105 { 5, "energySavingsIndication" },
15106 { 6, "failureEventReporting" },
15107 { 0, NULL }
15110 static const per_choice_t SONtransferResponseContainer_choice[] = {
15111 { 0, &hf_s1ap_cellLoadReporting_01, ASN1_EXTENSION_ROOT , dissect_s1ap_CellLoadReportingResponse },
15112 { 1, &hf_s1ap_multiCellLoadReporting_01, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_MultiCellLoadReportingResponse },
15113 { 2, &hf_s1ap_eventTriggeredCellLoadReporting_01, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EventTriggeredCellLoadReportingResponse },
15114 { 3, &hf_s1ap_hOReporting_01 , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_NULL },
15115 { 4, &hf_s1ap_eutranCellActivation_01, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellActivationResponse },
15116 { 5, &hf_s1ap_energySavingsIndication_01, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_NULL },
15117 { 6, &hf_s1ap_failureEventReporting_01, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_NULL },
15118 { 0, NULL, 0, NULL }
15122 dissect_s1ap_SONtransferResponseContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15123 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
15124 ett_s1ap_SONtransferResponseContainer, SONtransferResponseContainer_choice,
15125 NULL);
15127 return offset;
15131 static const value_string s1ap_CellLoadReportingCause_vals[] = {
15132 { 0, "application-container-syntax-error" },
15133 { 1, "inconsistent-reporting-cell-identifier" },
15134 { 2, "unspecified" },
15135 { 0, NULL }
15139 static int
15140 dissect_s1ap_CellLoadReportingCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15141 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15142 3, NULL, true, 0, NULL);
15144 return offset;
15148 static const value_string s1ap_HOReportingCause_vals[] = {
15149 { 0, "application-container-syntax-error" },
15150 { 1, "inconsistent-reporting-cell-identifier" },
15151 { 2, "unspecified" },
15152 { 0, NULL }
15156 static int
15157 dissect_s1ap_HOReportingCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15158 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15159 3, NULL, true, 0, NULL);
15161 return offset;
15165 static const value_string s1ap_CellActivationCause_vals[] = {
15166 { 0, "application-container-syntax-error" },
15167 { 1, "inconsistent-reporting-cell-identifier" },
15168 { 2, "unspecified" },
15169 { 0, NULL }
15173 static int
15174 dissect_s1ap_CellActivationCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15175 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15176 3, NULL, true, 0, NULL);
15178 return offset;
15182 static const value_string s1ap_CellStateIndicationCause_vals[] = {
15183 { 0, "application-container-syntax-error" },
15184 { 1, "inconsistent-reporting-cell-identifier" },
15185 { 2, "unspecified" },
15186 { 0, NULL }
15190 static int
15191 dissect_s1ap_CellStateIndicationCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15192 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15193 3, NULL, true, 0, NULL);
15195 return offset;
15199 static const value_string s1ap_FailureEventReportingCause_vals[] = {
15200 { 0, "application-container-syntax-error" },
15201 { 1, "inconsistent-reporting-cell-identifier" },
15202 { 2, "unspecified" },
15203 { 0, NULL }
15207 static int
15208 dissect_s1ap_FailureEventReportingCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15209 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15210 3, NULL, true, 0, NULL);
15212 return offset;
15216 static const value_string s1ap_SONtransferCause_vals[] = {
15217 { 0, "cellLoadReporting" },
15218 { 1, "multiCellLoadReporting" },
15219 { 2, "eventTriggeredCellLoadReporting" },
15220 { 3, "hOReporting" },
15221 { 4, "eutranCellActivation" },
15222 { 5, "energySavingsIndication" },
15223 { 6, "failureEventReporting" },
15224 { 0, NULL }
15227 static const per_choice_t SONtransferCause_choice[] = {
15228 { 0, &hf_s1ap_cellLoadReporting_02, ASN1_EXTENSION_ROOT , dissect_s1ap_CellLoadReportingCause },
15229 { 1, &hf_s1ap_multiCellLoadReporting_02, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellLoadReportingCause },
15230 { 2, &hf_s1ap_eventTriggeredCellLoadReporting_02, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellLoadReportingCause },
15231 { 3, &hf_s1ap_hOReporting_02 , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_HOReportingCause },
15232 { 4, &hf_s1ap_eutranCellActivation_02, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellActivationCause },
15233 { 5, &hf_s1ap_energySavingsIndication_02, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_CellStateIndicationCause },
15234 { 6, &hf_s1ap_failureEventReporting_02, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_FailureEventReportingCause },
15235 { 0, NULL, 0, NULL }
15238 static int
15239 dissect_s1ap_SONtransferCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15240 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
15241 ett_s1ap_SONtransferCause, SONtransferCause_choice,
15242 NULL);
15244 return offset;
15249 /*--- PDUs ---*/
15251 static int dissect_Additional_GUTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15252 int offset = 0;
15253 asn1_ctx_t asn1_ctx;
15254 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15255 offset = dissect_s1ap_Additional_GUTI(tvb, offset, &asn1_ctx, tree, hf_s1ap_Additional_GUTI_PDU);
15256 offset += 7; offset >>= 3;
15257 return offset;
15259 static int dissect_AdditionalRRMPriorityIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15260 int offset = 0;
15261 asn1_ctx_t asn1_ctx;
15262 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15263 offset = dissect_s1ap_AdditionalRRMPriorityIndex(tvb, offset, &asn1_ctx, tree, hf_s1ap_AdditionalRRMPriorityIndex_PDU);
15264 offset += 7; offset >>= 3;
15265 return offset;
15267 static int dissect_AerialUEsubscriptionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15268 int offset = 0;
15269 asn1_ctx_t asn1_ctx;
15270 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15271 offset = dissect_s1ap_AerialUEsubscriptionInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_AerialUEsubscriptionInformation_PDU);
15272 offset += 7; offset >>= 3;
15273 return offset;
15275 static int dissect_AssistanceDataForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15276 int offset = 0;
15277 asn1_ctx_t asn1_ctx;
15278 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15279 offset = dissect_s1ap_AssistanceDataForPaging(tvb, offset, &asn1_ctx, tree, hf_s1ap_AssistanceDataForPaging_PDU);
15280 offset += 7; offset >>= 3;
15281 return offset;
15283 static int dissect_Bearers_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15284 int offset = 0;
15285 asn1_ctx_t asn1_ctx;
15286 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15287 offset = dissect_s1ap_Bearers_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU);
15288 offset += 7; offset >>= 3;
15289 return offset;
15291 static int dissect_Bearers_SubjectToEarlyStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15292 int offset = 0;
15293 asn1_ctx_t asn1_ctx;
15294 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15295 offset = dissect_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item_PDU);
15296 offset += 7; offset >>= 3;
15297 return offset;
15299 static int dissect_Bearers_SubjectToDLDiscardingList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15300 int offset = 0;
15301 asn1_ctx_t asn1_ctx;
15302 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15303 offset = dissect_s1ap_Bearers_SubjectToDLDiscardingList(tvb, offset, &asn1_ctx, tree, hf_s1ap_Bearers_SubjectToDLDiscardingList_PDU);
15304 offset += 7; offset >>= 3;
15305 return offset;
15307 static int dissect_Bearers_SubjectToDLDiscarding_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15308 int offset = 0;
15309 asn1_ctx_t asn1_ctx;
15310 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15311 offset = dissect_s1ap_Bearers_SubjectToDLDiscarding_Item(tvb, offset, &asn1_ctx, tree, hf_s1ap_Bearers_SubjectToDLDiscarding_Item_PDU);
15312 offset += 7; offset >>= 3;
15313 return offset;
15315 static int dissect_BearerType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15316 int offset = 0;
15317 asn1_ctx_t asn1_ctx;
15318 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15319 offset = dissect_s1ap_BearerType(tvb, offset, &asn1_ctx, tree, hf_s1ap_BearerType_PDU);
15320 offset += 7; offset >>= 3;
15321 return offset;
15323 static int dissect_BluetoothMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15324 int offset = 0;
15325 asn1_ctx_t asn1_ctx;
15326 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15327 offset = dissect_s1ap_BluetoothMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_s1ap_BluetoothMeasurementConfiguration_PDU);
15328 offset += 7; offset >>= 3;
15329 return offset;
15331 static int dissect_BroadcastCancelledAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15332 int offset = 0;
15333 asn1_ctx_t asn1_ctx;
15334 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15335 offset = dissect_s1ap_BroadcastCancelledAreaList(tvb, offset, &asn1_ctx, tree, hf_s1ap_BroadcastCancelledAreaList_PDU);
15336 offset += 7; offset >>= 3;
15337 return offset;
15339 static int dissect_BroadcastCompletedAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15340 int offset = 0;
15341 asn1_ctx_t asn1_ctx;
15342 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15343 offset = dissect_s1ap_BroadcastCompletedAreaList(tvb, offset, &asn1_ctx, tree, hf_s1ap_BroadcastCompletedAreaList_PDU);
15344 offset += 7; offset >>= 3;
15345 return offset;
15347 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15348 int offset = 0;
15349 asn1_ctx_t asn1_ctx;
15350 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15351 offset = dissect_s1ap_Cause(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cause_PDU);
15352 offset += 7; offset >>= 3;
15353 return offset;
15355 static int dissect_CellAccessMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15356 int offset = 0;
15357 asn1_ctx_t asn1_ctx;
15358 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15359 offset = dissect_s1ap_CellAccessMode(tvb, offset, &asn1_ctx, tree, hf_s1ap_CellAccessMode_PDU);
15360 offset += 7; offset >>= 3;
15361 return offset;
15363 static int dissect_CellIdentifierAndCELevelForCECapableUEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15364 int offset = 0;
15365 asn1_ctx_t asn1_ctx;
15366 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15367 offset = dissect_s1ap_CellIdentifierAndCELevelForCECapableUEs(tvb, offset, &asn1_ctx, tree, hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU);
15368 offset += 7; offset >>= 3;
15369 return offset;
15371 static int dissect_CE_mode_B_SupportIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15372 int offset = 0;
15373 asn1_ctx_t asn1_ctx;
15374 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15375 offset = dissect_s1ap_CE_mode_B_SupportIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_CE_mode_B_SupportIndicator_PDU);
15376 offset += 7; offset >>= 3;
15377 return offset;
15379 static int dissect_Cdma2000PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15380 int offset = 0;
15381 asn1_ctx_t asn1_ctx;
15382 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15383 offset = dissect_s1ap_Cdma2000PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000PDU_PDU);
15384 offset += 7; offset >>= 3;
15385 return offset;
15387 static int dissect_Cdma2000RATType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15388 int offset = 0;
15389 asn1_ctx_t asn1_ctx;
15390 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15391 offset = dissect_s1ap_Cdma2000RATType(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000RATType_PDU);
15392 offset += 7; offset >>= 3;
15393 return offset;
15395 static int dissect_Cdma2000SectorID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15396 int offset = 0;
15397 asn1_ctx_t asn1_ctx;
15398 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15399 offset = dissect_s1ap_Cdma2000SectorID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000SectorID_PDU);
15400 offset += 7; offset >>= 3;
15401 return offset;
15403 static int dissect_Cdma2000HOStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15404 int offset = 0;
15405 asn1_ctx_t asn1_ctx;
15406 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15407 offset = dissect_s1ap_Cdma2000HOStatus(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000HOStatus_PDU);
15408 offset += 7; offset >>= 3;
15409 return offset;
15411 static int dissect_Cdma2000HORequiredIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15412 int offset = 0;
15413 asn1_ctx_t asn1_ctx;
15414 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15415 offset = dissect_s1ap_Cdma2000HORequiredIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000HORequiredIndication_PDU);
15416 offset += 7; offset >>= 3;
15417 return offset;
15419 static int dissect_Cdma2000OneXSRVCCInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15420 int offset = 0;
15421 asn1_ctx_t asn1_ctx;
15422 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15423 offset = dissect_s1ap_Cdma2000OneXSRVCCInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000OneXSRVCCInfo_PDU);
15424 offset += 7; offset >>= 3;
15425 return offset;
15427 static int dissect_Cdma2000OneXRAND_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15428 int offset = 0;
15429 asn1_ctx_t asn1_ctx;
15430 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15431 offset = dissect_s1ap_Cdma2000OneXRAND(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000OneXRAND_PDU);
15432 offset += 7; offset >>= 3;
15433 return offset;
15435 static int dissect_CNDomain_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15436 int offset = 0;
15437 asn1_ctx_t asn1_ctx;
15438 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15439 offset = dissect_s1ap_CNDomain(tvb, offset, &asn1_ctx, tree, hf_s1ap_CNDomain_PDU);
15440 offset += 7; offset >>= 3;
15441 return offset;
15443 static int dissect_CNTypeRestrictions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15444 int offset = 0;
15445 asn1_ctx_t asn1_ctx;
15446 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15447 offset = dissect_s1ap_CNTypeRestrictions(tvb, offset, &asn1_ctx, tree, hf_s1ap_CNTypeRestrictions_PDU);
15448 offset += 7; offset >>= 3;
15449 return offset;
15451 static int dissect_ConcurrentWarningMessageIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15452 int offset = 0;
15453 asn1_ctx_t asn1_ctx;
15454 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15455 offset = dissect_s1ap_ConcurrentWarningMessageIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_ConcurrentWarningMessageIndicator_PDU);
15456 offset += 7; offset >>= 3;
15457 return offset;
15459 static int dissect_ConnectedengNBList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15460 int offset = 0;
15461 asn1_ctx_t asn1_ctx;
15462 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15463 offset = dissect_s1ap_ConnectedengNBList(tvb, offset, &asn1_ctx, tree, hf_s1ap_ConnectedengNBList_PDU);
15464 offset += 7; offset >>= 3;
15465 return offset;
15467 static int dissect_ContextatSource_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15468 int offset = 0;
15469 asn1_ctx_t asn1_ctx;
15470 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15471 offset = dissect_s1ap_ContextatSource(tvb, offset, &asn1_ctx, tree, hf_s1ap_ContextatSource_PDU);
15472 offset += 7; offset >>= 3;
15473 return offset;
15475 static int dissect_Correlation_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15476 int offset = 0;
15477 asn1_ctx_t asn1_ctx;
15478 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15479 offset = dissect_s1ap_Correlation_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Correlation_ID_PDU);
15480 offset += 7; offset >>= 3;
15481 return offset;
15483 static int dissect_CSFallbackIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15484 int offset = 0;
15485 asn1_ctx_t asn1_ctx;
15486 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15487 offset = dissect_s1ap_CSFallbackIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_CSFallbackIndicator_PDU);
15488 offset += 7; offset >>= 3;
15489 return offset;
15491 static int dissect_AdditionalCSFallbackIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15492 int offset = 0;
15493 asn1_ctx_t asn1_ctx;
15494 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15495 offset = dissect_s1ap_AdditionalCSFallbackIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_AdditionalCSFallbackIndicator_PDU);
15496 offset += 7; offset >>= 3;
15497 return offset;
15499 static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15500 int offset = 0;
15501 asn1_ctx_t asn1_ctx;
15502 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15503 offset = dissect_s1ap_CSG_Id(tvb, offset, &asn1_ctx, tree, hf_s1ap_CSG_Id_PDU);
15504 offset += 7; offset >>= 3;
15505 return offset;
15507 static int dissect_CSG_IdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15508 int offset = 0;
15509 asn1_ctx_t asn1_ctx;
15510 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15511 offset = dissect_s1ap_CSG_IdList(tvb, offset, &asn1_ctx, tree, hf_s1ap_CSG_IdList_PDU);
15512 offset += 7; offset >>= 3;
15513 return offset;
15515 static int dissect_CSGMembershipStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15516 int offset = 0;
15517 asn1_ctx_t asn1_ctx;
15518 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15519 offset = dissect_s1ap_CSGMembershipStatus(tvb, offset, &asn1_ctx, tree, hf_s1ap_CSGMembershipStatus_PDU);
15520 offset += 7; offset >>= 3;
15521 return offset;
15523 static int dissect_COUNTValueExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15524 int offset = 0;
15525 asn1_ctx_t asn1_ctx;
15526 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15527 offset = dissect_s1ap_COUNTValueExtended(tvb, offset, &asn1_ctx, tree, hf_s1ap_COUNTValueExtended_PDU);
15528 offset += 7; offset >>= 3;
15529 return offset;
15531 static int dissect_COUNTvaluePDCP_SNlength18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15532 int offset = 0;
15533 asn1_ctx_t asn1_ctx;
15534 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15535 offset = dissect_s1ap_COUNTvaluePDCP_SNlength18(tvb, offset, &asn1_ctx, tree, hf_s1ap_COUNTvaluePDCP_SNlength18_PDU);
15536 offset += 7; offset >>= 3;
15537 return offset;
15539 static int dissect_Coverage_Level_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15540 int offset = 0;
15541 asn1_ctx_t asn1_ctx;
15542 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15543 offset = dissect_s1ap_Coverage_Level(tvb, offset, &asn1_ctx, tree, hf_s1ap_Coverage_Level_PDU);
15544 offset += 7; offset >>= 3;
15545 return offset;
15547 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15548 int offset = 0;
15549 asn1_ctx_t asn1_ctx;
15550 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15551 offset = dissect_s1ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_s1ap_CriticalityDiagnostics_PDU);
15552 offset += 7; offset >>= 3;
15553 return offset;
15555 static int dissect_DAPSRequestInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15556 int offset = 0;
15557 asn1_ctx_t asn1_ctx;
15558 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15559 offset = dissect_s1ap_DAPSRequestInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_DAPSRequestInfo_PDU);
15560 offset += 7; offset >>= 3;
15561 return offset;
15563 static int dissect_DAPSResponseInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15564 int offset = 0;
15565 asn1_ctx_t asn1_ctx;
15566 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15567 offset = dissect_s1ap_DAPSResponseInfoList(tvb, offset, &asn1_ctx, tree, hf_s1ap_DAPSResponseInfoList_PDU);
15568 offset += 7; offset >>= 3;
15569 return offset;
15571 static int dissect_DAPSResponseInfoItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15572 int offset = 0;
15573 asn1_ctx_t asn1_ctx;
15574 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15575 offset = dissect_s1ap_DAPSResponseInfoItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_DAPSResponseInfoItem_PDU);
15576 offset += 7; offset >>= 3;
15577 return offset;
15579 static int dissect_DataCodingScheme_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15580 int offset = 0;
15581 asn1_ctx_t asn1_ctx;
15582 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15583 offset = dissect_s1ap_DataCodingScheme(tvb, offset, &asn1_ctx, tree, hf_s1ap_DataCodingScheme_PDU);
15584 offset += 7; offset >>= 3;
15585 return offset;
15587 static int dissect_DataSize_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15588 int offset = 0;
15589 asn1_ctx_t asn1_ctx;
15590 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15591 offset = dissect_s1ap_DataSize(tvb, offset, &asn1_ctx, tree, hf_s1ap_DataSize_PDU);
15592 offset += 7; offset >>= 3;
15593 return offset;
15595 static int dissect_DCN_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15596 int offset = 0;
15597 asn1_ctx_t asn1_ctx;
15598 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15599 offset = dissect_s1ap_DCN_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_DCN_ID_PDU);
15600 offset += 7; offset >>= 3;
15601 return offset;
15603 static int dissect_ServedDCNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15604 int offset = 0;
15605 asn1_ctx_t asn1_ctx;
15606 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15607 offset = dissect_s1ap_ServedDCNs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServedDCNs_PDU);
15608 offset += 7; offset >>= 3;
15609 return offset;
15611 static int dissect_DL_CP_SecurityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15612 int offset = 0;
15613 asn1_ctx_t asn1_ctx;
15614 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15615 offset = dissect_s1ap_DL_CP_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_DL_CP_SecurityInformation_PDU);
15616 offset += 7; offset >>= 3;
15617 return offset;
15619 static int dissect_Direct_Forwarding_Path_Availability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15620 int offset = 0;
15621 asn1_ctx_t asn1_ctx;
15622 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15623 offset = dissect_s1ap_Direct_Forwarding_Path_Availability(tvb, offset, &asn1_ctx, tree, hf_s1ap_Direct_Forwarding_Path_Availability_PDU);
15624 offset += 7; offset >>= 3;
15625 return offset;
15627 static int dissect_Data_Forwarding_Not_Possible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15628 int offset = 0;
15629 asn1_ctx_t asn1_ctx;
15630 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15631 offset = dissect_s1ap_Data_Forwarding_Not_Possible(tvb, offset, &asn1_ctx, tree, hf_s1ap_Data_Forwarding_Not_Possible_PDU);
15632 offset += 7; offset >>= 3;
15633 return offset;
15635 static int dissect_DLNASPDUDeliveryAckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15636 int offset = 0;
15637 asn1_ctx_t asn1_ctx;
15638 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15639 offset = dissect_s1ap_DLNASPDUDeliveryAckRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_DLNASPDUDeliveryAckRequest_PDU);
15640 offset += 7; offset >>= 3;
15641 return offset;
15643 static int dissect_PWSfailedECGIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15644 int offset = 0;
15645 asn1_ctx_t asn1_ctx;
15646 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15647 offset = dissect_s1ap_PWSfailedECGIList(tvb, offset, &asn1_ctx, tree, hf_s1ap_PWSfailedECGIList_PDU);
15648 offset += 7; offset >>= 3;
15649 return offset;
15651 static int dissect_EDT_Session_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15652 int offset = 0;
15653 asn1_ctx_t asn1_ctx;
15654 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15655 offset = dissect_s1ap_EDT_Session(tvb, offset, &asn1_ctx, tree, hf_s1ap_EDT_Session_PDU);
15656 offset += 7; offset >>= 3;
15657 return offset;
15659 static int dissect_EmergencyAreaIDListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15660 int offset = 0;
15661 asn1_ctx_t asn1_ctx;
15662 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15663 offset = dissect_s1ap_EmergencyAreaIDListForRestart(tvb, offset, &asn1_ctx, tree, hf_s1ap_EmergencyAreaIDListForRestart_PDU);
15664 offset += 7; offset >>= 3;
15665 return offset;
15667 static int dissect_EmergencyIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15668 int offset = 0;
15669 asn1_ctx_t asn1_ctx;
15670 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15671 offset = dissect_s1ap_EmergencyIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_EmergencyIndicator_PDU);
15672 offset += 7; offset >>= 3;
15673 return offset;
15675 static int dissect_ENB_EarlyStatusTransfer_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15676 int offset = 0;
15677 asn1_ctx_t asn1_ctx;
15678 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15679 offset = dissect_s1ap_ENB_EarlyStatusTransfer_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENB_EarlyStatusTransfer_TransparentContainer_PDU);
15680 offset += 7; offset >>= 3;
15681 return offset;
15683 int dissect_s1ap_Global_ENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15684 int offset = 0;
15685 asn1_ctx_t asn1_ctx;
15686 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15687 offset = dissect_s1ap_Global_ENB_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_Global_ENB_ID_PDU);
15688 offset += 7; offset >>= 3;
15689 return offset;
15691 static int dissect_GUMMEIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15692 int offset = 0;
15693 asn1_ctx_t asn1_ctx;
15694 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15695 offset = dissect_s1ap_GUMMEIList(tvb, offset, &asn1_ctx, tree, hf_s1ap_GUMMEIList_PDU);
15696 offset += 7; offset >>= 3;
15697 return offset;
15699 int dissect_s1ap_ENB_StatusTransfer_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15700 int offset = 0;
15701 asn1_ctx_t asn1_ctx;
15702 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15703 offset = dissect_s1ap_ENB_StatusTransfer_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU);
15704 offset += 7; offset >>= 3;
15705 return offset;
15707 static int dissect_ENB_UE_S1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15708 int offset = 0;
15709 asn1_ctx_t asn1_ctx;
15710 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15711 offset = dissect_s1ap_ENB_UE_S1AP_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENB_UE_S1AP_ID_PDU);
15712 offset += 7; offset >>= 3;
15713 return offset;
15715 static int dissect_ENBname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15716 int offset = 0;
15717 asn1_ctx_t asn1_ctx;
15718 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15719 offset = dissect_s1ap_ENBname(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBname_PDU);
15720 offset += 7; offset >>= 3;
15721 return offset;
15723 int dissect_s1ap_EN_DCSONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15724 int offset = 0;
15725 asn1_ctx_t asn1_ctx;
15726 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15727 offset = dissect_s1ap_EN_DCSONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_EN_DCSONConfigurationTransfer_PDU);
15728 offset += 7; offset >>= 3;
15729 return offset;
15731 static int dissect_EndIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15732 int offset = 0;
15733 asn1_ctx_t asn1_ctx;
15734 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15735 offset = dissect_s1ap_EndIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_EndIndication_PDU);
15736 offset += 7; offset >>= 3;
15737 return offset;
15739 static int dissect_EnhancedCoverageRestricted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15740 int offset = 0;
15741 asn1_ctx_t asn1_ctx;
15742 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15743 offset = dissect_s1ap_EnhancedCoverageRestricted(tvb, offset, &asn1_ctx, tree, hf_s1ap_EnhancedCoverageRestricted_PDU);
15744 offset += 7; offset >>= 3;
15745 return offset;
15747 static int dissect_CE_ModeBRestricted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15748 int offset = 0;
15749 asn1_ctx_t asn1_ctx;
15750 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15751 offset = dissect_s1ap_CE_ModeBRestricted(tvb, offset, &asn1_ctx, tree, hf_s1ap_CE_ModeBRestricted_PDU);
15752 offset += 7; offset >>= 3;
15753 return offset;
15755 static int dissect_E_RABInformationListItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15756 int offset = 0;
15757 asn1_ctx_t asn1_ctx;
15758 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15759 offset = dissect_s1ap_E_RABInformationListItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABInformationListItem_PDU);
15760 offset += 7; offset >>= 3;
15761 return offset;
15763 static int dissect_E_RABList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15764 int offset = 0;
15765 asn1_ctx_t asn1_ctx;
15766 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15767 offset = dissect_s1ap_E_RABList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABList_PDU);
15768 offset += 7; offset >>= 3;
15769 return offset;
15771 static int dissect_E_RABItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15772 int offset = 0;
15773 asn1_ctx_t asn1_ctx;
15774 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15775 offset = dissect_s1ap_E_RABItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABItem_PDU);
15776 offset += 7; offset >>= 3;
15777 return offset;
15779 static int dissect_E_RABLevelQoSParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15780 int offset = 0;
15781 asn1_ctx_t asn1_ctx;
15782 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15783 offset = dissect_s1ap_E_RABLevelQoSParameters(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABLevelQoSParameters_PDU);
15784 offset += 7; offset >>= 3;
15785 return offset;
15787 static int dissect_E_RABSecurityResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15788 int offset = 0;
15789 asn1_ctx_t asn1_ctx;
15790 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15791 offset = dissect_s1ap_E_RABSecurityResultList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSecurityResultList_PDU);
15792 offset += 7; offset >>= 3;
15793 return offset;
15795 static int dissect_E_RABSecurityResultItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15796 int offset = 0;
15797 asn1_ctx_t asn1_ctx;
15798 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15799 offset = dissect_s1ap_E_RABSecurityResultItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSecurityResultItem_PDU);
15800 offset += 7; offset >>= 3;
15801 return offset;
15803 static int dissect_E_RABUsageReportItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15804 int offset = 0;
15805 asn1_ctx_t asn1_ctx;
15806 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15807 offset = dissect_s1ap_E_RABUsageReportItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABUsageReportItem_PDU);
15808 offset += 7; offset >>= 3;
15809 return offset;
15811 static int dissect_Ethernet_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15812 int offset = 0;
15813 asn1_ctx_t asn1_ctx;
15814 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15815 offset = dissect_s1ap_Ethernet_Type(tvb, offset, &asn1_ctx, tree, hf_s1ap_Ethernet_Type_PDU);
15816 offset += 7; offset >>= 3;
15817 return offset;
15819 int dissect_s1ap_EUTRAN_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15820 int offset = 0;
15821 asn1_ctx_t asn1_ctx;
15822 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15823 offset = dissect_s1ap_EUTRAN_CGI(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_EUTRAN_CGI_PDU);
15824 offset += 7; offset >>= 3;
15825 return offset;
15827 static int dissect_EUTRANRoundTripDelayEstimationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15828 int offset = 0;
15829 asn1_ctx_t asn1_ctx;
15830 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15831 offset = dissect_s1ap_EUTRANRoundTripDelayEstimationInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_EUTRANRoundTripDelayEstimationInfo_PDU);
15832 offset += 7; offset >>= 3;
15833 return offset;
15835 static int dissect_ExpectedUEBehaviour_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15836 int offset = 0;
15837 asn1_ctx_t asn1_ctx;
15838 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15839 offset = dissect_s1ap_ExpectedUEBehaviour(tvb, offset, &asn1_ctx, tree, hf_s1ap_ExpectedUEBehaviour_PDU);
15840 offset += 7; offset >>= 3;
15841 return offset;
15843 static int dissect_ExtendedBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15844 int offset = 0;
15845 asn1_ctx_t asn1_ctx;
15846 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15847 offset = dissect_s1ap_ExtendedBitRate(tvb, offset, &asn1_ctx, tree, hf_s1ap_ExtendedBitRate_PDU);
15848 offset += 7; offset >>= 3;
15849 return offset;
15851 static int dissect_ExtendedRepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15852 int offset = 0;
15853 asn1_ctx_t asn1_ctx;
15854 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15855 offset = dissect_s1ap_ExtendedRepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_s1ap_ExtendedRepetitionPeriod_PDU);
15856 offset += 7; offset >>= 3;
15857 return offset;
15859 static int dissect_Extended_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15860 int offset = 0;
15861 asn1_ctx_t asn1_ctx;
15862 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15863 offset = dissect_s1ap_Extended_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_s1ap_Extended_UEIdentityIndexValue_PDU);
15864 offset += 7; offset >>= 3;
15865 return offset;
15867 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15868 int offset = 0;
15869 asn1_ctx_t asn1_ctx;
15870 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15871 offset = dissect_s1ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_s1ap_GUMMEI_PDU);
15872 offset += 7; offset >>= 3;
15873 return offset;
15875 static int dissect_GUMMEIType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15876 int offset = 0;
15877 asn1_ctx_t asn1_ctx;
15878 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15879 offset = dissect_s1ap_GUMMEIType(tvb, offset, &asn1_ctx, tree, hf_s1ap_GUMMEIType_PDU);
15880 offset += 7; offset >>= 3;
15881 return offset;
15883 static int dissect_GWContextReleaseIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15884 int offset = 0;
15885 asn1_ctx_t asn1_ctx;
15886 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15887 offset = dissect_s1ap_GWContextReleaseIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_GWContextReleaseIndication_PDU);
15888 offset += 7; offset >>= 3;
15889 return offset;
15891 static int dissect_HandoverFlag_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15892 int offset = 0;
15893 asn1_ctx_t asn1_ctx;
15894 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15895 offset = dissect_s1ap_HandoverFlag(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverFlag_PDU);
15896 offset += 7; offset >>= 3;
15897 return offset;
15899 int dissect_s1ap_HandoverRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15900 int offset = 0;
15901 asn1_ctx_t asn1_ctx;
15902 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15903 offset = dissect_s1ap_HandoverRestrictionList(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_HandoverRestrictionList_PDU);
15904 offset += 7; offset >>= 3;
15905 return offset;
15907 static int dissect_HandoverType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15908 int offset = 0;
15909 asn1_ctx_t asn1_ctx;
15910 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15911 offset = dissect_s1ap_HandoverType(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverType_PDU);
15912 offset += 7; offset >>= 3;
15913 return offset;
15915 static int dissect_Masked_IMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15916 int offset = 0;
15917 asn1_ctx_t asn1_ctx;
15918 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15919 offset = dissect_s1ap_Masked_IMEISV(tvb, offset, &asn1_ctx, tree, hf_s1ap_Masked_IMEISV_PDU);
15920 offset += 7; offset >>= 3;
15921 return offset;
15923 static int dissect_InformationOnRecommendedCellsAndENBsForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15924 int offset = 0;
15925 asn1_ctx_t asn1_ctx;
15926 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15927 offset = dissect_s1ap_InformationOnRecommendedCellsAndENBsForPaging(tvb, offset, &asn1_ctx, tree, hf_s1ap_InformationOnRecommendedCellsAndENBsForPaging_PDU);
15928 offset += 7; offset >>= 3;
15929 return offset;
15931 static int dissect_IntersystemMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15932 int offset = 0;
15933 asn1_ctx_t asn1_ctx;
15934 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15935 offset = dissect_s1ap_IntersystemMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_s1ap_IntersystemMeasurementConfiguration_PDU);
15936 offset += 7; offset >>= 3;
15937 return offset;
15939 int dissect_s1ap_IntersystemSONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15940 int offset = 0;
15941 asn1_ctx_t asn1_ctx;
15942 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15943 offset = dissect_s1ap_IntersystemSONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_IntersystemSONConfigurationTransfer_PDU);
15944 offset += 7; offset >>= 3;
15945 return offset;
15947 static int dissect_IMSvoiceEPSfallbackfrom5G_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15948 int offset = 0;
15949 asn1_ctx_t asn1_ctx;
15950 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15951 offset = dissect_s1ap_IMSvoiceEPSfallbackfrom5G(tvb, offset, &asn1_ctx, tree, hf_s1ap_IMSvoiceEPSfallbackfrom5G_PDU);
15952 offset += 7; offset >>= 3;
15953 return offset;
15955 static int dissect_IAB_Authorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15956 int offset = 0;
15957 asn1_ctx_t asn1_ctx;
15958 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15959 offset = dissect_s1ap_IAB_Authorized(tvb, offset, &asn1_ctx, tree, hf_s1ap_IAB_Authorized_PDU);
15960 offset += 7; offset >>= 3;
15961 return offset;
15963 static int dissect_IAB_Node_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15964 int offset = 0;
15965 asn1_ctx_t asn1_ctx;
15966 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15967 offset = dissect_s1ap_IAB_Node_Indication(tvb, offset, &asn1_ctx, tree, hf_s1ap_IAB_Node_Indication_PDU);
15968 offset += 7; offset >>= 3;
15969 return offset;
15971 static int dissect_IAB_Supported_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15972 int offset = 0;
15973 asn1_ctx_t asn1_ctx;
15974 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15975 offset = dissect_s1ap_IAB_Supported(tvb, offset, &asn1_ctx, tree, hf_s1ap_IAB_Supported_PDU);
15976 offset += 7; offset >>= 3;
15977 return offset;
15979 static int dissect_KillAllWarningMessages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15980 int offset = 0;
15981 asn1_ctx_t asn1_ctx;
15982 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15983 offset = dissect_s1ap_KillAllWarningMessages(tvb, offset, &asn1_ctx, tree, hf_s1ap_KillAllWarningMessages_PDU);
15984 offset += 7; offset >>= 3;
15985 return offset;
15987 static int dissect_LAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15988 int offset = 0;
15989 asn1_ctx_t asn1_ctx;
15990 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15991 offset = dissect_s1ap_LAI(tvb, offset, &asn1_ctx, tree, hf_s1ap_LAI_PDU);
15992 offset += 7; offset >>= 3;
15993 return offset;
15995 int dissect_s1ap_LastVisitedEUTRANCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15996 int offset = 0;
15997 asn1_ctx_t asn1_ctx;
15998 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
15999 offset = dissect_s1ap_LastVisitedEUTRANCellInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_LastVisitedEUTRANCellInformation_PDU);
16000 offset += 7; offset >>= 3;
16001 return offset;
16003 static int dissect_LastVisitedPSCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16004 int offset = 0;
16005 asn1_ctx_t asn1_ctx;
16006 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16007 offset = dissect_s1ap_LastVisitedPSCellList(tvb, offset, &asn1_ctx, tree, hf_s1ap_LastVisitedPSCellList_PDU);
16008 offset += 7; offset >>= 3;
16009 return offset;
16011 int dissect_s1ap_LastVisitedGERANCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16012 int offset = 0;
16013 asn1_ctx_t asn1_ctx;
16014 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16015 offset = dissect_s1ap_LastVisitedGERANCellInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_LastVisitedGERANCellInformation_PDU);
16016 offset += 7; offset >>= 3;
16017 return offset;
16019 static int dissect_LPPa_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16020 int offset = 0;
16021 asn1_ctx_t asn1_ctx;
16022 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16023 offset = dissect_s1ap_LPPa_PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_LPPa_PDU_PDU);
16024 offset += 7; offset >>= 3;
16025 return offset;
16027 static int dissect_LHN_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16028 int offset = 0;
16029 asn1_ctx_t asn1_ctx;
16030 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16031 offset = dissect_s1ap_LHN_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_LHN_ID_PDU);
16032 offset += 7; offset >>= 3;
16033 return offset;
16035 static int dissect_LoggedMBSFNMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16036 int offset = 0;
16037 asn1_ctx_t asn1_ctx;
16038 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16039 offset = dissect_s1ap_LoggedMBSFNMDT(tvb, offset, &asn1_ctx, tree, hf_s1ap_LoggedMBSFNMDT_PDU);
16040 offset += 7; offset >>= 3;
16041 return offset;
16043 static int dissect_LoggedMDTTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16044 int offset = 0;
16045 asn1_ctx_t asn1_ctx;
16046 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16047 offset = dissect_s1ap_LoggedMDTTrigger(tvb, offset, &asn1_ctx, tree, hf_s1ap_LoggedMDTTrigger_PDU);
16048 offset += 7; offset >>= 3;
16049 return offset;
16051 static int dissect_LTE_M_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16052 int offset = 0;
16053 asn1_ctx_t asn1_ctx;
16054 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16055 offset = dissect_s1ap_LTE_M_Indication(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTE_M_Indication_PDU);
16056 offset += 7; offset >>= 3;
16057 return offset;
16059 static int dissect_LTE_NTN_TAI_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16060 int offset = 0;
16061 asn1_ctx_t asn1_ctx;
16062 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16063 offset = dissect_s1ap_LTE_NTN_TAI_Information(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTE_NTN_TAI_Information_PDU);
16064 offset += 7; offset >>= 3;
16065 return offset;
16067 static int dissect_M3Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16068 int offset = 0;
16069 asn1_ctx_t asn1_ctx;
16070 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16071 offset = dissect_s1ap_M3Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_M3Configuration_PDU);
16072 offset += 7; offset >>= 3;
16073 return offset;
16075 static int dissect_M4Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16076 int offset = 0;
16077 asn1_ctx_t asn1_ctx;
16078 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16079 offset = dissect_s1ap_M4Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_M4Configuration_PDU);
16080 offset += 7; offset >>= 3;
16081 return offset;
16083 static int dissect_M4ReportAmountMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16084 int offset = 0;
16085 asn1_ctx_t asn1_ctx;
16086 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16087 offset = dissect_s1ap_M4ReportAmountMDT(tvb, offset, &asn1_ctx, tree, hf_s1ap_M4ReportAmountMDT_PDU);
16088 offset += 7; offset >>= 3;
16089 return offset;
16091 static int dissect_M5Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16092 int offset = 0;
16093 asn1_ctx_t asn1_ctx;
16094 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16095 offset = dissect_s1ap_M5Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_M5Configuration_PDU);
16096 offset += 7; offset >>= 3;
16097 return offset;
16099 static int dissect_M5ReportAmountMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16100 int offset = 0;
16101 asn1_ctx_t asn1_ctx;
16102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16103 offset = dissect_s1ap_M5ReportAmountMDT(tvb, offset, &asn1_ctx, tree, hf_s1ap_M5ReportAmountMDT_PDU);
16104 offset += 7; offset >>= 3;
16105 return offset;
16107 static int dissect_M6Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16108 int offset = 0;
16109 asn1_ctx_t asn1_ctx;
16110 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16111 offset = dissect_s1ap_M6Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_M6Configuration_PDU);
16112 offset += 7; offset >>= 3;
16113 return offset;
16115 static int dissect_M6ReportAmountMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16116 int offset = 0;
16117 asn1_ctx_t asn1_ctx;
16118 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16119 offset = dissect_s1ap_M6ReportAmountMDT(tvb, offset, &asn1_ctx, tree, hf_s1ap_M6ReportAmountMDT_PDU);
16120 offset += 7; offset >>= 3;
16121 return offset;
16123 static int dissect_M7Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16124 int offset = 0;
16125 asn1_ctx_t asn1_ctx;
16126 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16127 offset = dissect_s1ap_M7Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_M7Configuration_PDU);
16128 offset += 7; offset >>= 3;
16129 return offset;
16131 static int dissect_M7ReportAmountMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16132 int offset = 0;
16133 asn1_ctx_t asn1_ctx;
16134 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16135 offset = dissect_s1ap_M7ReportAmountMDT(tvb, offset, &asn1_ctx, tree, hf_s1ap_M7ReportAmountMDT_PDU);
16136 offset += 7; offset >>= 3;
16137 return offset;
16139 static int dissect_MDT_Location_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16140 int offset = 0;
16141 asn1_ctx_t asn1_ctx;
16142 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16143 offset = dissect_s1ap_MDT_Location_Info(tvb, offset, &asn1_ctx, tree, hf_s1ap_MDT_Location_Info_PDU);
16144 offset += 7; offset >>= 3;
16145 return offset;
16147 static int dissect_MDT_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16148 int offset = 0;
16149 asn1_ctx_t asn1_ctx;
16150 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16151 offset = dissect_s1ap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_MDT_Configuration_PDU);
16152 offset += 7; offset >>= 3;
16153 return offset;
16155 static int dissect_ManagementBasedMDTAllowed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16156 int offset = 0;
16157 asn1_ctx_t asn1_ctx;
16158 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16159 offset = dissect_s1ap_ManagementBasedMDTAllowed(tvb, offset, &asn1_ctx, tree, hf_s1ap_ManagementBasedMDTAllowed_PDU);
16160 offset += 7; offset >>= 3;
16161 return offset;
16163 static int dissect_MDTPLMNList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16164 int offset = 0;
16165 asn1_ctx_t asn1_ctx;
16166 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16167 offset = dissect_s1ap_MDTPLMNList(tvb, offset, &asn1_ctx, tree, hf_s1ap_MDTPLMNList_PDU);
16168 offset += 7; offset >>= 3;
16169 return offset;
16171 static int dissect_PrivacyIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16172 int offset = 0;
16173 asn1_ctx_t asn1_ctx;
16174 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16175 offset = dissect_s1ap_PrivacyIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_PrivacyIndicator_PDU);
16176 offset += 7; offset >>= 3;
16177 return offset;
16179 int dissect_s1ap_MDTMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16180 int offset = 0;
16181 asn1_ctx_t asn1_ctx;
16182 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16183 offset = dissect_s1ap_MDTMode(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_MDTMode_PDU);
16184 offset += 7; offset >>= 3;
16185 return offset;
16187 static int dissect_MessageIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16188 int offset = 0;
16189 asn1_ctx_t asn1_ctx;
16190 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16191 offset = dissect_s1ap_MessageIdentifier(tvb, offset, &asn1_ctx, tree, hf_s1ap_MessageIdentifier_PDU);
16192 offset += 7; offset >>= 3;
16193 return offset;
16195 static int dissect_MobilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16196 int offset = 0;
16197 asn1_ctx_t asn1_ctx;
16198 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16199 offset = dissect_s1ap_MobilityInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_MobilityInformation_PDU);
16200 offset += 7; offset >>= 3;
16201 return offset;
16203 static int dissect_MMEname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16204 int offset = 0;
16205 asn1_ctx_t asn1_ctx;
16206 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16207 offset = dissect_s1ap_MMEname(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEname_PDU);
16208 offset += 7; offset >>= 3;
16209 return offset;
16211 static int dissect_MMERelaySupportIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16212 int offset = 0;
16213 asn1_ctx_t asn1_ctx;
16214 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16215 offset = dissect_s1ap_MMERelaySupportIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMERelaySupportIndicator_PDU);
16216 offset += 7; offset >>= 3;
16217 return offset;
16219 static int dissect_MME_Group_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16220 int offset = 0;
16221 asn1_ctx_t asn1_ctx;
16222 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16223 offset = dissect_s1ap_MME_Group_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_MME_Group_ID_PDU);
16224 offset += 7; offset >>= 3;
16225 return offset;
16227 static int dissect_MME_UE_S1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16228 int offset = 0;
16229 asn1_ctx_t asn1_ctx;
16230 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16231 offset = dissect_s1ap_MME_UE_S1AP_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_MME_UE_S1AP_ID_PDU);
16232 offset += 7; offset >>= 3;
16233 return offset;
16235 static int dissect_MSClassmark2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16236 int offset = 0;
16237 asn1_ctx_t asn1_ctx;
16238 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16239 offset = dissect_s1ap_MSClassmark2(tvb, offset, &asn1_ctx, tree, hf_s1ap_MSClassmark2_PDU);
16240 offset += 7; offset >>= 3;
16241 return offset;
16243 static int dissect_MSClassmark3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16244 int offset = 0;
16245 asn1_ctx_t asn1_ctx;
16246 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16247 offset = dissect_s1ap_MSClassmark3(tvb, offset, &asn1_ctx, tree, hf_s1ap_MSClassmark3_PDU);
16248 offset += 7; offset >>= 3;
16249 return offset;
16251 static int dissect_MutingAvailabilityIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16252 int offset = 0;
16253 asn1_ctx_t asn1_ctx;
16254 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16255 offset = dissect_s1ap_MutingAvailabilityIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_MutingAvailabilityIndication_PDU);
16256 offset += 7; offset >>= 3;
16257 return offset;
16259 static int dissect_MutingPatternInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16260 int offset = 0;
16261 asn1_ctx_t asn1_ctx;
16262 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16263 offset = dissect_s1ap_MutingPatternInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_MutingPatternInformation_PDU);
16264 offset += 7; offset >>= 3;
16265 return offset;
16267 static int dissect_MDT_ConfigurationNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16268 int offset = 0;
16269 asn1_ctx_t asn1_ctx;
16270 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16271 offset = dissect_s1ap_MDT_ConfigurationNR(tvb, offset, &asn1_ctx, tree, hf_s1ap_MDT_ConfigurationNR_PDU);
16272 offset += 7; offset >>= 3;
16273 return offset;
16275 static int dissect_NAS_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16276 int offset = 0;
16277 asn1_ctx_t asn1_ctx;
16278 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16279 offset = dissect_s1ap_NAS_PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_NAS_PDU_PDU);
16280 offset += 7; offset >>= 3;
16281 return offset;
16283 static int dissect_NASSecurityParametersfromE_UTRAN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16284 int offset = 0;
16285 asn1_ctx_t asn1_ctx;
16286 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16287 offset = dissect_s1ap_NASSecurityParametersfromE_UTRAN(tvb, offset, &asn1_ctx, tree, hf_s1ap_NASSecurityParametersfromE_UTRAN_PDU);
16288 offset += 7; offset >>= 3;
16289 return offset;
16291 static int dissect_NASSecurityParameterstoE_UTRAN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16292 int offset = 0;
16293 asn1_ctx_t asn1_ctx;
16294 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16295 offset = dissect_s1ap_NASSecurityParameterstoE_UTRAN(tvb, offset, &asn1_ctx, tree, hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU);
16296 offset += 7; offset >>= 3;
16297 return offset;
16299 static int dissect_NB_IoT_DefaultPagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16300 int offset = 0;
16301 asn1_ctx_t asn1_ctx;
16302 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16303 offset = dissect_s1ap_NB_IoT_DefaultPagingDRX(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_DefaultPagingDRX_PDU);
16304 offset += 7; offset >>= 3;
16305 return offset;
16307 static int dissect_NB_IoT_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16308 int offset = 0;
16309 asn1_ctx_t asn1_ctx;
16310 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16311 offset = dissect_s1ap_NB_IoT_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_PagingDRX_PDU);
16312 offset += 7; offset >>= 3;
16313 return offset;
16315 static int dissect_NB_IoT_Paging_eDRXInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16316 int offset = 0;
16317 asn1_ctx_t asn1_ctx;
16318 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16319 offset = dissect_s1ap_NB_IoT_Paging_eDRXInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU);
16320 offset += 7; offset >>= 3;
16321 return offset;
16323 static int dissect_NB_IoT_RLF_Report_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16324 int offset = 0;
16325 asn1_ctx_t asn1_ctx;
16326 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16327 offset = dissect_s1ap_NB_IoT_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_RLF_Report_Container_PDU);
16328 offset += 7; offset >>= 3;
16329 return offset;
16331 static int dissect_NB_IoT_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16332 int offset = 0;
16333 asn1_ctx_t asn1_ctx;
16334 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16335 offset = dissect_s1ap_NB_IoT_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_UEIdentityIndexValue_PDU);
16336 offset += 7; offset >>= 3;
16337 return offset;
16339 static int dissect_NotifySourceeNB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16340 int offset = 0;
16341 asn1_ctx_t asn1_ctx;
16342 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16343 offset = dissect_s1ap_NotifySourceeNB(tvb, offset, &asn1_ctx, tree, hf_s1ap_NotifySourceeNB_PDU);
16344 offset += 7; offset >>= 3;
16345 return offset;
16347 static int dissect_NRrestrictioninEPSasSecondaryRAT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16348 int offset = 0;
16349 asn1_ctx_t asn1_ctx;
16350 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16351 offset = dissect_s1ap_NRrestrictioninEPSasSecondaryRAT(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRrestrictioninEPSasSecondaryRAT_PDU);
16352 offset += 7; offset >>= 3;
16353 return offset;
16355 static int dissect_NRrestrictionin5GS_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16356 int offset = 0;
16357 asn1_ctx_t asn1_ctx;
16358 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16359 offset = dissect_s1ap_NRrestrictionin5GS(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRrestrictionin5GS_PDU);
16360 offset += 7; offset >>= 3;
16361 return offset;
16363 static int dissect_NRUESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16364 int offset = 0;
16365 asn1_ctx_t asn1_ctx;
16366 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16367 offset = dissect_s1ap_NRUESecurityCapabilities(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRUESecurityCapabilities_PDU);
16368 offset += 7; offset >>= 3;
16369 return offset;
16371 static int dissect_NumberofBroadcastRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16372 int offset = 0;
16373 asn1_ctx_t asn1_ctx;
16374 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16375 offset = dissect_s1ap_NumberofBroadcastRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_NumberofBroadcastRequest_PDU);
16376 offset += 7; offset >>= 3;
16377 return offset;
16379 static int dissect_NRV2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16380 int offset = 0;
16381 asn1_ctx_t asn1_ctx;
16382 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16383 offset = dissect_s1ap_NRV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRV2XServicesAuthorized_PDU);
16384 offset += 7; offset >>= 3;
16385 return offset;
16387 static int dissect_NRUESidelinkAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16388 int offset = 0;
16389 asn1_ctx_t asn1_ctx;
16390 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16391 offset = dissect_s1ap_NRUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRUESidelinkAggregateMaximumBitrate_PDU);
16392 offset += 7; offset >>= 3;
16393 return offset;
16395 static int dissect_OverloadResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16396 int offset = 0;
16397 asn1_ctx_t asn1_ctx;
16398 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16399 offset = dissect_s1ap_OverloadResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_OverloadResponse_PDU);
16400 offset += 7; offset >>= 3;
16401 return offset;
16403 static int dissect_Packet_LossRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16404 int offset = 0;
16405 asn1_ctx_t asn1_ctx;
16406 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16407 offset = dissect_s1ap_Packet_LossRate(tvb, offset, &asn1_ctx, tree, hf_s1ap_Packet_LossRate_PDU);
16408 offset += 7; offset >>= 3;
16409 return offset;
16411 static int dissect_Paging_eDRXInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16412 int offset = 0;
16413 asn1_ctx_t asn1_ctx;
16414 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16415 offset = dissect_s1ap_Paging_eDRXInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_Paging_eDRXInformation_PDU);
16416 offset += 7; offset >>= 3;
16417 return offset;
16419 static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16420 int offset = 0;
16421 asn1_ctx_t asn1_ctx;
16422 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16423 offset = dissect_s1ap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_s1ap_PagingDRX_PDU);
16424 offset += 7; offset >>= 3;
16425 return offset;
16427 static int dissect_PagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16428 int offset = 0;
16429 asn1_ctx_t asn1_ctx;
16430 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16431 offset = dissect_s1ap_PagingPriority(tvb, offset, &asn1_ctx, tree, hf_s1ap_PagingPriority_PDU);
16432 offset += 7; offset >>= 3;
16433 return offset;
16435 static int dissect_PagingCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16436 int offset = 0;
16437 asn1_ctx_t asn1_ctx;
16438 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16439 offset = dissect_s1ap_PagingCause(tvb, offset, &asn1_ctx, tree, hf_s1ap_PagingCause_PDU);
16440 offset += 7; offset >>= 3;
16441 return offset;
16443 static int dissect_PC5QoSParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16444 int offset = 0;
16445 asn1_ctx_t asn1_ctx;
16446 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16447 offset = dissect_s1ap_PC5QoSParameters(tvb, offset, &asn1_ctx, tree, hf_s1ap_PC5QoSParameters_PDU);
16448 offset += 7; offset >>= 3;
16449 return offset;
16451 static int dissect_PendingDataIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16452 int offset = 0;
16453 asn1_ctx_t asn1_ctx;
16454 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16455 offset = dissect_s1ap_PendingDataIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_PendingDataIndication_PDU);
16456 offset += 7; offset >>= 3;
16457 return offset;
16459 static int dissect_PLMNidentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16460 int offset = 0;
16461 asn1_ctx_t asn1_ctx;
16462 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16463 offset = dissect_s1ap_PLMNidentity(tvb, offset, &asn1_ctx, tree, hf_s1ap_PLMNidentity_PDU);
16464 offset += 7; offset >>= 3;
16465 return offset;
16467 static int dissect_ProSeAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16468 int offset = 0;
16469 asn1_ctx_t asn1_ctx;
16470 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16471 offset = dissect_s1ap_ProSeAuthorized(tvb, offset, &asn1_ctx, tree, hf_s1ap_ProSeAuthorized_PDU);
16472 offset += 7; offset >>= 3;
16473 return offset;
16475 static int dissect_ProSeUEtoNetworkRelaying_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16476 int offset = 0;
16477 asn1_ctx_t asn1_ctx;
16478 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16479 offset = dissect_s1ap_ProSeUEtoNetworkRelaying(tvb, offset, &asn1_ctx, tree, hf_s1ap_ProSeUEtoNetworkRelaying_PDU);
16480 offset += 7; offset >>= 3;
16481 return offset;
16483 static int dissect_PS_ServiceNotAvailable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16484 int offset = 0;
16485 asn1_ctx_t asn1_ctx;
16486 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16487 offset = dissect_s1ap_PS_ServiceNotAvailable(tvb, offset, &asn1_ctx, tree, hf_s1ap_PS_ServiceNotAvailable_PDU);
16488 offset += 7; offset >>= 3;
16489 return offset;
16491 int dissect_s1ap_PSCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16492 int offset = 0;
16493 asn1_ctx_t asn1_ctx;
16494 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16495 offset = dissect_s1ap_PSCellInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_PSCellInformation_PDU);
16496 offset += 7; offset >>= 3;
16497 return offset;
16499 static int dissect_RACSIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16500 int offset = 0;
16501 asn1_ctx_t asn1_ctx;
16502 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16503 offset = dissect_s1ap_RACSIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_RACSIndication_PDU);
16504 offset += 7; offset >>= 3;
16505 return offset;
16507 static int dissect_ReceiveStatusOfULPDCPSDUsExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16508 int offset = 0;
16509 asn1_ctx_t asn1_ctx;
16510 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16511 offset = dissect_s1ap_ReceiveStatusOfULPDCPSDUsExtended(tvb, offset, &asn1_ctx, tree, hf_s1ap_ReceiveStatusOfULPDCPSDUsExtended_PDU);
16512 offset += 7; offset >>= 3;
16513 return offset;
16515 static int dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16516 int offset = 0;
16517 asn1_ctx_t asn1_ctx;
16518 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16519 offset = dissect_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18(tvb, offset, &asn1_ctx, tree, hf_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU);
16520 offset += 7; offset >>= 3;
16521 return offset;
16523 static int dissect_RecommendedCellItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16524 int offset = 0;
16525 asn1_ctx_t asn1_ctx;
16526 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16527 offset = dissect_s1ap_RecommendedCellItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_RecommendedCellItem_PDU);
16528 offset += 7; offset >>= 3;
16529 return offset;
16531 static int dissect_RecommendedENBItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16532 int offset = 0;
16533 asn1_ctx_t asn1_ctx;
16534 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16535 offset = dissect_s1ap_RecommendedENBItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_RecommendedENBItem_PDU);
16536 offset += 7; offset >>= 3;
16537 return offset;
16539 static int dissect_RelativeMMECapacity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16540 int offset = 0;
16541 asn1_ctx_t asn1_ctx;
16542 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16543 offset = dissect_s1ap_RelativeMMECapacity(tvb, offset, &asn1_ctx, tree, hf_s1ap_RelativeMMECapacity_PDU);
16544 offset += 7; offset >>= 3;
16545 return offset;
16547 static int dissect_RelayNode_Indicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16548 int offset = 0;
16549 asn1_ctx_t asn1_ctx;
16550 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16551 offset = dissect_s1ap_RelayNode_Indicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_RelayNode_Indicator_PDU);
16552 offset += 7; offset >>= 3;
16553 return offset;
16555 static int dissect_RAT_Restrictions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16556 int offset = 0;
16557 asn1_ctx_t asn1_ctx;
16558 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16559 offset = dissect_s1ap_RAT_Restrictions(tvb, offset, &asn1_ctx, tree, hf_s1ap_RAT_Restrictions_PDU);
16560 offset += 7; offset >>= 3;
16561 return offset;
16563 static int dissect_RAT_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16564 int offset = 0;
16565 asn1_ctx_t asn1_ctx;
16566 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16567 offset = dissect_s1ap_RAT_Type(tvb, offset, &asn1_ctx, tree, hf_s1ap_RAT_Type_PDU);
16568 offset += 7; offset >>= 3;
16569 return offset;
16571 static int dissect_RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16572 int offset = 0;
16573 asn1_ctx_t asn1_ctx;
16574 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16575 offset = dissect_s1ap_RequestType(tvb, offset, &asn1_ctx, tree, hf_s1ap_RequestType_PDU);
16576 offset += 7; offset >>= 3;
16577 return offset;
16579 static int dissect_RequestTypeAdditionalInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16580 int offset = 0;
16581 asn1_ctx_t asn1_ctx;
16582 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16583 offset = dissect_s1ap_RequestTypeAdditionalInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_RequestTypeAdditionalInfo_PDU);
16584 offset += 7; offset >>= 3;
16585 return offset;
16587 static int dissect_RepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16588 int offset = 0;
16589 asn1_ctx_t asn1_ctx;
16590 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16591 offset = dissect_s1ap_RepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_s1ap_RepetitionPeriod_PDU);
16592 offset += 7; offset >>= 3;
16593 return offset;
16595 static int dissect_RRC_Establishment_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16596 int offset = 0;
16597 asn1_ctx_t asn1_ctx;
16598 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16599 offset = dissect_s1ap_RRC_Establishment_Cause(tvb, offset, &asn1_ctx, tree, hf_s1ap_RRC_Establishment_Cause_PDU);
16600 offset += 7; offset >>= 3;
16601 return offset;
16603 static int dissect_ECGIListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16604 int offset = 0;
16605 asn1_ctx_t asn1_ctx;
16606 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16607 offset = dissect_s1ap_ECGIListForRestart(tvb, offset, &asn1_ctx, tree, hf_s1ap_ECGIListForRestart_PDU);
16608 offset += 7; offset >>= 3;
16609 return offset;
16611 static int dissect_Routing_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16612 int offset = 0;
16613 asn1_ctx_t asn1_ctx;
16614 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16615 offset = dissect_s1ap_Routing_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Routing_ID_PDU);
16616 offset += 7; offset >>= 3;
16617 return offset;
16619 static int dissect_SecurityKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16620 int offset = 0;
16621 asn1_ctx_t asn1_ctx;
16622 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16623 offset = dissect_s1ap_SecurityKey(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecurityKey_PDU);
16624 offset += 7; offset >>= 3;
16625 return offset;
16627 static int dissect_SecurityContext_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16628 int offset = 0;
16629 asn1_ctx_t asn1_ctx;
16630 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16631 offset = dissect_s1ap_SecurityContext(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecurityContext_PDU);
16632 offset += 7; offset >>= 3;
16633 return offset;
16635 static int dissect_SecondaryRATDataUsageRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16636 int offset = 0;
16637 asn1_ctx_t asn1_ctx;
16638 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16639 offset = dissect_s1ap_SecondaryRATDataUsageRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecondaryRATDataUsageRequest_PDU);
16640 offset += 7; offset >>= 3;
16641 return offset;
16643 static int dissect_SecondaryRATDataUsageReportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16644 int offset = 0;
16645 asn1_ctx_t asn1_ctx;
16646 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16647 offset = dissect_s1ap_SecondaryRATDataUsageReportList(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecondaryRATDataUsageReportList_PDU);
16648 offset += 7; offset >>= 3;
16649 return offset;
16651 static int dissect_SecondaryRATDataUsageReportItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16652 int offset = 0;
16653 asn1_ctx_t asn1_ctx;
16654 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16655 offset = dissect_s1ap_SecondaryRATDataUsageReportItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecondaryRATDataUsageReportItem_PDU);
16656 offset += 7; offset >>= 3;
16657 return offset;
16659 static int dissect_SecurityIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16660 int offset = 0;
16661 asn1_ctx_t asn1_ctx;
16662 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16663 offset = dissect_s1ap_SecurityIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecurityIndication_PDU);
16664 offset += 7; offset >>= 3;
16665 return offset;
16667 static int dissect_SensorMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16668 int offset = 0;
16669 asn1_ctx_t asn1_ctx;
16670 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16671 offset = dissect_s1ap_SensorMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_s1ap_SensorMeasurementConfiguration_PDU);
16672 offset += 7; offset >>= 3;
16673 return offset;
16675 static int dissect_SerialNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16676 int offset = 0;
16677 asn1_ctx_t asn1_ctx;
16678 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16679 offset = dissect_s1ap_SerialNumber(tvb, offset, &asn1_ctx, tree, hf_s1ap_SerialNumber_PDU);
16680 offset += 7; offset >>= 3;
16681 return offset;
16683 static int dissect_ServiceType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16684 int offset = 0;
16685 asn1_ctx_t asn1_ctx;
16686 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16687 offset = dissect_s1ap_ServiceType(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServiceType_PDU);
16688 offset += 7; offset >>= 3;
16689 return offset;
16691 static int dissect_SONInformationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16692 int offset = 0;
16693 asn1_ctx_t asn1_ctx;
16694 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16695 offset = dissect_s1ap_SONInformationReport(tvb, offset, &asn1_ctx, tree, hf_s1ap_SONInformationReport_PDU);
16696 offset += 7; offset >>= 3;
16697 return offset;
16699 int dissect_s1ap_SONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16700 int offset = 0;
16701 asn1_ctx_t asn1_ctx;
16702 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16703 offset = dissect_s1ap_SONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONConfigurationTransfer_PDU);
16704 offset += 7; offset >>= 3;
16705 return offset;
16707 static int dissect_SynchronisationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16708 int offset = 0;
16709 asn1_ctx_t asn1_ctx;
16710 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16711 offset = dissect_s1ap_SynchronisationInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_SynchronisationInformation_PDU);
16712 offset += 7; offset >>= 3;
16713 return offset;
16715 static int dissect_Source_ToTarget_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16716 int offset = 0;
16717 asn1_ctx_t asn1_ctx;
16718 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16719 offset = dissect_s1ap_Source_ToTarget_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_Source_ToTarget_TransparentContainer_PDU);
16720 offset += 7; offset >>= 3;
16721 return offset;
16723 static int dissect_SRVCCOperationNotPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16724 int offset = 0;
16725 asn1_ctx_t asn1_ctx;
16726 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16727 offset = dissect_s1ap_SRVCCOperationNotPossible(tvb, offset, &asn1_ctx, tree, hf_s1ap_SRVCCOperationNotPossible_PDU);
16728 offset += 7; offset >>= 3;
16729 return offset;
16731 static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16732 int offset = 0;
16733 asn1_ctx_t asn1_ctx;
16734 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16735 offset = dissect_s1ap_SRVCCOperationPossible(tvb, offset, &asn1_ctx, tree, hf_s1ap_SRVCCOperationPossible_PDU);
16736 offset += 7; offset >>= 3;
16737 return offset;
16739 static int dissect_SRVCCHOIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16740 int offset = 0;
16741 asn1_ctx_t asn1_ctx;
16742 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16743 offset = dissect_s1ap_SRVCCHOIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_SRVCCHOIndication_PDU);
16744 offset += 7; offset >>= 3;
16745 return offset;
16747 static int dissect_SourceNodeID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16748 int offset = 0;
16749 asn1_ctx_t asn1_ctx;
16750 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16751 offset = dissect_s1ap_SourceNodeID(tvb, offset, &asn1_ctx, tree, hf_s1ap_SourceNodeID_PDU);
16752 offset += 7; offset >>= 3;
16753 return offset;
16755 int dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16756 int offset = 0;
16757 asn1_ctx_t asn1_ctx;
16758 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16759 offset = dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU);
16760 offset += 7; offset >>= 3;
16761 return offset;
16763 static int dissect_ServedGUMMEIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16764 int offset = 0;
16765 asn1_ctx_t asn1_ctx;
16766 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16767 offset = dissect_s1ap_ServedGUMMEIs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServedGUMMEIs_PDU);
16768 offset += 7; offset >>= 3;
16769 return offset;
16771 static int dissect_ServedPLMNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16772 int offset = 0;
16773 asn1_ctx_t asn1_ctx;
16774 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16775 offset = dissect_s1ap_ServedPLMNs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServedPLMNs_PDU);
16776 offset += 7; offset >>= 3;
16777 return offset;
16779 static int dissect_SubscriberProfileIDforRFP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16780 int offset = 0;
16781 asn1_ctx_t asn1_ctx;
16782 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16783 offset = dissect_s1ap_SubscriberProfileIDforRFP(tvb, offset, &asn1_ctx, tree, hf_s1ap_SubscriberProfileIDforRFP_PDU);
16784 offset += 7; offset >>= 3;
16785 return offset;
16787 static int dissect_Subscription_Based_UE_DifferentiationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16788 int offset = 0;
16789 asn1_ctx_t asn1_ctx;
16790 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16791 offset = dissect_s1ap_Subscription_Based_UE_DifferentiationInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_Subscription_Based_UE_DifferentiationInfo_PDU);
16792 offset += 7; offset >>= 3;
16793 return offset;
16795 static int dissect_SupportedTAs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16796 int offset = 0;
16797 asn1_ctx_t asn1_ctx;
16798 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16799 offset = dissect_s1ap_SupportedTAs(tvb, offset, &asn1_ctx, tree, hf_s1ap_SupportedTAs_PDU);
16800 offset += 7; offset >>= 3;
16801 return offset;
16803 static int dissect_TimeSynchronisationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16804 int offset = 0;
16805 asn1_ctx_t asn1_ctx;
16806 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16807 offset = dissect_s1ap_TimeSynchronisationInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_TimeSynchronisationInfo_PDU);
16808 offset += 7; offset >>= 3;
16809 return offset;
16811 static int dissect_S_TMSI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16812 int offset = 0;
16813 asn1_ctx_t asn1_ctx;
16814 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16815 offset = dissect_s1ap_S_TMSI(tvb, offset, &asn1_ctx, tree, hf_s1ap_S_TMSI_PDU);
16816 offset += 7; offset >>= 3;
16817 return offset;
16819 static int dissect_TAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16820 int offset = 0;
16821 asn1_ctx_t asn1_ctx;
16822 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16823 offset = dissect_s1ap_TAI(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAI_PDU);
16824 offset += 7; offset >>= 3;
16825 return offset;
16827 static int dissect_TargetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16828 int offset = 0;
16829 asn1_ctx_t asn1_ctx;
16830 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16831 offset = dissect_s1ap_TargetID(tvb, offset, &asn1_ctx, tree, hf_s1ap_TargetID_PDU);
16832 offset += 7; offset >>= 3;
16833 return offset;
16835 static int dissect_Global_RAN_NODE_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16836 int offset = 0;
16837 asn1_ctx_t asn1_ctx;
16838 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16839 offset = dissect_s1ap_Global_RAN_NODE_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Global_RAN_NODE_ID_PDU);
16840 offset += 7; offset >>= 3;
16841 return offset;
16843 int dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16844 int offset = 0;
16845 asn1_ctx_t asn1_ctx;
16846 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16847 offset = dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU);
16848 offset += 7; offset >>= 3;
16849 return offset;
16851 static int dissect_Target_ToSource_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16852 int offset = 0;
16853 asn1_ctx_t asn1_ctx;
16854 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16855 offset = dissect_s1ap_Target_ToSource_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_Target_ToSource_TransparentContainer_PDU);
16856 offset += 7; offset >>= 3;
16857 return offset;
16859 static int dissect_TimeBasedHandoverInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16860 int offset = 0;
16861 asn1_ctx_t asn1_ctx;
16862 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16863 offset = dissect_s1ap_TimeBasedHandoverInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_TimeBasedHandoverInformation_PDU);
16864 offset += 7; offset >>= 3;
16865 return offset;
16867 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16868 int offset = 0;
16869 asn1_ctx_t asn1_ctx;
16870 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16871 offset = dissect_s1ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_s1ap_TimeToWait_PDU);
16872 offset += 7; offset >>= 3;
16873 return offset;
16875 static int dissect_Time_UE_StayedInCell_EnhancedGranularity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16876 int offset = 0;
16877 asn1_ctx_t asn1_ctx;
16878 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16879 offset = dissect_s1ap_Time_UE_StayedInCell_EnhancedGranularity(tvb, offset, &asn1_ctx, tree, hf_s1ap_Time_UE_StayedInCell_EnhancedGranularity_PDU);
16880 offset += 7; offset >>= 3;
16881 return offset;
16883 static int dissect_TimeSinceSecondaryNodeRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16884 int offset = 0;
16885 asn1_ctx_t asn1_ctx;
16886 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16887 offset = dissect_s1ap_TimeSinceSecondaryNodeRelease(tvb, offset, &asn1_ctx, tree, hf_s1ap_TimeSinceSecondaryNodeRelease_PDU);
16888 offset += 7; offset >>= 3;
16889 return offset;
16891 static int dissect_TransportInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16892 int offset = 0;
16893 asn1_ctx_t asn1_ctx;
16894 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16895 offset = dissect_s1ap_TransportInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_TransportInformation_PDU);
16896 offset += 7; offset >>= 3;
16897 return offset;
16899 static int dissect_TransportLayerAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16900 int offset = 0;
16901 asn1_ctx_t asn1_ctx;
16902 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16903 offset = dissect_s1ap_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_s1ap_TransportLayerAddress_PDU);
16904 offset += 7; offset >>= 3;
16905 return offset;
16907 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16908 int offset = 0;
16909 asn1_ctx_t asn1_ctx;
16910 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16911 offset = dissect_s1ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceActivation_PDU);
16912 offset += 7; offset >>= 3;
16913 return offset;
16915 static int dissect_E_UTRAN_Trace_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16916 int offset = 0;
16917 asn1_ctx_t asn1_ctx;
16918 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16919 offset = dissect_s1ap_E_UTRAN_Trace_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_UTRAN_Trace_ID_PDU);
16920 offset += 7; offset >>= 3;
16921 return offset;
16923 static int dissect_TrafficLoadReductionIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16924 int offset = 0;
16925 asn1_ctx_t asn1_ctx;
16926 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16927 offset = dissect_s1ap_TrafficLoadReductionIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_TrafficLoadReductionIndication_PDU);
16928 offset += 7; offset >>= 3;
16929 return offset;
16931 static int dissect_TunnelInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16932 int offset = 0;
16933 asn1_ctx_t asn1_ctx;
16934 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16935 offset = dissect_s1ap_TunnelInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_TunnelInformation_PDU);
16936 offset += 7; offset >>= 3;
16937 return offset;
16939 static int dissect_TAIListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16940 int offset = 0;
16941 asn1_ctx_t asn1_ctx;
16942 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16943 offset = dissect_s1ap_TAIListForRestart(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAIListForRestart_PDU);
16944 offset += 7; offset >>= 3;
16945 return offset;
16947 static int dissect_UEAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16948 int offset = 0;
16949 asn1_ctx_t asn1_ctx;
16950 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16951 offset = dissect_s1ap_UEAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEAggregateMaximumBitrate_PDU);
16952 offset += 7; offset >>= 3;
16953 return offset;
16955 static int dissect_UEAppLayerMeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16956 int offset = 0;
16957 asn1_ctx_t asn1_ctx;
16958 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16959 offset = dissect_s1ap_UEAppLayerMeasConfig(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEAppLayerMeasConfig_PDU);
16960 offset += 7; offset >>= 3;
16961 return offset;
16963 static int dissect_UECapabilityInfoRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16964 int offset = 0;
16965 asn1_ctx_t asn1_ctx;
16966 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16967 offset = dissect_s1ap_UECapabilityInfoRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UECapabilityInfoRequest_PDU);
16968 offset += 7; offset >>= 3;
16969 return offset;
16971 static int dissect_UE_RetentionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16972 int offset = 0;
16973 asn1_ctx_t asn1_ctx;
16974 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16975 offset = dissect_s1ap_UE_RetentionInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_RetentionInformation_PDU);
16976 offset += 7; offset >>= 3;
16977 return offset;
16979 static int dissect_UE_S1AP_IDs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16980 int offset = 0;
16981 asn1_ctx_t asn1_ctx;
16982 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16983 offset = dissect_s1ap_UE_S1AP_IDs(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_S1AP_IDs_PDU);
16984 offset += 7; offset >>= 3;
16985 return offset;
16987 static int dissect_UE_associatedLogicalS1_ConnectionItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16988 int offset = 0;
16989 asn1_ctx_t asn1_ctx;
16990 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16991 offset = dissect_s1ap_UE_associatedLogicalS1_ConnectionItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU);
16992 offset += 7; offset >>= 3;
16993 return offset;
16995 static int dissect_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16996 int offset = 0;
16997 asn1_ctx_t asn1_ctx;
16998 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
16999 offset = dissect_s1ap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEIdentityIndexValue_PDU);
17000 offset += 7; offset >>= 3;
17001 return offset;
17003 int dissect_s1ap_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17004 int offset = 0;
17005 asn1_ctx_t asn1_ctx;
17006 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17007 offset = dissect_s1ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_UE_HistoryInformation_PDU);
17008 offset += 7; offset >>= 3;
17009 return offset;
17011 static int dissect_UE_HistoryInformationFromTheUE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17012 int offset = 0;
17013 asn1_ctx_t asn1_ctx;
17014 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17015 offset = dissect_s1ap_UE_HistoryInformationFromTheUE(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_HistoryInformationFromTheUE_PDU);
17016 offset += 7; offset >>= 3;
17017 return offset;
17019 static int dissect_UEPagingID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17020 int offset = 0;
17021 asn1_ctx_t asn1_ctx;
17022 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17023 offset = dissect_s1ap_UEPagingID(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEPagingID_PDU);
17024 offset += 7; offset >>= 3;
17025 return offset;
17027 static int dissect_UERadioCapability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17028 int offset = 0;
17029 asn1_ctx_t asn1_ctx;
17030 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17031 offset = dissect_s1ap_UERadioCapability(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapability_PDU);
17032 offset += 7; offset >>= 3;
17033 return offset;
17035 static int dissect_UERadioCapabilityForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17036 int offset = 0;
17037 asn1_ctx_t asn1_ctx;
17038 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17039 offset = dissect_s1ap_UERadioCapabilityForPaging(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapabilityForPaging_PDU);
17040 offset += 7; offset >>= 3;
17041 return offset;
17043 static int dissect_UERadioCapabilityID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17044 int offset = 0;
17045 asn1_ctx_t asn1_ctx;
17046 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17047 offset = dissect_s1ap_UERadioCapabilityID(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapabilityID_PDU);
17048 offset += 7; offset >>= 3;
17049 return offset;
17051 static int dissect_UESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17052 int offset = 0;
17053 asn1_ctx_t asn1_ctx;
17054 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17055 offset = dissect_s1ap_UESecurityCapabilities(tvb, offset, &asn1_ctx, tree, hf_s1ap_UESecurityCapabilities_PDU);
17056 offset += 7; offset >>= 3;
17057 return offset;
17059 static int dissect_UESidelinkAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17060 int offset = 0;
17061 asn1_ctx_t asn1_ctx;
17062 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17063 offset = dissect_s1ap_UESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_s1ap_UESidelinkAggregateMaximumBitrate_PDU);
17064 offset += 7; offset >>= 3;
17065 return offset;
17067 static int dissect_UE_Usage_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17068 int offset = 0;
17069 asn1_ctx_t asn1_ctx;
17070 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17071 offset = dissect_s1ap_UE_Usage_Type(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_Usage_Type_PDU);
17072 offset += 7; offset >>= 3;
17073 return offset;
17075 static int dissect_UL_CP_SecurityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17076 int offset = 0;
17077 asn1_ctx_t asn1_ctx;
17078 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17079 offset = dissect_s1ap_UL_CP_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_UL_CP_SecurityInformation_PDU);
17080 offset += 7; offset >>= 3;
17081 return offset;
17083 static int dissect_UnlicensedSpectrumRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17084 int offset = 0;
17085 asn1_ctx_t asn1_ctx;
17086 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17087 offset = dissect_s1ap_UnlicensedSpectrumRestriction(tvb, offset, &asn1_ctx, tree, hf_s1ap_UnlicensedSpectrumRestriction_PDU);
17088 offset += 7; offset >>= 3;
17089 return offset;
17091 static int dissect_URI_Address_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17092 int offset = 0;
17093 asn1_ctx_t asn1_ctx;
17094 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17095 offset = dissect_s1ap_URI_Address(tvb, offset, &asn1_ctx, tree, hf_s1ap_URI_Address_PDU);
17096 offset += 7; offset >>= 3;
17097 return offset;
17099 static int dissect_UserLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17100 int offset = 0;
17101 asn1_ctx_t asn1_ctx;
17102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17103 offset = dissect_s1ap_UserLocationInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_UserLocationInformation_PDU);
17104 offset += 7; offset >>= 3;
17105 return offset;
17107 static int dissect_UEUserPlaneCIoTSupportIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17108 int offset = 0;
17109 asn1_ctx_t asn1_ctx;
17110 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17111 offset = dissect_s1ap_UEUserPlaneCIoTSupportIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU);
17112 offset += 7; offset >>= 3;
17113 return offset;
17115 static int dissect_UE_Application_Layer_Measurement_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17116 int offset = 0;
17117 asn1_ctx_t asn1_ctx;
17118 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17119 offset = dissect_s1ap_UE_Application_Layer_Measurement_Capability(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_Application_Layer_Measurement_Capability_PDU);
17120 offset += 7; offset >>= 3;
17121 return offset;
17123 static int dissect_VoiceSupportMatchIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17124 int offset = 0;
17125 asn1_ctx_t asn1_ctx;
17126 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17127 offset = dissect_s1ap_VoiceSupportMatchIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_VoiceSupportMatchIndicator_PDU);
17128 offset += 7; offset >>= 3;
17129 return offset;
17131 static int dissect_V2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17132 int offset = 0;
17133 asn1_ctx_t asn1_ctx;
17134 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17135 offset = dissect_s1ap_V2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_s1ap_V2XServicesAuthorized_PDU);
17136 offset += 7; offset >>= 3;
17137 return offset;
17139 static int dissect_WarningAreaCoordinates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17140 int offset = 0;
17141 asn1_ctx_t asn1_ctx;
17142 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17143 offset = dissect_s1ap_WarningAreaCoordinates(tvb, offset, &asn1_ctx, tree, hf_s1ap_WarningAreaCoordinates_PDU);
17144 offset += 7; offset >>= 3;
17145 return offset;
17147 static int dissect_WarningAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17148 int offset = 0;
17149 asn1_ctx_t asn1_ctx;
17150 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17151 offset = dissect_s1ap_WarningAreaList(tvb, offset, &asn1_ctx, tree, hf_s1ap_WarningAreaList_PDU);
17152 offset += 7; offset >>= 3;
17153 return offset;
17155 static int dissect_WarningType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17156 int offset = 0;
17157 asn1_ctx_t asn1_ctx;
17158 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17159 offset = dissect_s1ap_WarningType(tvb, offset, &asn1_ctx, tree, hf_s1ap_WarningType_PDU);
17160 offset += 7; offset >>= 3;
17161 return offset;
17163 static int dissect_WarningSecurityInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17164 int offset = 0;
17165 asn1_ctx_t asn1_ctx;
17166 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17167 offset = dissect_s1ap_WarningSecurityInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_WarningSecurityInfo_PDU);
17168 offset += 7; offset >>= 3;
17169 return offset;
17171 static int dissect_WarningMessageContents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17172 int offset = 0;
17173 asn1_ctx_t asn1_ctx;
17174 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17175 offset = dissect_s1ap_WarningMessageContents(tvb, offset, &asn1_ctx, tree, hf_s1ap_WarningMessageContents_PDU);
17176 offset += 7; offset >>= 3;
17177 return offset;
17179 static int dissect_WLANMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17180 int offset = 0;
17181 asn1_ctx_t asn1_ctx;
17182 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17183 offset = dissect_s1ap_WLANMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_s1ap_WLANMeasurementConfiguration_PDU);
17184 offset += 7; offset >>= 3;
17185 return offset;
17187 static int dissect_WUS_Assistance_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17188 int offset = 0;
17189 asn1_ctx_t asn1_ctx;
17190 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17191 offset = dissect_s1ap_WUS_Assistance_Information(tvb, offset, &asn1_ctx, tree, hf_s1ap_WUS_Assistance_Information_PDU);
17192 offset += 7; offset >>= 3;
17193 return offset;
17195 static int dissect_X2TNLConfigurationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17196 int offset = 0;
17197 asn1_ctx_t asn1_ctx;
17198 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17199 offset = dissect_s1ap_X2TNLConfigurationInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_X2TNLConfigurationInfo_PDU);
17200 offset += 7; offset >>= 3;
17201 return offset;
17203 static int dissect_ENBX2ExtTLAs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17204 int offset = 0;
17205 asn1_ctx_t asn1_ctx;
17206 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17207 offset = dissect_s1ap_ENBX2ExtTLAs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBX2ExtTLAs_PDU);
17208 offset += 7; offset >>= 3;
17209 return offset;
17211 static int dissect_ENBIndirectX2TransportLayerAddresses_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17212 int offset = 0;
17213 asn1_ctx_t asn1_ctx;
17214 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17215 offset = dissect_s1ap_ENBIndirectX2TransportLayerAddresses(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU);
17216 offset += 7; offset >>= 3;
17217 return offset;
17219 static int dissect_HandoverRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17220 int offset = 0;
17221 asn1_ctx_t asn1_ctx;
17222 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17223 offset = dissect_s1ap_HandoverRequired(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRequired_PDU);
17224 offset += 7; offset >>= 3;
17225 return offset;
17227 static int dissect_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17228 int offset = 0;
17229 asn1_ctx_t asn1_ctx;
17230 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17231 offset = dissect_s1ap_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverCommand_PDU);
17232 offset += 7; offset >>= 3;
17233 return offset;
17235 static int dissect_E_RABSubjecttoDataForwardingList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17236 int offset = 0;
17237 asn1_ctx_t asn1_ctx;
17238 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17239 offset = dissect_s1ap_E_RABSubjecttoDataForwardingList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSubjecttoDataForwardingList_PDU);
17240 offset += 7; offset >>= 3;
17241 return offset;
17243 static int dissect_E_RABDataForwardingItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17244 int offset = 0;
17245 asn1_ctx_t asn1_ctx;
17246 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17247 offset = dissect_s1ap_E_RABDataForwardingItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABDataForwardingItem_PDU);
17248 offset += 7; offset >>= 3;
17249 return offset;
17251 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17252 int offset = 0;
17253 asn1_ctx_t asn1_ctx;
17254 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17255 offset = dissect_s1ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverPreparationFailure_PDU);
17256 offset += 7; offset >>= 3;
17257 return offset;
17259 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17260 int offset = 0;
17261 asn1_ctx_t asn1_ctx;
17262 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17263 offset = dissect_s1ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRequest_PDU);
17264 offset += 7; offset >>= 3;
17265 return offset;
17267 static int dissect_E_RABToBeSetupListHOReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17268 int offset = 0;
17269 asn1_ctx_t asn1_ctx;
17270 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17271 offset = dissect_s1ap_E_RABToBeSetupListHOReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSetupListHOReq_PDU);
17272 offset += 7; offset >>= 3;
17273 return offset;
17275 static int dissect_E_RABToBeSetupItemHOReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17276 int offset = 0;
17277 asn1_ctx_t asn1_ctx;
17278 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17279 offset = dissect_s1ap_E_RABToBeSetupItemHOReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSetupItemHOReq_PDU);
17280 offset += 7; offset >>= 3;
17281 return offset;
17283 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17284 int offset = 0;
17285 asn1_ctx_t asn1_ctx;
17286 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17287 offset = dissect_s1ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRequestAcknowledge_PDU);
17288 offset += 7; offset >>= 3;
17289 return offset;
17291 static int dissect_E_RABAdmittedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17292 int offset = 0;
17293 asn1_ctx_t asn1_ctx;
17294 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17295 offset = dissect_s1ap_E_RABAdmittedList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABAdmittedList_PDU);
17296 offset += 7; offset >>= 3;
17297 return offset;
17299 static int dissect_E_RABAdmittedItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17300 int offset = 0;
17301 asn1_ctx_t asn1_ctx;
17302 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17303 offset = dissect_s1ap_E_RABAdmittedItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABAdmittedItem_PDU);
17304 offset += 7; offset >>= 3;
17305 return offset;
17307 static int dissect_E_RABFailedtoSetupListHOReqAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17308 int offset = 0;
17309 asn1_ctx_t asn1_ctx;
17310 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17311 offset = dissect_s1ap_E_RABFailedtoSetupListHOReqAck(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedtoSetupListHOReqAck_PDU);
17312 offset += 7; offset >>= 3;
17313 return offset;
17315 static int dissect_E_RABFailedToSetupItemHOReqAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17316 int offset = 0;
17317 asn1_ctx_t asn1_ctx;
17318 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17319 offset = dissect_s1ap_E_RABFailedToSetupItemHOReqAck(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToSetupItemHOReqAck_PDU);
17320 offset += 7; offset >>= 3;
17321 return offset;
17323 static int dissect_HandoverFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17324 int offset = 0;
17325 asn1_ctx_t asn1_ctx;
17326 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17327 offset = dissect_s1ap_HandoverFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverFailure_PDU);
17328 offset += 7; offset >>= 3;
17329 return offset;
17331 static int dissect_HandoverNotify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17332 int offset = 0;
17333 asn1_ctx_t asn1_ctx;
17334 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17335 offset = dissect_s1ap_HandoverNotify(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverNotify_PDU);
17336 offset += 7; offset >>= 3;
17337 return offset;
17339 static int dissect_PathSwitchRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17340 int offset = 0;
17341 asn1_ctx_t asn1_ctx;
17342 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17343 offset = dissect_s1ap_PathSwitchRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_PathSwitchRequest_PDU);
17344 offset += 7; offset >>= 3;
17345 return offset;
17347 static int dissect_E_RABToBeSwitchedDLList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17348 int offset = 0;
17349 asn1_ctx_t asn1_ctx;
17350 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17351 offset = dissect_s1ap_E_RABToBeSwitchedDLList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSwitchedDLList_PDU);
17352 offset += 7; offset >>= 3;
17353 return offset;
17355 static int dissect_E_RABToBeSwitchedDLItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17356 int offset = 0;
17357 asn1_ctx_t asn1_ctx;
17358 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17359 offset = dissect_s1ap_E_RABToBeSwitchedDLItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSwitchedDLItem_PDU);
17360 offset += 7; offset >>= 3;
17361 return offset;
17363 static int dissect_PathSwitchRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17364 int offset = 0;
17365 asn1_ctx_t asn1_ctx;
17366 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17367 offset = dissect_s1ap_PathSwitchRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_PathSwitchRequestAcknowledge_PDU);
17368 offset += 7; offset >>= 3;
17369 return offset;
17371 static int dissect_E_RABToBeSwitchedULList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17372 int offset = 0;
17373 asn1_ctx_t asn1_ctx;
17374 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17375 offset = dissect_s1ap_E_RABToBeSwitchedULList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSwitchedULList_PDU);
17376 offset += 7; offset >>= 3;
17377 return offset;
17379 static int dissect_E_RABToBeSwitchedULItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17380 int offset = 0;
17381 asn1_ctx_t asn1_ctx;
17382 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17383 offset = dissect_s1ap_E_RABToBeSwitchedULItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSwitchedULItem_PDU);
17384 offset += 7; offset >>= 3;
17385 return offset;
17387 static int dissect_E_RABToBeUpdatedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17388 int offset = 0;
17389 asn1_ctx_t asn1_ctx;
17390 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17391 offset = dissect_s1ap_E_RABToBeUpdatedList(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeUpdatedList_PDU);
17392 offset += 7; offset >>= 3;
17393 return offset;
17395 static int dissect_E_RABToBeUpdatedItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17396 int offset = 0;
17397 asn1_ctx_t asn1_ctx;
17398 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17399 offset = dissect_s1ap_E_RABToBeUpdatedItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeUpdatedItem_PDU);
17400 offset += 7; offset >>= 3;
17401 return offset;
17403 static int dissect_PathSwitchRequestFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17404 int offset = 0;
17405 asn1_ctx_t asn1_ctx;
17406 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17407 offset = dissect_s1ap_PathSwitchRequestFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_PathSwitchRequestFailure_PDU);
17408 offset += 7; offset >>= 3;
17409 return offset;
17411 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17412 int offset = 0;
17413 asn1_ctx_t asn1_ctx;
17414 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17415 offset = dissect_s1ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverCancel_PDU);
17416 offset += 7; offset >>= 3;
17417 return offset;
17419 static int dissect_HandoverCancelAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17420 int offset = 0;
17421 asn1_ctx_t asn1_ctx;
17422 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17423 offset = dissect_s1ap_HandoverCancelAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverCancelAcknowledge_PDU);
17424 offset += 7; offset >>= 3;
17425 return offset;
17427 static int dissect_HandoverSuccess_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17428 int offset = 0;
17429 asn1_ctx_t asn1_ctx;
17430 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17431 offset = dissect_s1ap_HandoverSuccess(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverSuccess_PDU);
17432 offset += 7; offset >>= 3;
17433 return offset;
17435 static int dissect_ENBEarlyStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17436 int offset = 0;
17437 asn1_ctx_t asn1_ctx;
17438 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17439 offset = dissect_s1ap_ENBEarlyStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBEarlyStatusTransfer_PDU);
17440 offset += 7; offset >>= 3;
17441 return offset;
17443 static int dissect_MMEEarlyStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17444 int offset = 0;
17445 asn1_ctx_t asn1_ctx;
17446 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17447 offset = dissect_s1ap_MMEEarlyStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEEarlyStatusTransfer_PDU);
17448 offset += 7; offset >>= 3;
17449 return offset;
17451 static int dissect_E_RABSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17452 int offset = 0;
17453 asn1_ctx_t asn1_ctx;
17454 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17455 offset = dissect_s1ap_E_RABSetupRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSetupRequest_PDU);
17456 offset += 7; offset >>= 3;
17457 return offset;
17459 static int dissect_E_RABToBeSetupListBearerSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17460 int offset = 0;
17461 asn1_ctx_t asn1_ctx;
17462 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17463 offset = dissect_s1ap_E_RABToBeSetupListBearerSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSetupListBearerSUReq_PDU);
17464 offset += 7; offset >>= 3;
17465 return offset;
17467 static int dissect_E_RABToBeSetupItemBearerSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17468 int offset = 0;
17469 asn1_ctx_t asn1_ctx;
17470 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17471 offset = dissect_s1ap_E_RABToBeSetupItemBearerSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSetupItemBearerSUReq_PDU);
17472 offset += 7; offset >>= 3;
17473 return offset;
17475 static int dissect_E_RABSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17476 int offset = 0;
17477 asn1_ctx_t asn1_ctx;
17478 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17479 offset = dissect_s1ap_E_RABSetupResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSetupResponse_PDU);
17480 offset += 7; offset >>= 3;
17481 return offset;
17483 static int dissect_E_RABSetupListBearerSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17484 int offset = 0;
17485 asn1_ctx_t asn1_ctx;
17486 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17487 offset = dissect_s1ap_E_RABSetupListBearerSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSetupListBearerSURes_PDU);
17488 offset += 7; offset >>= 3;
17489 return offset;
17491 static int dissect_E_RABSetupItemBearerSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17492 int offset = 0;
17493 asn1_ctx_t asn1_ctx;
17494 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17495 offset = dissect_s1ap_E_RABSetupItemBearerSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSetupItemBearerSURes_PDU);
17496 offset += 7; offset >>= 3;
17497 return offset;
17499 static int dissect_E_RABModifyRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17500 int offset = 0;
17501 asn1_ctx_t asn1_ctx;
17502 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17503 offset = dissect_s1ap_E_RABModifyRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModifyRequest_PDU);
17504 offset += 7; offset >>= 3;
17505 return offset;
17507 static int dissect_E_RABToBeModifiedListBearerModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17508 int offset = 0;
17509 asn1_ctx_t asn1_ctx;
17510 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17511 offset = dissect_s1ap_E_RABToBeModifiedListBearerModReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeModifiedListBearerModReq_PDU);
17512 offset += 7; offset >>= 3;
17513 return offset;
17515 static int dissect_E_RABToBeModifiedItemBearerModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17516 int offset = 0;
17517 asn1_ctx_t asn1_ctx;
17518 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17519 offset = dissect_s1ap_E_RABToBeModifiedItemBearerModReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeModifiedItemBearerModReq_PDU);
17520 offset += 7; offset >>= 3;
17521 return offset;
17523 static int dissect_E_RABModifyResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17524 int offset = 0;
17525 asn1_ctx_t asn1_ctx;
17526 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17527 offset = dissect_s1ap_E_RABModifyResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModifyResponse_PDU);
17528 offset += 7; offset >>= 3;
17529 return offset;
17531 static int dissect_E_RABModifyListBearerModRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17532 int offset = 0;
17533 asn1_ctx_t asn1_ctx;
17534 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17535 offset = dissect_s1ap_E_RABModifyListBearerModRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModifyListBearerModRes_PDU);
17536 offset += 7; offset >>= 3;
17537 return offset;
17539 static int dissect_E_RABModifyItemBearerModRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17540 int offset = 0;
17541 asn1_ctx_t asn1_ctx;
17542 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17543 offset = dissect_s1ap_E_RABModifyItemBearerModRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModifyItemBearerModRes_PDU);
17544 offset += 7; offset >>= 3;
17545 return offset;
17547 static int dissect_E_RABReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17548 int offset = 0;
17549 asn1_ctx_t asn1_ctx;
17550 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17551 offset = dissect_s1ap_E_RABReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABReleaseCommand_PDU);
17552 offset += 7; offset >>= 3;
17553 return offset;
17555 static int dissect_E_RABReleaseResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17556 int offset = 0;
17557 asn1_ctx_t asn1_ctx;
17558 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17559 offset = dissect_s1ap_E_RABReleaseResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABReleaseResponse_PDU);
17560 offset += 7; offset >>= 3;
17561 return offset;
17563 static int dissect_E_RABReleaseListBearerRelComp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17564 int offset = 0;
17565 asn1_ctx_t asn1_ctx;
17566 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17567 offset = dissect_s1ap_E_RABReleaseListBearerRelComp(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABReleaseListBearerRelComp_PDU);
17568 offset += 7; offset >>= 3;
17569 return offset;
17571 static int dissect_E_RABReleaseItemBearerRelComp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17572 int offset = 0;
17573 asn1_ctx_t asn1_ctx;
17574 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17575 offset = dissect_s1ap_E_RABReleaseItemBearerRelComp(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABReleaseItemBearerRelComp_PDU);
17576 offset += 7; offset >>= 3;
17577 return offset;
17579 static int dissect_E_RABReleaseIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17580 int offset = 0;
17581 asn1_ctx_t asn1_ctx;
17582 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17583 offset = dissect_s1ap_E_RABReleaseIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABReleaseIndication_PDU);
17584 offset += 7; offset >>= 3;
17585 return offset;
17587 static int dissect_InitialContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17588 int offset = 0;
17589 asn1_ctx_t asn1_ctx;
17590 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17591 offset = dissect_s1ap_InitialContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialContextSetupRequest_PDU);
17592 offset += 7; offset >>= 3;
17593 return offset;
17595 static int dissect_E_RABToBeSetupListCtxtSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17596 int offset = 0;
17597 asn1_ctx_t asn1_ctx;
17598 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17599 offset = dissect_s1ap_E_RABToBeSetupListCtxtSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSetupListCtxtSUReq_PDU);
17600 offset += 7; offset >>= 3;
17601 return offset;
17603 static int dissect_E_RABToBeSetupItemCtxtSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17604 int offset = 0;
17605 asn1_ctx_t asn1_ctx;
17606 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17607 offset = dissect_s1ap_E_RABToBeSetupItemCtxtSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeSetupItemCtxtSUReq_PDU);
17608 offset += 7; offset >>= 3;
17609 return offset;
17611 static int dissect_InitialContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17612 int offset = 0;
17613 asn1_ctx_t asn1_ctx;
17614 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17615 offset = dissect_s1ap_InitialContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialContextSetupResponse_PDU);
17616 offset += 7; offset >>= 3;
17617 return offset;
17619 static int dissect_E_RABSetupListCtxtSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17620 int offset = 0;
17621 asn1_ctx_t asn1_ctx;
17622 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17623 offset = dissect_s1ap_E_RABSetupListCtxtSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSetupListCtxtSURes_PDU);
17624 offset += 7; offset >>= 3;
17625 return offset;
17627 static int dissect_E_RABSetupItemCtxtSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17628 int offset = 0;
17629 asn1_ctx_t asn1_ctx;
17630 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17631 offset = dissect_s1ap_E_RABSetupItemCtxtSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABSetupItemCtxtSURes_PDU);
17632 offset += 7; offset >>= 3;
17633 return offset;
17635 static int dissect_InitialContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17636 int offset = 0;
17637 asn1_ctx_t asn1_ctx;
17638 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17639 offset = dissect_s1ap_InitialContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialContextSetupFailure_PDU);
17640 offset += 7; offset >>= 3;
17641 return offset;
17643 static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17644 int offset = 0;
17645 asn1_ctx_t asn1_ctx;
17646 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17647 offset = dissect_s1ap_Paging(tvb, offset, &asn1_ctx, tree, hf_s1ap_Paging_PDU);
17648 offset += 7; offset >>= 3;
17649 return offset;
17651 static int dissect_TAIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17652 int offset = 0;
17653 asn1_ctx_t asn1_ctx;
17654 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17655 offset = dissect_s1ap_TAIList(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAIList_PDU);
17656 offset += 7; offset >>= 3;
17657 return offset;
17659 static int dissect_TAIItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17660 int offset = 0;
17661 asn1_ctx_t asn1_ctx;
17662 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17663 offset = dissect_s1ap_TAIItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAIItem_PDU);
17664 offset += 7; offset >>= 3;
17665 return offset;
17667 static int dissect_UEContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17668 int offset = 0;
17669 asn1_ctx_t asn1_ctx;
17670 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17671 offset = dissect_s1ap_UEContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextReleaseRequest_PDU);
17672 offset += 7; offset >>= 3;
17673 return offset;
17675 static int dissect_UEContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17676 int offset = 0;
17677 asn1_ctx_t asn1_ctx;
17678 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17679 offset = dissect_s1ap_UEContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextReleaseCommand_PDU);
17680 offset += 7; offset >>= 3;
17681 return offset;
17683 static int dissect_UEContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17684 int offset = 0;
17685 asn1_ctx_t asn1_ctx;
17686 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17687 offset = dissect_s1ap_UEContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextReleaseComplete_PDU);
17688 offset += 7; offset >>= 3;
17689 return offset;
17691 static int dissect_UEContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17692 int offset = 0;
17693 asn1_ctx_t asn1_ctx;
17694 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17695 offset = dissect_s1ap_UEContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationRequest_PDU);
17696 offset += 7; offset >>= 3;
17697 return offset;
17699 static int dissect_UEContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17700 int offset = 0;
17701 asn1_ctx_t asn1_ctx;
17702 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17703 offset = dissect_s1ap_UEContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationResponse_PDU);
17704 offset += 7; offset >>= 3;
17705 return offset;
17707 static int dissect_UEContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17708 int offset = 0;
17709 asn1_ctx_t asn1_ctx;
17710 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17711 offset = dissect_s1ap_UEContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationFailure_PDU);
17712 offset += 7; offset >>= 3;
17713 return offset;
17715 static int dissect_UERadioCapabilityMatchRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17716 int offset = 0;
17717 asn1_ctx_t asn1_ctx;
17718 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17719 offset = dissect_s1ap_UERadioCapabilityMatchRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapabilityMatchRequest_PDU);
17720 offset += 7; offset >>= 3;
17721 return offset;
17723 static int dissect_UERadioCapabilityMatchResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17724 int offset = 0;
17725 asn1_ctx_t asn1_ctx;
17726 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17727 offset = dissect_s1ap_UERadioCapabilityMatchResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapabilityMatchResponse_PDU);
17728 offset += 7; offset >>= 3;
17729 return offset;
17731 static int dissect_DownlinkNASTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17732 int offset = 0;
17733 asn1_ctx_t asn1_ctx;
17734 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17735 offset = dissect_s1ap_DownlinkNASTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkNASTransport_PDU);
17736 offset += 7; offset >>= 3;
17737 return offset;
17739 static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17740 int offset = 0;
17741 asn1_ctx_t asn1_ctx;
17742 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17743 offset = dissect_s1ap_InitialUEMessage(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialUEMessage_PDU);
17744 offset += 7; offset >>= 3;
17745 return offset;
17747 static int dissect_UplinkNASTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17748 int offset = 0;
17749 asn1_ctx_t asn1_ctx;
17750 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17751 offset = dissect_s1ap_UplinkNASTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkNASTransport_PDU);
17752 offset += 7; offset >>= 3;
17753 return offset;
17755 static int dissect_NASNonDeliveryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17756 int offset = 0;
17757 asn1_ctx_t asn1_ctx;
17758 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17759 offset = dissect_s1ap_NASNonDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_NASNonDeliveryIndication_PDU);
17760 offset += 7; offset >>= 3;
17761 return offset;
17763 static int dissect_RerouteNASRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17764 int offset = 0;
17765 asn1_ctx_t asn1_ctx;
17766 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17767 offset = dissect_s1ap_RerouteNASRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_RerouteNASRequest_PDU);
17768 offset += 7; offset >>= 3;
17769 return offset;
17771 static int dissect_S1_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17772 int offset = 0;
17773 asn1_ctx_t asn1_ctx;
17774 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17775 offset = dissect_s1ap_S1_Message(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1_Message_PDU);
17776 offset += 7; offset >>= 3;
17777 return offset;
17779 static int dissect_NASDeliveryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17780 int offset = 0;
17781 asn1_ctx_t asn1_ctx;
17782 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17783 offset = dissect_s1ap_NASDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_NASDeliveryIndication_PDU);
17784 offset += 7; offset >>= 3;
17785 return offset;
17787 static int dissect_Reset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17788 int offset = 0;
17789 asn1_ctx_t asn1_ctx;
17790 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17791 offset = dissect_s1ap_Reset(tvb, offset, &asn1_ctx, tree, hf_s1ap_Reset_PDU);
17792 offset += 7; offset >>= 3;
17793 return offset;
17795 static int dissect_ResetType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17796 int offset = 0;
17797 asn1_ctx_t asn1_ctx;
17798 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17799 offset = dissect_s1ap_ResetType(tvb, offset, &asn1_ctx, tree, hf_s1ap_ResetType_PDU);
17800 offset += 7; offset >>= 3;
17801 return offset;
17803 static int dissect_ResetAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17804 int offset = 0;
17805 asn1_ctx_t asn1_ctx;
17806 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17807 offset = dissect_s1ap_ResetAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_ResetAcknowledge_PDU);
17808 offset += 7; offset >>= 3;
17809 return offset;
17811 static int dissect_UE_associatedLogicalS1_ConnectionListResAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17812 int offset = 0;
17813 asn1_ctx_t asn1_ctx;
17814 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17815 offset = dissect_s1ap_UE_associatedLogicalS1_ConnectionListResAck(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_PDU);
17816 offset += 7; offset >>= 3;
17817 return offset;
17819 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17820 int offset = 0;
17821 asn1_ctx_t asn1_ctx;
17822 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17823 offset = dissect_s1ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_ErrorIndication_PDU);
17824 offset += 7; offset >>= 3;
17825 return offset;
17827 static int dissect_S1SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17828 int offset = 0;
17829 asn1_ctx_t asn1_ctx;
17830 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17831 offset = dissect_s1ap_S1SetupRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1SetupRequest_PDU);
17832 offset += 7; offset >>= 3;
17833 return offset;
17835 static int dissect_S1SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17836 int offset = 0;
17837 asn1_ctx_t asn1_ctx;
17838 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17839 offset = dissect_s1ap_S1SetupResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1SetupResponse_PDU);
17840 offset += 7; offset >>= 3;
17841 return offset;
17843 static int dissect_S1SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17844 int offset = 0;
17845 asn1_ctx_t asn1_ctx;
17846 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17847 offset = dissect_s1ap_S1SetupFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1SetupFailure_PDU);
17848 offset += 7; offset >>= 3;
17849 return offset;
17851 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17852 int offset = 0;
17853 asn1_ctx_t asn1_ctx;
17854 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17855 offset = dissect_s1ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationUpdate_PDU);
17856 offset += 7; offset >>= 3;
17857 return offset;
17859 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17860 int offset = 0;
17861 asn1_ctx_t asn1_ctx;
17862 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17863 offset = dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationUpdateAcknowledge_PDU);
17864 offset += 7; offset >>= 3;
17865 return offset;
17867 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17868 int offset = 0;
17869 asn1_ctx_t asn1_ctx;
17870 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17871 offset = dissect_s1ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationUpdateFailure_PDU);
17872 offset += 7; offset >>= 3;
17873 return offset;
17875 static int dissect_MMEConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17876 int offset = 0;
17877 asn1_ctx_t asn1_ctx;
17878 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17879 offset = dissect_s1ap_MMEConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationUpdate_PDU);
17880 offset += 7; offset >>= 3;
17881 return offset;
17883 static int dissect_MMEConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17884 int offset = 0;
17885 asn1_ctx_t asn1_ctx;
17886 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17887 offset = dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationUpdateAcknowledge_PDU);
17888 offset += 7; offset >>= 3;
17889 return offset;
17891 static int dissect_MMEConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17892 int offset = 0;
17893 asn1_ctx_t asn1_ctx;
17894 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17895 offset = dissect_s1ap_MMEConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationUpdateFailure_PDU);
17896 offset += 7; offset >>= 3;
17897 return offset;
17899 static int dissect_DownlinkS1cdma2000tunnelling_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17900 int offset = 0;
17901 asn1_ctx_t asn1_ctx;
17902 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17903 offset = dissect_s1ap_DownlinkS1cdma2000tunnelling(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkS1cdma2000tunnelling_PDU);
17904 offset += 7; offset >>= 3;
17905 return offset;
17907 static int dissect_UplinkS1cdma2000tunnelling_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17908 int offset = 0;
17909 asn1_ctx_t asn1_ctx;
17910 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17911 offset = dissect_s1ap_UplinkS1cdma2000tunnelling(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkS1cdma2000tunnelling_PDU);
17912 offset += 7; offset >>= 3;
17913 return offset;
17915 static int dissect_UECapabilityInfoIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17916 int offset = 0;
17917 asn1_ctx_t asn1_ctx;
17918 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17919 offset = dissect_s1ap_UECapabilityInfoIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_UECapabilityInfoIndication_PDU);
17920 offset += 7; offset >>= 3;
17921 return offset;
17923 static int dissect_ENBStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17924 int offset = 0;
17925 asn1_ctx_t asn1_ctx;
17926 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17927 offset = dissect_s1ap_ENBStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBStatusTransfer_PDU);
17928 offset += 7; offset >>= 3;
17929 return offset;
17931 static int dissect_MMEStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17932 int offset = 0;
17933 asn1_ctx_t asn1_ctx;
17934 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17935 offset = dissect_s1ap_MMEStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEStatusTransfer_PDU);
17936 offset += 7; offset >>= 3;
17937 return offset;
17939 static int dissect_TraceStart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17940 int offset = 0;
17941 asn1_ctx_t asn1_ctx;
17942 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17943 offset = dissect_s1ap_TraceStart(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceStart_PDU);
17944 offset += 7; offset >>= 3;
17945 return offset;
17947 static int dissect_TraceFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17948 int offset = 0;
17949 asn1_ctx_t asn1_ctx;
17950 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17951 offset = dissect_s1ap_TraceFailureIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceFailureIndication_PDU);
17952 offset += 7; offset >>= 3;
17953 return offset;
17955 static int dissect_DeactivateTrace_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17956 int offset = 0;
17957 asn1_ctx_t asn1_ctx;
17958 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17959 offset = dissect_s1ap_DeactivateTrace(tvb, offset, &asn1_ctx, tree, hf_s1ap_DeactivateTrace_PDU);
17960 offset += 7; offset >>= 3;
17961 return offset;
17963 static int dissect_CellTrafficTrace_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17964 int offset = 0;
17965 asn1_ctx_t asn1_ctx;
17966 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17967 offset = dissect_s1ap_CellTrafficTrace(tvb, offset, &asn1_ctx, tree, hf_s1ap_CellTrafficTrace_PDU);
17968 offset += 7; offset >>= 3;
17969 return offset;
17971 static int dissect_LocationReportingControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17972 int offset = 0;
17973 asn1_ctx_t asn1_ctx;
17974 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17975 offset = dissect_s1ap_LocationReportingControl(tvb, offset, &asn1_ctx, tree, hf_s1ap_LocationReportingControl_PDU);
17976 offset += 7; offset >>= 3;
17977 return offset;
17979 static int dissect_LocationReportingFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17980 int offset = 0;
17981 asn1_ctx_t asn1_ctx;
17982 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17983 offset = dissect_s1ap_LocationReportingFailureIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_LocationReportingFailureIndication_PDU);
17984 offset += 7; offset >>= 3;
17985 return offset;
17987 static int dissect_LocationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17988 int offset = 0;
17989 asn1_ctx_t asn1_ctx;
17990 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17991 offset = dissect_s1ap_LocationReport(tvb, offset, &asn1_ctx, tree, hf_s1ap_LocationReport_PDU);
17992 offset += 7; offset >>= 3;
17993 return offset;
17995 static int dissect_OverloadStart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17996 int offset = 0;
17997 asn1_ctx_t asn1_ctx;
17998 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
17999 offset = dissect_s1ap_OverloadStart(tvb, offset, &asn1_ctx, tree, hf_s1ap_OverloadStart_PDU);
18000 offset += 7; offset >>= 3;
18001 return offset;
18003 static int dissect_OverloadStop_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18004 int offset = 0;
18005 asn1_ctx_t asn1_ctx;
18006 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18007 offset = dissect_s1ap_OverloadStop(tvb, offset, &asn1_ctx, tree, hf_s1ap_OverloadStop_PDU);
18008 offset += 7; offset >>= 3;
18009 return offset;
18011 static int dissect_WriteReplaceWarningRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18012 int offset = 0;
18013 asn1_ctx_t asn1_ctx;
18014 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18015 offset = dissect_s1ap_WriteReplaceWarningRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_WriteReplaceWarningRequest_PDU);
18016 offset += 7; offset >>= 3;
18017 return offset;
18019 static int dissect_WriteReplaceWarningResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18020 int offset = 0;
18021 asn1_ctx_t asn1_ctx;
18022 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18023 offset = dissect_s1ap_WriteReplaceWarningResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_WriteReplaceWarningResponse_PDU);
18024 offset += 7; offset >>= 3;
18025 return offset;
18027 static int dissect_ENBDirectInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18028 int offset = 0;
18029 asn1_ctx_t asn1_ctx;
18030 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18031 offset = dissect_s1ap_ENBDirectInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBDirectInformationTransfer_PDU);
18032 offset += 7; offset >>= 3;
18033 return offset;
18035 static int dissect_Inter_SystemInformationTransferType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18036 int offset = 0;
18037 asn1_ctx_t asn1_ctx;
18038 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18039 offset = dissect_s1ap_Inter_SystemInformationTransferType(tvb, offset, &asn1_ctx, tree, hf_s1ap_Inter_SystemInformationTransferType_PDU);
18040 offset += 7; offset >>= 3;
18041 return offset;
18043 static int dissect_MMEDirectInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18044 int offset = 0;
18045 asn1_ctx_t asn1_ctx;
18046 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18047 offset = dissect_s1ap_MMEDirectInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEDirectInformationTransfer_PDU);
18048 offset += 7; offset >>= 3;
18049 return offset;
18051 static int dissect_ENBConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18052 int offset = 0;
18053 asn1_ctx_t asn1_ctx;
18054 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18055 offset = dissect_s1ap_ENBConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationTransfer_PDU);
18056 offset += 7; offset >>= 3;
18057 return offset;
18059 static int dissect_MMEConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18060 int offset = 0;
18061 asn1_ctx_t asn1_ctx;
18062 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18063 offset = dissect_s1ap_MMEConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationTransfer_PDU);
18064 offset += 7; offset >>= 3;
18065 return offset;
18067 static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18068 int offset = 0;
18069 asn1_ctx_t asn1_ctx;
18070 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18071 offset = dissect_s1ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_s1ap_PrivateMessage_PDU);
18072 offset += 7; offset >>= 3;
18073 return offset;
18075 static int dissect_KillRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18076 int offset = 0;
18077 asn1_ctx_t asn1_ctx;
18078 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18079 offset = dissect_s1ap_KillRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_KillRequest_PDU);
18080 offset += 7; offset >>= 3;
18081 return offset;
18083 static int dissect_KillResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18084 int offset = 0;
18085 asn1_ctx_t asn1_ctx;
18086 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18087 offset = dissect_s1ap_KillResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_KillResponse_PDU);
18088 offset += 7; offset >>= 3;
18089 return offset;
18091 static int dissect_PWSRestartIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18092 int offset = 0;
18093 asn1_ctx_t asn1_ctx;
18094 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18095 offset = dissect_s1ap_PWSRestartIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_PWSRestartIndication_PDU);
18096 offset += 7; offset >>= 3;
18097 return offset;
18099 static int dissect_PWSFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18100 int offset = 0;
18101 asn1_ctx_t asn1_ctx;
18102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18103 offset = dissect_s1ap_PWSFailureIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_PWSFailureIndication_PDU);
18104 offset += 7; offset >>= 3;
18105 return offset;
18107 static int dissect_DownlinkUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18108 int offset = 0;
18109 asn1_ctx_t asn1_ctx;
18110 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18111 offset = dissect_s1ap_DownlinkUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU);
18112 offset += 7; offset >>= 3;
18113 return offset;
18115 static int dissect_UplinkUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18116 int offset = 0;
18117 asn1_ctx_t asn1_ctx;
18118 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18119 offset = dissect_s1ap_UplinkUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU);
18120 offset += 7; offset >>= 3;
18121 return offset;
18123 static int dissect_DownlinkNonUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18124 int offset = 0;
18125 asn1_ctx_t asn1_ctx;
18126 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18127 offset = dissect_s1ap_DownlinkNonUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU);
18128 offset += 7; offset >>= 3;
18129 return offset;
18131 static int dissect_UplinkNonUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18132 int offset = 0;
18133 asn1_ctx_t asn1_ctx;
18134 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18135 offset = dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU);
18136 offset += 7; offset >>= 3;
18137 return offset;
18139 static int dissect_E_RABModificationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18140 int offset = 0;
18141 asn1_ctx_t asn1_ctx;
18142 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18143 offset = dissect_s1ap_E_RABModificationIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModificationIndication_PDU);
18144 offset += 7; offset >>= 3;
18145 return offset;
18147 static int dissect_E_RABToBeModifiedListBearerModInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18148 int offset = 0;
18149 asn1_ctx_t asn1_ctx;
18150 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18151 offset = dissect_s1ap_E_RABToBeModifiedListBearerModInd(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeModifiedListBearerModInd_PDU);
18152 offset += 7; offset >>= 3;
18153 return offset;
18155 static int dissect_E_RABToBeModifiedItemBearerModInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18156 int offset = 0;
18157 asn1_ctx_t asn1_ctx;
18158 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18159 offset = dissect_s1ap_E_RABToBeModifiedItemBearerModInd(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABToBeModifiedItemBearerModInd_PDU);
18160 offset += 7; offset >>= 3;
18161 return offset;
18163 static int dissect_E_RABNotToBeModifiedListBearerModInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18164 int offset = 0;
18165 asn1_ctx_t asn1_ctx;
18166 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18167 offset = dissect_s1ap_E_RABNotToBeModifiedListBearerModInd(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABNotToBeModifiedListBearerModInd_PDU);
18168 offset += 7; offset >>= 3;
18169 return offset;
18171 static int dissect_E_RABNotToBeModifiedItemBearerModInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18172 int offset = 0;
18173 asn1_ctx_t asn1_ctx;
18174 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18175 offset = dissect_s1ap_E_RABNotToBeModifiedItemBearerModInd(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABNotToBeModifiedItemBearerModInd_PDU);
18176 offset += 7; offset >>= 3;
18177 return offset;
18179 static int dissect_CSGMembershipInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18180 int offset = 0;
18181 asn1_ctx_t asn1_ctx;
18182 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18183 offset = dissect_s1ap_CSGMembershipInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_CSGMembershipInfo_PDU);
18184 offset += 7; offset >>= 3;
18185 return offset;
18187 static int dissect_E_RABModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18188 int offset = 0;
18189 asn1_ctx_t asn1_ctx;
18190 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18191 offset = dissect_s1ap_E_RABModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModificationConfirm_PDU);
18192 offset += 7; offset >>= 3;
18193 return offset;
18195 static int dissect_E_RABModifyListBearerModConf_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18196 int offset = 0;
18197 asn1_ctx_t asn1_ctx;
18198 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18199 offset = dissect_s1ap_E_RABModifyListBearerModConf(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModifyListBearerModConf_PDU);
18200 offset += 7; offset >>= 3;
18201 return offset;
18203 static int dissect_E_RABModifyItemBearerModConf_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18204 int offset = 0;
18205 asn1_ctx_t asn1_ctx;
18206 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18207 offset = dissect_s1ap_E_RABModifyItemBearerModConf(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABModifyItemBearerModConf_PDU);
18208 offset += 7; offset >>= 3;
18209 return offset;
18211 static int dissect_UEContextModificationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18212 int offset = 0;
18213 asn1_ctx_t asn1_ctx;
18214 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18215 offset = dissect_s1ap_UEContextModificationIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationIndication_PDU);
18216 offset += 7; offset >>= 3;
18217 return offset;
18219 static int dissect_UEContextModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18220 int offset = 0;
18221 asn1_ctx_t asn1_ctx;
18222 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18223 offset = dissect_s1ap_UEContextModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationConfirm_PDU);
18224 offset += 7; offset >>= 3;
18225 return offset;
18227 static int dissect_UEContextSuspendRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18228 int offset = 0;
18229 asn1_ctx_t asn1_ctx;
18230 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18231 offset = dissect_s1ap_UEContextSuspendRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextSuspendRequest_PDU);
18232 offset += 7; offset >>= 3;
18233 return offset;
18235 static int dissect_UEContextSuspendResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18236 int offset = 0;
18237 asn1_ctx_t asn1_ctx;
18238 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18239 offset = dissect_s1ap_UEContextSuspendResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextSuspendResponse_PDU);
18240 offset += 7; offset >>= 3;
18241 return offset;
18243 static int dissect_UEContextResumeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18244 int offset = 0;
18245 asn1_ctx_t asn1_ctx;
18246 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18247 offset = dissect_s1ap_UEContextResumeRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextResumeRequest_PDU);
18248 offset += 7; offset >>= 3;
18249 return offset;
18251 static int dissect_E_RABFailedToResumeListResumeReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18252 int offset = 0;
18253 asn1_ctx_t asn1_ctx;
18254 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18255 offset = dissect_s1ap_E_RABFailedToResumeListResumeReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeListResumeReq_PDU);
18256 offset += 7; offset >>= 3;
18257 return offset;
18259 static int dissect_E_RABFailedToResumeItemResumeReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18260 int offset = 0;
18261 asn1_ctx_t asn1_ctx;
18262 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18263 offset = dissect_s1ap_E_RABFailedToResumeItemResumeReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeItemResumeReq_PDU);
18264 offset += 7; offset >>= 3;
18265 return offset;
18267 static int dissect_UEContextResumeResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18268 int offset = 0;
18269 asn1_ctx_t asn1_ctx;
18270 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18271 offset = dissect_s1ap_UEContextResumeResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextResumeResponse_PDU);
18272 offset += 7; offset >>= 3;
18273 return offset;
18275 static int dissect_E_RABFailedToResumeListResumeRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18276 int offset = 0;
18277 asn1_ctx_t asn1_ctx;
18278 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18279 offset = dissect_s1ap_E_RABFailedToResumeListResumeRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeListResumeRes_PDU);
18280 offset += 7; offset >>= 3;
18281 return offset;
18283 static int dissect_E_RABFailedToResumeItemResumeRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18284 int offset = 0;
18285 asn1_ctx_t asn1_ctx;
18286 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18287 offset = dissect_s1ap_E_RABFailedToResumeItemResumeRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeItemResumeRes_PDU);
18288 offset += 7; offset >>= 3;
18289 return offset;
18291 static int dissect_UEContextResumeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18292 int offset = 0;
18293 asn1_ctx_t asn1_ctx;
18294 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18295 offset = dissect_s1ap_UEContextResumeFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextResumeFailure_PDU);
18296 offset += 7; offset >>= 3;
18297 return offset;
18299 static int dissect_ConnectionEstablishmentIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18300 int offset = 0;
18301 asn1_ctx_t asn1_ctx;
18302 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18303 offset = dissect_s1ap_ConnectionEstablishmentIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_ConnectionEstablishmentIndication_PDU);
18304 offset += 7; offset >>= 3;
18305 return offset;
18307 static int dissect_RetrieveUEInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18308 int offset = 0;
18309 asn1_ctx_t asn1_ctx;
18310 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18311 offset = dissect_s1ap_RetrieveUEInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_RetrieveUEInformation_PDU);
18312 offset += 7; offset >>= 3;
18313 return offset;
18315 static int dissect_UEInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18316 int offset = 0;
18317 asn1_ctx_t asn1_ctx;
18318 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18319 offset = dissect_s1ap_UEInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEInformationTransfer_PDU);
18320 offset += 7; offset >>= 3;
18321 return offset;
18323 static int dissect_ENBCPRelocationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18324 int offset = 0;
18325 asn1_ctx_t asn1_ctx;
18326 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18327 offset = dissect_s1ap_ENBCPRelocationIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBCPRelocationIndication_PDU);
18328 offset += 7; offset >>= 3;
18329 return offset;
18331 static int dissect_MMECPRelocationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18332 int offset = 0;
18333 asn1_ctx_t asn1_ctx;
18334 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18335 offset = dissect_s1ap_MMECPRelocationIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMECPRelocationIndication_PDU);
18336 offset += 7; offset >>= 3;
18337 return offset;
18339 static int dissect_SecondaryRATDataUsageReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18340 int offset = 0;
18341 asn1_ctx_t asn1_ctx;
18342 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18343 offset = dissect_s1ap_SecondaryRATDataUsageReport(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecondaryRATDataUsageReport_PDU);
18344 offset += 7; offset >>= 3;
18345 return offset;
18347 static int dissect_UERadioCapabilityIDMappingRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18348 int offset = 0;
18349 asn1_ctx_t asn1_ctx;
18350 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18351 offset = dissect_s1ap_UERadioCapabilityIDMappingRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapabilityIDMappingRequest_PDU);
18352 offset += 7; offset >>= 3;
18353 return offset;
18355 static int dissect_UERadioCapabilityIDMappingResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18356 int offset = 0;
18357 asn1_ctx_t asn1_ctx;
18358 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18359 offset = dissect_s1ap_UERadioCapabilityIDMappingResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapabilityIDMappingResponse_PDU);
18360 offset += 7; offset >>= 3;
18361 return offset;
18363 static int dissect_S1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18364 int offset = 0;
18365 asn1_ctx_t asn1_ctx;
18366 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18367 offset = dissect_s1ap_S1AP_PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1AP_PDU_PDU);
18368 offset += 7; offset >>= 3;
18369 return offset;
18371 int dissect_s1ap_SONtransferApplicationIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18372 int offset = 0;
18373 asn1_ctx_t asn1_ctx;
18374 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18375 offset = dissect_s1ap_SONtransferApplicationIdentity(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferApplicationIdentity_PDU);
18376 offset += 7; offset >>= 3;
18377 return offset;
18379 int dissect_s1ap_SONtransferRequestContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18380 int offset = 0;
18381 asn1_ctx_t asn1_ctx;
18382 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18383 offset = dissect_s1ap_SONtransferRequestContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferRequestContainer_PDU);
18384 offset += 7; offset >>= 3;
18385 return offset;
18387 int dissect_s1ap_SONtransferResponseContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18388 int offset = 0;
18389 asn1_ctx_t asn1_ctx;
18390 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18391 offset = dissect_s1ap_SONtransferResponseContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferResponseContainer_PDU);
18392 offset += 7; offset >>= 3;
18393 return offset;
18395 int dissect_s1ap_SONtransferCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
18396 int offset = 0;
18397 asn1_ctx_t asn1_ctx;
18398 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
18399 offset = dissect_s1ap_SONtransferCause(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferCause_PDU);
18400 offset += 7; offset >>= 3;
18401 return offset;
18405 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
18407 s1ap_ctx_t s1ap_ctx;
18408 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18410 s1ap_ctx.message_type = s1ap_data->message_type;
18411 s1ap_ctx.ProcedureCode = s1ap_data->procedure_code;
18412 s1ap_ctx.ProtocolIE_ID = s1ap_data->protocol_ie_id;
18413 s1ap_ctx.ProtocolExtensionID = s1ap_data->protocol_extension_id;
18415 return (dissector_try_uint_with_data(s1ap_ies_dissector_table, s1ap_data->protocol_ie_id, tvb, pinfo, tree, false, &s1ap_ctx)) ? tvb_captured_length(tvb) : 0;
18417 /* Currently not used
18418 static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
18420 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18422 return (dissector_try_uint(s1ap_ies_p1_dissector_table, s1ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
18425 static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
18427 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18429 return (dissector_try_uint(s1ap_ies_p2_dissector_table, s1ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
18433 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
18435 s1ap_ctx_t s1ap_ctx;
18436 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18438 s1ap_ctx.message_type = s1ap_data->message_type;
18439 s1ap_ctx.ProcedureCode = s1ap_data->procedure_code;
18440 s1ap_ctx.ProtocolIE_ID = s1ap_data->protocol_ie_id;
18441 s1ap_ctx.ProtocolExtensionID = s1ap_data->protocol_extension_id;
18443 return (dissector_try_uint_with_data(s1ap_extension_dissector_table, s1ap_data->protocol_extension_id, tvb, pinfo, tree, false, &s1ap_ctx)) ? tvb_captured_length(tvb) : 0;
18446 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
18448 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18450 return (dissector_try_uint_with_data(s1ap_proc_imsg_dissector_table, s1ap_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
18453 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
18455 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18457 return (dissector_try_uint_with_data(s1ap_proc_sout_dissector_table, s1ap_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
18460 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
18462 struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
18464 return (dissector_try_uint_with_data(s1ap_proc_uout_dissector_table, s1ap_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
18468 static int
18469 dissect_s1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
18471 proto_item *s1ap_item = NULL;
18472 proto_tree *s1ap_tree = NULL;
18473 conversation_t *conversation;
18474 struct s1ap_private_data* s1ap_data;
18476 /* make entry in the Protocol column on summary display */
18477 col_set_str(pinfo->cinfo, COL_PROTOCOL, "S1AP");
18478 col_clear(pinfo->cinfo, COL_INFO);
18480 /* create the s1ap protocol tree */
18481 s1ap_item = proto_tree_add_item(tree, proto_s1ap, tvb, 0, -1, ENC_NA);
18482 s1ap_tree = proto_item_add_subtree(s1ap_item, ett_s1ap);
18484 s1ap_data = s1ap_get_private_data(pinfo);
18485 conversation = find_or_create_conversation(pinfo);
18486 s1ap_data->s1ap_conv = (struct s1ap_conv_info *)conversation_get_proto_data(conversation, proto_s1ap);
18487 if (!s1ap_data->s1ap_conv) {
18488 s1ap_data->s1ap_conv = wmem_new(wmem_file_scope(), struct s1ap_conv_info);
18489 s1ap_data->s1ap_conv->nbiot_ta = wmem_map_new(wmem_file_scope(), wmem_int64_hash, g_int64_equal);
18490 s1ap_data->s1ap_conv->nbiot_enb_ue_s1ap_id = wmem_tree_new(wmem_file_scope());
18491 conversation_add_proto_data(conversation, proto_s1ap, s1ap_data->s1ap_conv);
18494 dissect_S1AP_PDU_PDU(tvb, pinfo, s1ap_tree, NULL);
18495 return tvb_captured_length(tvb);
18498 /*--- proto_reg_handoff_s1ap ---------------------------------------*/
18499 void
18500 proto_reg_handoff_s1ap(void)
18502 gcsna_handle = find_dissector_add_dependency("gcsna", proto_s1ap);
18503 nas_eps_handle = find_dissector_add_dependency("nas-eps", proto_s1ap);
18504 lppa_handle = find_dissector_add_dependency("lppa", proto_s1ap);
18505 bssgp_handle = find_dissector_add_dependency("bssgp", proto_s1ap);
18506 lte_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info", proto_s1ap);
18507 lte_rrc_ue_radio_access_cap_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info.nb", proto_s1ap);
18508 nr_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_access_cap_info", proto_s1ap);
18509 lte_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info", proto_s1ap);
18510 lte_rrc_ue_radio_paging_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info.nb", proto_s1ap);
18511 nr_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_paging_info", proto_s1ap);
18512 dissector_add_uint("sctp.ppi", S1AP_PAYLOAD_PROTOCOL_ID, s1ap_handle);
18513 dissector_add_uint_with_preference("sctp.port", SCTP_PORT_S1AP, s1ap_handle);
18514 dissector_add_uint("s1ap.ies", id_MME_UE_S1AP_ID, create_dissector_handle(dissect_MME_UE_S1AP_ID_PDU, proto_s1ap));
18515 dissector_add_uint("s1ap.ies", id_HandoverType, create_dissector_handle(dissect_HandoverType_PDU, proto_s1ap));
18516 dissector_add_uint("s1ap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_s1ap));
18517 dissector_add_uint("s1ap.ies", id_TargetID, create_dissector_handle(dissect_TargetID_PDU, proto_s1ap));
18518 dissector_add_uint("s1ap.ies", id_eNB_UE_S1AP_ID, create_dissector_handle(dissect_ENB_UE_S1AP_ID_PDU, proto_s1ap));
18519 dissector_add_uint("s1ap.ies", id_E_RABSubjecttoDataForwardingList, create_dissector_handle(dissect_E_RABSubjecttoDataForwardingList_PDU, proto_s1ap));
18520 dissector_add_uint("s1ap.ies", id_E_RABtoReleaseListHOCmd, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18521 dissector_add_uint("s1ap.ies", id_E_RABDataForwardingItem, create_dissector_handle(dissect_E_RABDataForwardingItem_PDU, proto_s1ap));
18522 dissector_add_uint("s1ap.ies", id_E_RABReleaseItemBearerRelComp, create_dissector_handle(dissect_E_RABReleaseItemBearerRelComp_PDU, proto_s1ap));
18523 dissector_add_uint("s1ap.ies", id_E_RABToBeSetupListBearerSUReq, create_dissector_handle(dissect_E_RABToBeSetupListBearerSUReq_PDU, proto_s1ap));
18524 dissector_add_uint("s1ap.ies", id_E_RABToBeSetupItemBearerSUReq, create_dissector_handle(dissect_E_RABToBeSetupItemBearerSUReq_PDU, proto_s1ap));
18525 dissector_add_uint("s1ap.ies", id_E_RABAdmittedList, create_dissector_handle(dissect_E_RABAdmittedList_PDU, proto_s1ap));
18526 dissector_add_uint("s1ap.ies", id_E_RABFailedToSetupListHOReqAck, create_dissector_handle(dissect_E_RABFailedtoSetupListHOReqAck_PDU, proto_s1ap));
18527 dissector_add_uint("s1ap.ies", id_E_RABAdmittedItem, create_dissector_handle(dissect_E_RABAdmittedItem_PDU, proto_s1ap));
18528 dissector_add_uint("s1ap.ies", id_E_RABFailedtoSetupItemHOReqAck, create_dissector_handle(dissect_E_RABFailedToSetupItemHOReqAck_PDU, proto_s1ap));
18529 dissector_add_uint("s1ap.ies", id_E_RABToBeSwitchedDLList, create_dissector_handle(dissect_E_RABToBeSwitchedDLList_PDU, proto_s1ap));
18530 dissector_add_uint("s1ap.ies", id_E_RABToBeSwitchedDLItem, create_dissector_handle(dissect_E_RABToBeSwitchedDLItem_PDU, proto_s1ap));
18531 dissector_add_uint("s1ap.ies", id_E_RABToBeSetupListCtxtSUReq, create_dissector_handle(dissect_E_RABToBeSetupListCtxtSUReq_PDU, proto_s1ap));
18532 dissector_add_uint("s1ap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_s1ap));
18533 dissector_add_uint("s1ap.ies", id_E_UTRAN_Trace_ID, create_dissector_handle(dissect_E_UTRAN_Trace_ID_PDU, proto_s1ap));
18534 dissector_add_uint("s1ap.ies", id_NAS_PDU, create_dissector_handle(dissect_NAS_PDU_PDU, proto_s1ap));
18535 dissector_add_uint("s1ap.ies", id_E_RABToBeSetupItemHOReq, create_dissector_handle(dissect_E_RABToBeSetupItemHOReq_PDU, proto_s1ap));
18536 dissector_add_uint("s1ap.ies", id_E_RABSetupListBearerSURes, create_dissector_handle(dissect_E_RABSetupListBearerSURes_PDU, proto_s1ap));
18537 dissector_add_uint("s1ap.ies", id_E_RABFailedToSetupListBearerSURes, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18538 dissector_add_uint("s1ap.ies", id_E_RABToBeModifiedListBearerModReq, create_dissector_handle(dissect_E_RABToBeModifiedListBearerModReq_PDU, proto_s1ap));
18539 dissector_add_uint("s1ap.ies", id_E_RABModifyListBearerModRes, create_dissector_handle(dissect_E_RABModifyListBearerModRes_PDU, proto_s1ap));
18540 dissector_add_uint("s1ap.ies", id_E_RABFailedToModifyList, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18541 dissector_add_uint("s1ap.ies", id_E_RABToBeReleasedList, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18542 dissector_add_uint("s1ap.ies", id_E_RABFailedToReleaseList, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18543 dissector_add_uint("s1ap.ies", id_E_RABItem, create_dissector_handle(dissect_E_RABItem_PDU, proto_s1ap));
18544 dissector_add_uint("s1ap.ies", id_E_RABToBeModifiedItemBearerModReq, create_dissector_handle(dissect_E_RABToBeModifiedItemBearerModReq_PDU, proto_s1ap));
18545 dissector_add_uint("s1ap.ies", id_E_RABModifyItemBearerModRes, create_dissector_handle(dissect_E_RABModifyItemBearerModRes_PDU, proto_s1ap));
18546 dissector_add_uint("s1ap.ies", id_E_RABSetupItemBearerSURes, create_dissector_handle(dissect_E_RABSetupItemBearerSURes_PDU, proto_s1ap));
18547 dissector_add_uint("s1ap.ies", id_SecurityContext, create_dissector_handle(dissect_SecurityContext_PDU, proto_s1ap));
18548 dissector_add_uint("s1ap.ies", id_HandoverRestrictionList, create_dissector_handle(dissect_s1ap_HandoverRestrictionList_PDU, proto_s1ap));
18549 dissector_add_uint("s1ap.ies", id_UEPagingID, create_dissector_handle(dissect_UEPagingID_PDU, proto_s1ap));
18550 dissector_add_uint("s1ap.ies", id_pagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_s1ap));
18551 dissector_add_uint("s1ap.ies", id_TAIList, create_dissector_handle(dissect_TAIList_PDU, proto_s1ap));
18552 dissector_add_uint("s1ap.ies", id_TAIItem, create_dissector_handle(dissect_TAIItem_PDU, proto_s1ap));
18553 dissector_add_uint("s1ap.ies", id_E_RABFailedToSetupListCtxtSURes, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18554 dissector_add_uint("s1ap.ies", id_E_RABSetupItemCtxtSURes, create_dissector_handle(dissect_E_RABSetupItemCtxtSURes_PDU, proto_s1ap));
18555 dissector_add_uint("s1ap.ies", id_E_RABSetupListCtxtSURes, create_dissector_handle(dissect_E_RABSetupListCtxtSURes_PDU, proto_s1ap));
18556 dissector_add_uint("s1ap.ies", id_E_RABToBeSetupItemCtxtSUReq, create_dissector_handle(dissect_E_RABToBeSetupItemCtxtSUReq_PDU, proto_s1ap));
18557 dissector_add_uint("s1ap.ies", id_E_RABToBeSetupListHOReq, create_dissector_handle(dissect_E_RABToBeSetupListHOReq_PDU, proto_s1ap));
18558 dissector_add_uint("s1ap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_s1ap));
18559 dissector_add_uint("s1ap.ies", id_Global_ENB_ID, create_dissector_handle(dissect_s1ap_Global_ENB_ID_PDU, proto_s1ap));
18560 dissector_add_uint("s1ap.ies", id_eNBname, create_dissector_handle(dissect_ENBname_PDU, proto_s1ap));
18561 dissector_add_uint("s1ap.ies", id_MMEname, create_dissector_handle(dissect_MMEname_PDU, proto_s1ap));
18562 dissector_add_uint("s1ap.ies", id_ServedPLMNs, create_dissector_handle(dissect_ServedPLMNs_PDU, proto_s1ap));
18563 dissector_add_uint("s1ap.ies", id_SupportedTAs, create_dissector_handle(dissect_SupportedTAs_PDU, proto_s1ap));
18564 dissector_add_uint("s1ap.ies", id_TimeToWait, create_dissector_handle(dissect_TimeToWait_PDU, proto_s1ap));
18565 dissector_add_uint("s1ap.ies", id_uEaggregateMaximumBitrate, create_dissector_handle(dissect_UEAggregateMaximumBitrate_PDU, proto_s1ap));
18566 dissector_add_uint("s1ap.ies", id_TAI, create_dissector_handle(dissect_TAI_PDU, proto_s1ap));
18567 dissector_add_uint("s1ap.ies", id_E_RABReleaseListBearerRelComp, create_dissector_handle(dissect_E_RABReleaseListBearerRelComp_PDU, proto_s1ap));
18568 dissector_add_uint("s1ap.ies", id_cdma2000PDU, create_dissector_handle(dissect_Cdma2000PDU_PDU, proto_s1ap));
18569 dissector_add_uint("s1ap.ies", id_cdma2000RATType, create_dissector_handle(dissect_Cdma2000RATType_PDU, proto_s1ap));
18570 dissector_add_uint("s1ap.ies", id_cdma2000SectorID, create_dissector_handle(dissect_Cdma2000SectorID_PDU, proto_s1ap));
18571 dissector_add_uint("s1ap.ies", id_SecurityKey, create_dissector_handle(dissect_SecurityKey_PDU, proto_s1ap));
18572 dissector_add_uint("s1ap.ies", id_UERadioCapability, create_dissector_handle(dissect_UERadioCapability_PDU, proto_s1ap));
18573 dissector_add_uint("s1ap.ies", id_GUMMEI_ID, create_dissector_handle(dissect_GUMMEI_PDU, proto_s1ap));
18574 dissector_add_uint("s1ap.ies", id_E_RABInformationListItem, create_dissector_handle(dissect_E_RABInformationListItem_PDU, proto_s1ap));
18575 dissector_add_uint("s1ap.ies", id_Direct_Forwarding_Path_Availability, create_dissector_handle(dissect_Direct_Forwarding_Path_Availability_PDU, proto_s1ap));
18576 dissector_add_uint("s1ap.ies", id_UEIdentityIndexValue, create_dissector_handle(dissect_UEIdentityIndexValue_PDU, proto_s1ap));
18577 dissector_add_uint("s1ap.ies", id_cdma2000HOStatus, create_dissector_handle(dissect_Cdma2000HOStatus_PDU, proto_s1ap));
18578 dissector_add_uint("s1ap.ies", id_cdma2000HORequiredIndication, create_dissector_handle(dissect_Cdma2000HORequiredIndication_PDU, proto_s1ap));
18579 dissector_add_uint("s1ap.ies", id_RelativeMMECapacity, create_dissector_handle(dissect_RelativeMMECapacity_PDU, proto_s1ap));
18580 dissector_add_uint("s1ap.ies", id_SourceMME_UE_S1AP_ID, create_dissector_handle(dissect_MME_UE_S1AP_ID_PDU, proto_s1ap));
18581 dissector_add_uint("s1ap.ies", id_Bearers_SubjectToStatusTransfer_Item, create_dissector_handle(dissect_Bearers_SubjectToStatusTransfer_Item_PDU, proto_s1ap));
18582 dissector_add_uint("s1ap.ies", id_eNB_StatusTransfer_TransparentContainer, create_dissector_handle(dissect_s1ap_ENB_StatusTransfer_TransparentContainer_PDU, proto_s1ap));
18583 dissector_add_uint("s1ap.ies", id_UE_associatedLogicalS1_ConnectionItem, create_dissector_handle(dissect_UE_associatedLogicalS1_ConnectionItem_PDU, proto_s1ap));
18584 dissector_add_uint("s1ap.ies", id_ResetType, create_dissector_handle(dissect_ResetType_PDU, proto_s1ap));
18585 dissector_add_uint("s1ap.ies", id_UE_associatedLogicalS1_ConnectionListResAck, create_dissector_handle(dissect_UE_associatedLogicalS1_ConnectionListResAck_PDU, proto_s1ap));
18586 dissector_add_uint("s1ap.ies", id_E_RABToBeSwitchedULItem, create_dissector_handle(dissect_E_RABToBeSwitchedULItem_PDU, proto_s1ap));
18587 dissector_add_uint("s1ap.ies", id_E_RABToBeSwitchedULList, create_dissector_handle(dissect_E_RABToBeSwitchedULList_PDU, proto_s1ap));
18588 dissector_add_uint("s1ap.ies", id_S_TMSI, create_dissector_handle(dissect_S_TMSI_PDU, proto_s1ap));
18589 dissector_add_uint("s1ap.ies", id_cdma2000OneXRAND, create_dissector_handle(dissect_Cdma2000OneXRAND_PDU, proto_s1ap));
18590 dissector_add_uint("s1ap.ies", id_RequestType, create_dissector_handle(dissect_RequestType_PDU, proto_s1ap));
18591 dissector_add_uint("s1ap.ies", id_UE_S1AP_IDs, create_dissector_handle(dissect_UE_S1AP_IDs_PDU, proto_s1ap));
18592 dissector_add_uint("s1ap.ies", id_EUTRAN_CGI, create_dissector_handle(dissect_s1ap_EUTRAN_CGI_PDU, proto_s1ap));
18593 dissector_add_uint("s1ap.ies", id_OverloadResponse, create_dissector_handle(dissect_OverloadResponse_PDU, proto_s1ap));
18594 dissector_add_uint("s1ap.ies", id_cdma2000OneXSRVCCInfo, create_dissector_handle(dissect_Cdma2000OneXSRVCCInfo_PDU, proto_s1ap));
18595 dissector_add_uint("s1ap.ies", id_Source_ToTarget_TransparentContainer, create_dissector_handle(dissect_Source_ToTarget_TransparentContainer_PDU, proto_s1ap));
18596 dissector_add_uint("s1ap.ies", id_ServedGUMMEIs, create_dissector_handle(dissect_ServedGUMMEIs_PDU, proto_s1ap));
18597 dissector_add_uint("s1ap.ies", id_SubscriberProfileIDforRFP, create_dissector_handle(dissect_SubscriberProfileIDforRFP_PDU, proto_s1ap));
18598 dissector_add_uint("s1ap.ies", id_UESecurityCapabilities, create_dissector_handle(dissect_UESecurityCapabilities_PDU, proto_s1ap));
18599 dissector_add_uint("s1ap.ies", id_CSFallbackIndicator, create_dissector_handle(dissect_CSFallbackIndicator_PDU, proto_s1ap));
18600 dissector_add_uint("s1ap.ies", id_CNDomain, create_dissector_handle(dissect_CNDomain_PDU, proto_s1ap));
18601 dissector_add_uint("s1ap.ies", id_E_RABReleasedList, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18602 dissector_add_uint("s1ap.ies", id_MessageIdentifier, create_dissector_handle(dissect_MessageIdentifier_PDU, proto_s1ap));
18603 dissector_add_uint("s1ap.ies", id_SerialNumber, create_dissector_handle(dissect_SerialNumber_PDU, proto_s1ap));
18604 dissector_add_uint("s1ap.ies", id_WarningAreaList, create_dissector_handle(dissect_WarningAreaList_PDU, proto_s1ap));
18605 dissector_add_uint("s1ap.ies", id_RepetitionPeriod, create_dissector_handle(dissect_RepetitionPeriod_PDU, proto_s1ap));
18606 dissector_add_uint("s1ap.ies", id_NumberofBroadcastRequest, create_dissector_handle(dissect_NumberofBroadcastRequest_PDU, proto_s1ap));
18607 dissector_add_uint("s1ap.ies", id_WarningType, create_dissector_handle(dissect_WarningType_PDU, proto_s1ap));
18608 dissector_add_uint("s1ap.ies", id_WarningSecurityInfo, create_dissector_handle(dissect_WarningSecurityInfo_PDU, proto_s1ap));
18609 dissector_add_uint("s1ap.ies", id_DataCodingScheme, create_dissector_handle(dissect_DataCodingScheme_PDU, proto_s1ap));
18610 dissector_add_uint("s1ap.ies", id_WarningMessageContents, create_dissector_handle(dissect_WarningMessageContents_PDU, proto_s1ap));
18611 dissector_add_uint("s1ap.ies", id_BroadcastCompletedAreaList, create_dissector_handle(dissect_BroadcastCompletedAreaList_PDU, proto_s1ap));
18612 dissector_add_uint("s1ap.ies", id_Inter_SystemInformationTransferTypeEDT, create_dissector_handle(dissect_Inter_SystemInformationTransferType_PDU, proto_s1ap));
18613 dissector_add_uint("s1ap.ies", id_Inter_SystemInformationTransferTypeMDT, create_dissector_handle(dissect_Inter_SystemInformationTransferType_PDU, proto_s1ap));
18614 dissector_add_uint("s1ap.ies", id_Target_ToSource_TransparentContainer, create_dissector_handle(dissect_Target_ToSource_TransparentContainer_PDU, proto_s1ap));
18615 dissector_add_uint("s1ap.ies", id_SRVCCOperationPossible, create_dissector_handle(dissect_SRVCCOperationPossible_PDU, proto_s1ap));
18616 dissector_add_uint("s1ap.ies", id_SRVCCHOIndication, create_dissector_handle(dissect_SRVCCHOIndication_PDU, proto_s1ap));
18617 dissector_add_uint("s1ap.ies", id_CSG_Id, create_dissector_handle(dissect_CSG_Id_PDU, proto_s1ap));
18618 dissector_add_uint("s1ap.ies", id_CSG_IdList, create_dissector_handle(dissect_CSG_IdList_PDU, proto_s1ap));
18619 dissector_add_uint("s1ap.ies", id_SONConfigurationTransferECT, create_dissector_handle(dissect_s1ap_SONConfigurationTransfer_PDU, proto_s1ap));
18620 dissector_add_uint("s1ap.ies", id_SONConfigurationTransferMCT, create_dissector_handle(dissect_s1ap_SONConfigurationTransfer_PDU, proto_s1ap));
18621 dissector_add_uint("s1ap.ies", id_TraceCollectionEntityIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap));
18622 dissector_add_uint("s1ap.ies", id_MSClassmark2, create_dissector_handle(dissect_MSClassmark2_PDU, proto_s1ap));
18623 dissector_add_uint("s1ap.ies", id_MSClassmark3, create_dissector_handle(dissect_MSClassmark3_PDU, proto_s1ap));
18624 dissector_add_uint("s1ap.ies", id_RRC_Establishment_Cause, create_dissector_handle(dissect_RRC_Establishment_Cause_PDU, proto_s1ap));
18625 dissector_add_uint("s1ap.ies", id_NASSecurityParametersfromE_UTRAN, create_dissector_handle(dissect_NASSecurityParametersfromE_UTRAN_PDU, proto_s1ap));
18626 dissector_add_uint("s1ap.ies", id_NASSecurityParameterstoE_UTRAN, create_dissector_handle(dissect_NASSecurityParameterstoE_UTRAN_PDU, proto_s1ap));
18627 dissector_add_uint("s1ap.ies", id_DefaultPagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_s1ap));
18628 dissector_add_uint("s1ap.ies", id_Source_ToTarget_TransparentContainer_Secondary, create_dissector_handle(dissect_Source_ToTarget_TransparentContainer_PDU, proto_s1ap));
18629 dissector_add_uint("s1ap.ies", id_Target_ToSource_TransparentContainer_Secondary, create_dissector_handle(dissect_Target_ToSource_TransparentContainer_PDU, proto_s1ap));
18630 dissector_add_uint("s1ap.ies", id_EUTRANRoundTripDelayEstimationInfo, create_dissector_handle(dissect_EUTRANRoundTripDelayEstimationInfo_PDU, proto_s1ap));
18631 dissector_add_uint("s1ap.ies", id_BroadcastCancelledAreaList, create_dissector_handle(dissect_BroadcastCancelledAreaList_PDU, proto_s1ap));
18632 dissector_add_uint("s1ap.ies", id_ConcurrentWarningMessageIndicator, create_dissector_handle(dissect_ConcurrentWarningMessageIndicator_PDU, proto_s1ap));
18633 dissector_add_uint("s1ap.ies", id_ExtendedRepetitionPeriod, create_dissector_handle(dissect_ExtendedRepetitionPeriod_PDU, proto_s1ap));
18634 dissector_add_uint("s1ap.ies", id_CellAccessMode, create_dissector_handle(dissect_CellAccessMode_PDU, proto_s1ap));
18635 dissector_add_uint("s1ap.ies", id_CSGMembershipStatus, create_dissector_handle(dissect_CSGMembershipStatus_PDU, proto_s1ap));
18636 dissector_add_uint("s1ap.ies", id_LPPa_PDU, create_dissector_handle(dissect_LPPa_PDU_PDU, proto_s1ap));
18637 dissector_add_uint("s1ap.ies", id_Routing_ID, create_dissector_handle(dissect_Routing_ID_PDU, proto_s1ap));
18638 dissector_add_uint("s1ap.ies", id_PS_ServiceNotAvailable, create_dissector_handle(dissect_PS_ServiceNotAvailable_PDU, proto_s1ap));
18639 dissector_add_uint("s1ap.ies", id_PagingPriority, create_dissector_handle(dissect_PagingPriority_PDU, proto_s1ap));
18640 dissector_add_uint("s1ap.ies", id_GUMMEIList, create_dissector_handle(dissect_GUMMEIList_PDU, proto_s1ap));
18641 dissector_add_uint("s1ap.ies", id_GW_TransportLayerAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap));
18642 dissector_add_uint("s1ap.ies", id_SourceMME_GUMMEI, create_dissector_handle(dissect_GUMMEI_PDU, proto_s1ap));
18643 dissector_add_uint("s1ap.ies", id_MME_UE_S1AP_ID_2, create_dissector_handle(dissect_MME_UE_S1AP_ID_PDU, proto_s1ap));
18644 dissector_add_uint("s1ap.ies", id_RegisteredLAI, create_dissector_handle(dissect_LAI_PDU, proto_s1ap));
18645 dissector_add_uint("s1ap.ies", id_RelayNode_Indicator, create_dissector_handle(dissect_RelayNode_Indicator_PDU, proto_s1ap));
18646 dissector_add_uint("s1ap.ies", id_TrafficLoadReductionIndication, create_dissector_handle(dissect_TrafficLoadReductionIndication_PDU, proto_s1ap));
18647 dissector_add_uint("s1ap.ies", id_MMERelaySupportIndicator, create_dissector_handle(dissect_MMERelaySupportIndicator_PDU, proto_s1ap));
18648 dissector_add_uint("s1ap.ies", id_GWContextReleaseIndication, create_dissector_handle(dissect_GWContextReleaseIndication_PDU, proto_s1ap));
18649 dissector_add_uint("s1ap.ies", id_ManagementBasedMDTAllowed, create_dissector_handle(dissect_ManagementBasedMDTAllowed_PDU, proto_s1ap));
18650 dissector_add_uint("s1ap.ies", id_PrivacyIndicator, create_dissector_handle(dissect_PrivacyIndicator_PDU, proto_s1ap));
18651 dissector_add_uint("s1ap.ies", id_VoiceSupportMatchIndicator, create_dissector_handle(dissect_VoiceSupportMatchIndicator_PDU, proto_s1ap));
18652 dissector_add_uint("s1ap.ies", id_GUMMEIType, create_dissector_handle(dissect_GUMMEIType_PDU, proto_s1ap));
18653 dissector_add_uint("s1ap.ies", id_Tunnel_Information_for_BBF, create_dissector_handle(dissect_TunnelInformation_PDU, proto_s1ap));
18654 dissector_add_uint("s1ap.ies", id_ManagementBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_s1ap));
18655 dissector_add_uint("s1ap.ies", id_ECGIListForRestart, create_dissector_handle(dissect_ECGIListForRestart_PDU, proto_s1ap));
18656 dissector_add_uint("s1ap.ies", id_SIPTO_L_GW_TransportLayerAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap));
18657 dissector_add_uint("s1ap.ies", id_LHN_ID, create_dissector_handle(dissect_LHN_ID_PDU, proto_s1ap));
18658 dissector_add_uint("s1ap.ies", id_AdditionalCSFallbackIndicator, create_dissector_handle(dissect_AdditionalCSFallbackIndicator_PDU, proto_s1ap));
18659 dissector_add_uint("s1ap.ies", id_TAIListForRestart, create_dissector_handle(dissect_TAIListForRestart_PDU, proto_s1ap));
18660 dissector_add_uint("s1ap.ies", id_UserLocationInformation, create_dissector_handle(dissect_UserLocationInformation_PDU, proto_s1ap));
18661 dissector_add_uint("s1ap.ies", id_KillAllWarningMessages, create_dissector_handle(dissect_KillAllWarningMessages_PDU, proto_s1ap));
18662 dissector_add_uint("s1ap.ies", id_Masked_IMEISV, create_dissector_handle(dissect_Masked_IMEISV_PDU, proto_s1ap));
18663 dissector_add_uint("s1ap.ies", id_ProSeAuthorized, create_dissector_handle(dissect_ProSeAuthorized_PDU, proto_s1ap));
18664 dissector_add_uint("s1ap.ies", id_ExpectedUEBehaviour, create_dissector_handle(dissect_ExpectedUEBehaviour_PDU, proto_s1ap));
18665 dissector_add_uint("s1ap.ies", id_UERadioCapabilityForPaging, create_dissector_handle(dissect_UERadioCapabilityForPaging_PDU, proto_s1ap));
18666 dissector_add_uint("s1ap.ies", id_E_RABToBeModifiedListBearerModInd, create_dissector_handle(dissect_E_RABToBeModifiedListBearerModInd_PDU, proto_s1ap));
18667 dissector_add_uint("s1ap.ies", id_E_RABToBeModifiedItemBearerModInd, create_dissector_handle(dissect_E_RABToBeModifiedItemBearerModInd_PDU, proto_s1ap));
18668 dissector_add_uint("s1ap.ies", id_E_RABNotToBeModifiedListBearerModInd, create_dissector_handle(dissect_E_RABNotToBeModifiedListBearerModInd_PDU, proto_s1ap));
18669 dissector_add_uint("s1ap.ies", id_E_RABNotToBeModifiedItemBearerModInd, create_dissector_handle(dissect_E_RABNotToBeModifiedItemBearerModInd_PDU, proto_s1ap));
18670 dissector_add_uint("s1ap.ies", id_E_RABModifyListBearerModConf, create_dissector_handle(dissect_E_RABModifyListBearerModConf_PDU, proto_s1ap));
18671 dissector_add_uint("s1ap.ies", id_E_RABModifyItemBearerModConf, create_dissector_handle(dissect_E_RABModifyItemBearerModConf_PDU, proto_s1ap));
18672 dissector_add_uint("s1ap.ies", id_E_RABFailedToModifyListBearerModConf, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18673 dissector_add_uint("s1ap.ies", id_SON_Information_Report, create_dissector_handle(dissect_SONInformationReport_PDU, proto_s1ap));
18674 dissector_add_uint("s1ap.ies", id_E_RABToBeReleasedListBearerModConf, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap));
18675 dissector_add_uint("s1ap.ies", id_AssistanceDataForPaging, create_dissector_handle(dissect_AssistanceDataForPaging_PDU, proto_s1ap));
18676 dissector_add_uint("s1ap.ies", id_CellIdentifierAndCELevelForCECapableUEs, create_dissector_handle(dissect_CellIdentifierAndCELevelForCECapableUEs_PDU, proto_s1ap));
18677 dissector_add_uint("s1ap.ies", id_InformationOnRecommendedCellsAndENBsForPaging, create_dissector_handle(dissect_InformationOnRecommendedCellsAndENBsForPaging_PDU, proto_s1ap));
18678 dissector_add_uint("s1ap.ies", id_RecommendedCellItem, create_dissector_handle(dissect_RecommendedCellItem_PDU, proto_s1ap));
18679 dissector_add_uint("s1ap.ies", id_RecommendedENBItem, create_dissector_handle(dissect_RecommendedENBItem_PDU, proto_s1ap));
18680 dissector_add_uint("s1ap.ies", id_PWSfailedECGIList, create_dissector_handle(dissect_PWSfailedECGIList_PDU, proto_s1ap));
18681 dissector_add_uint("s1ap.ies", id_MME_Group_ID, create_dissector_handle(dissect_MME_Group_ID_PDU, proto_s1ap));
18682 dissector_add_uint("s1ap.ies", id_Additional_GUTI, create_dissector_handle(dissect_Additional_GUTI_PDU, proto_s1ap));
18683 dissector_add_uint("s1ap.ies", id_S1_Message, create_dissector_handle(dissect_S1_Message_PDU, proto_s1ap));
18684 dissector_add_uint("s1ap.ies", id_CSGMembershipInfo, create_dissector_handle(dissect_CSGMembershipInfo_PDU, proto_s1ap));
18685 dissector_add_uint("s1ap.ies", id_Paging_eDRXInformation, create_dissector_handle(dissect_Paging_eDRXInformation_PDU, proto_s1ap));
18686 dissector_add_uint("s1ap.ies", id_UE_RetentionInformation, create_dissector_handle(dissect_UE_RetentionInformation_PDU, proto_s1ap));
18687 dissector_add_uint("s1ap.ies", id_UE_Usage_Type, create_dissector_handle(dissect_UE_Usage_Type_PDU, proto_s1ap));
18688 dissector_add_uint("s1ap.ies", id_extended_UEIdentityIndexValue, create_dissector_handle(dissect_Extended_UEIdentityIndexValue_PDU, proto_s1ap));
18689 dissector_add_uint("s1ap.ies", id_NB_IoT_DefaultPagingDRX, create_dissector_handle(dissect_NB_IoT_DefaultPagingDRX_PDU, proto_s1ap));
18690 dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeListResumeReq, create_dissector_handle(dissect_E_RABFailedToResumeListResumeReq_PDU, proto_s1ap));
18691 dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeItemResumeReq, create_dissector_handle(dissect_E_RABFailedToResumeItemResumeReq_PDU, proto_s1ap));
18692 dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeListResumeRes, create_dissector_handle(dissect_E_RABFailedToResumeListResumeRes_PDU, proto_s1ap));
18693 dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeItemResumeRes, create_dissector_handle(dissect_E_RABFailedToResumeItemResumeRes_PDU, proto_s1ap));
18694 dissector_add_uint("s1ap.ies", id_NB_IoT_Paging_eDRXInformation, create_dissector_handle(dissect_NB_IoT_Paging_eDRXInformation_PDU, proto_s1ap));
18695 dissector_add_uint("s1ap.ies", id_UEUserPlaneCIoTSupportIndicator, create_dissector_handle(dissect_UEUserPlaneCIoTSupportIndicator_PDU, proto_s1ap));
18696 dissector_add_uint("s1ap.ies", id_CE_mode_B_SupportIndicator, create_dissector_handle(dissect_CE_mode_B_SupportIndicator_PDU, proto_s1ap));
18697 dissector_add_uint("s1ap.ies", id_SRVCCOperationNotPossible, create_dissector_handle(dissect_SRVCCOperationNotPossible_PDU, proto_s1ap));
18698 dissector_add_uint("s1ap.ies", id_NB_IoT_UEIdentityIndexValue, create_dissector_handle(dissect_NB_IoT_UEIdentityIndexValue_PDU, proto_s1ap));
18699 dissector_add_uint("s1ap.ies", id_RRC_Resume_Cause, create_dissector_handle(dissect_RRC_Establishment_Cause_PDU, proto_s1ap));
18700 dissector_add_uint("s1ap.ies", id_V2XServicesAuthorized, create_dissector_handle(dissect_V2XServicesAuthorized_PDU, proto_s1ap));
18701 dissector_add_uint("s1ap.ies", id_UESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_UESidelinkAggregateMaximumBitrate_PDU, proto_s1ap));
18702 dissector_add_uint("s1ap.ies", id_EnhancedCoverageRestricted, create_dissector_handle(dissect_EnhancedCoverageRestricted_PDU, proto_s1ap));
18703 dissector_add_uint("s1ap.ies", id_DLNASPDUDeliveryAckRequest, create_dissector_handle(dissect_DLNASPDUDeliveryAckRequest_PDU, proto_s1ap));
18704 dissector_add_uint("s1ap.ies", id_DCN_ID, create_dissector_handle(dissect_DCN_ID_PDU, proto_s1ap));
18705 dissector_add_uint("s1ap.ies", id_Coverage_Level, create_dissector_handle(dissect_Coverage_Level_PDU, proto_s1ap));
18706 dissector_add_uint("s1ap.ies", id_ServedDCNs, create_dissector_handle(dissect_ServedDCNs_PDU, proto_s1ap));
18707 dissector_add_uint("s1ap.ies", id_DL_CP_SecurityInformation, create_dissector_handle(dissect_DL_CP_SecurityInformation_PDU, proto_s1ap));
18708 dissector_add_uint("s1ap.ies", id_UE_Level_QoS_Parameters, create_dissector_handle(dissect_E_RABLevelQoSParameters_PDU, proto_s1ap));
18709 dissector_add_uint("s1ap.ies", id_UL_CP_SecurityInformation, create_dissector_handle(dissect_UL_CP_SecurityInformation_PDU, proto_s1ap));
18710 dissector_add_uint("s1ap.ies", id_E_RABUsageReportItem, create_dissector_handle(dissect_E_RABUsageReportItem_PDU, proto_s1ap));
18711 dissector_add_uint("s1ap.ies", id_SecondaryRATDataUsageReportItem, create_dissector_handle(dissect_SecondaryRATDataUsageReportItem_PDU, proto_s1ap));
18712 dissector_add_uint("s1ap.ies", id_NRUESecurityCapabilities, create_dissector_handle(dissect_NRUESecurityCapabilities_PDU, proto_s1ap));
18713 dissector_add_uint("s1ap.ies", id_SecondaryRATDataUsageRequest, create_dissector_handle(dissect_SecondaryRATDataUsageRequest_PDU, proto_s1ap));
18714 dissector_add_uint("s1ap.ies", id_SecondaryRATDataUsageReportList, create_dissector_handle(dissect_SecondaryRATDataUsageReportList_PDU, proto_s1ap));
18715 dissector_add_uint("s1ap.ies", id_UE_Application_Layer_Measurement_Capability, create_dissector_handle(dissect_UE_Application_Layer_Measurement_Capability_PDU, proto_s1ap));
18716 dissector_add_uint("s1ap.ies", id_HandoverFlag, create_dissector_handle(dissect_HandoverFlag_PDU, proto_s1ap));
18717 dissector_add_uint("s1ap.ies", id_EmergencyAreaIDListForRestart, create_dissector_handle(dissect_EmergencyAreaIDListForRestart_PDU, proto_s1ap));
18718 dissector_add_uint("s1ap.ies", id_CE_ModeBRestricted, create_dissector_handle(dissect_CE_ModeBRestricted_PDU, proto_s1ap));
18719 dissector_add_uint("s1ap.ies", id_AerialUEsubscriptionInformation, create_dissector_handle(dissect_AerialUEsubscriptionInformation_PDU, proto_s1ap));
18720 dissector_add_uint("s1ap.ies", id_UECapabilityInfoRequest, create_dissector_handle(dissect_UECapabilityInfoRequest_PDU, proto_s1ap));
18721 dissector_add_uint("s1ap.ies", id_EndIndication, create_dissector_handle(dissect_EndIndication_PDU, proto_s1ap));
18722 dissector_add_uint("s1ap.ies", id_EDT_Session, create_dissector_handle(dissect_EDT_Session_PDU, proto_s1ap));
18723 dissector_add_uint("s1ap.ies", id_LTE_M_Indication, create_dissector_handle(dissect_LTE_M_Indication_PDU, proto_s1ap));
18724 dissector_add_uint("s1ap.ies", id_Subscription_Based_UE_DifferentiationInfo, create_dissector_handle(dissect_Subscription_Based_UE_DifferentiationInfo_PDU, proto_s1ap));
18725 dissector_add_uint("s1ap.ies", id_PendingDataIndication, create_dissector_handle(dissect_PendingDataIndication_PDU, proto_s1ap));
18726 dissector_add_uint("s1ap.ies", id_WarningAreaCoordinates, create_dissector_handle(dissect_WarningAreaCoordinates_PDU, proto_s1ap));
18727 dissector_add_uint("s1ap.ies", id_PSCellInformation, create_dissector_handle(dissect_s1ap_PSCellInformation_PDU, proto_s1ap));
18728 dissector_add_uint("s1ap.ies", id_ConnectedengNBList, create_dissector_handle(dissect_ConnectedengNBList_PDU, proto_s1ap));
18729 dissector_add_uint("s1ap.ies", id_ConnectedengNBToAddList, create_dissector_handle(dissect_ConnectedengNBList_PDU, proto_s1ap));
18730 dissector_add_uint("s1ap.ies", id_ConnectedengNBToRemoveList, create_dissector_handle(dissect_ConnectedengNBList_PDU, proto_s1ap));
18731 dissector_add_uint("s1ap.ies", id_EN_DCSONConfigurationTransfer_ECT, create_dissector_handle(dissect_s1ap_EN_DCSONConfigurationTransfer_PDU, proto_s1ap));
18732 dissector_add_uint("s1ap.ies", id_EN_DCSONConfigurationTransfer_MCT, create_dissector_handle(dissect_s1ap_EN_DCSONConfigurationTransfer_PDU, proto_s1ap));
18733 dissector_add_uint("s1ap.ies", id_TimeSinceSecondaryNodeRelease, create_dissector_handle(dissect_TimeSinceSecondaryNodeRelease_PDU, proto_s1ap));
18734 dissector_add_uint("s1ap.ies", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_s1ap));
18735 dissector_add_uint("s1ap.ies", id_IAB_Authorized, create_dissector_handle(dissect_IAB_Authorized_PDU, proto_s1ap));
18736 dissector_add_uint("s1ap.ies", id_IAB_Node_Indication, create_dissector_handle(dissect_IAB_Node_Indication_PDU, proto_s1ap));
18737 dissector_add_uint("s1ap.ies", id_IAB_Supported, create_dissector_handle(dissect_IAB_Supported_PDU, proto_s1ap));
18738 dissector_add_uint("s1ap.ies", id_DataSize, create_dissector_handle(dissect_DataSize_PDU, proto_s1ap));
18739 dissector_add_uint("s1ap.ies", id_NRV2XServicesAuthorized, create_dissector_handle(dissect_NRV2XServicesAuthorized_PDU, proto_s1ap));
18740 dissector_add_uint("s1ap.ies", id_NRUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitrate_PDU, proto_s1ap));
18741 dissector_add_uint("s1ap.ies", id_PC5QoSParameters, create_dissector_handle(dissect_PC5QoSParameters_PDU, proto_s1ap));
18742 dissector_add_uint("s1ap.ies", id_IntersystemSONConfigurationTransferMCT, create_dissector_handle(dissect_s1ap_IntersystemSONConfigurationTransfer_PDU, proto_s1ap));
18743 dissector_add_uint("s1ap.ies", id_IntersystemSONConfigurationTransferECT, create_dissector_handle(dissect_s1ap_IntersystemSONConfigurationTransfer_PDU, proto_s1ap));
18744 dissector_add_uint("s1ap.ies", id_UERadioCapabilityID, create_dissector_handle(dissect_UERadioCapabilityID_PDU, proto_s1ap));
18745 dissector_add_uint("s1ap.ies", id_UERadioCapability_NR_Format, create_dissector_handle(dissect_UERadioCapability_PDU, proto_s1ap));
18746 dissector_add_uint("s1ap.ies", id_DAPSResponseInfoItem, create_dissector_handle(dissect_DAPSResponseInfoItem_PDU, proto_s1ap));
18747 dissector_add_uint("s1ap.ies", id_NotifySourceeNB, create_dissector_handle(dissect_NotifySourceeNB_PDU, proto_s1ap));
18748 dissector_add_uint("s1ap.ies", id_eNB_EarlyStatusTransfer_TransparentContainer, create_dissector_handle(dissect_ENB_EarlyStatusTransfer_TransparentContainer_PDU, proto_s1ap));
18749 dissector_add_uint("s1ap.ies", id_Bearers_SubjectToEarlyStatusTransfer_Item, create_dissector_handle(dissect_Bearers_SubjectToEarlyStatusTransfer_Item_PDU, proto_s1ap));
18750 dissector_add_uint("s1ap.ies", id_WUS_Assistance_Information, create_dissector_handle(dissect_WUS_Assistance_Information_PDU, proto_s1ap));
18751 dissector_add_uint("s1ap.ies", id_NB_IoT_PagingDRX, create_dissector_handle(dissect_NB_IoT_PagingDRX_PDU, proto_s1ap));
18752 dissector_add_uint("s1ap.ies", id_UERadioCapabilityForPaging_NR_Format, create_dissector_handle(dissect_UERadioCapabilityForPaging_PDU, proto_s1ap));
18753 dissector_add_uint("s1ap.ies", id_PagingCause, create_dissector_handle(dissect_PagingCause_PDU, proto_s1ap));
18754 dissector_add_uint("s1ap.ies", id_E_RABSecurityResultItem, create_dissector_handle(dissect_E_RABSecurityResultItem_PDU, proto_s1ap));
18755 dissector_add_uint("s1ap.ies", id_LTE_NTN_TAI_Information, create_dissector_handle(dissect_LTE_NTN_TAI_Information_PDU, proto_s1ap));
18756 dissector_add_uint("s1ap.ies", id_E_RABToBeUpdatedList, create_dissector_handle(dissect_E_RABToBeUpdatedList_PDU, proto_s1ap));
18757 dissector_add_uint("s1ap.ies", id_E_RABToBeUpdatedItem, create_dissector_handle(dissect_E_RABToBeUpdatedItem_PDU, proto_s1ap));
18758 dissector_add_uint("s1ap.ies", id_Bearers_SubjectToDLDiscarding_Item, create_dissector_handle(dissect_Bearers_SubjectToDLDiscarding_Item_PDU, proto_s1ap));
18759 dissector_add_uint("s1ap.extension", id_Data_Forwarding_Not_Possible, create_dissector_handle(dissect_Data_Forwarding_Not_Possible_PDU, proto_s1ap));
18760 dissector_add_uint("s1ap.extension", id_Time_Synchronisation_Info, create_dissector_handle(dissect_TimeSynchronisationInfo_PDU, proto_s1ap));
18761 dissector_add_uint("s1ap.extension", id_x2TNLConfigurationInfo, create_dissector_handle(dissect_X2TNLConfigurationInfo_PDU, proto_s1ap));
18762 dissector_add_uint("s1ap.extension", id_eNBX2ExtendedTransportLayerAddresses, create_dissector_handle(dissect_ENBX2ExtTLAs_PDU, proto_s1ap));
18763 dissector_add_uint("s1ap.extension", id_Correlation_ID, create_dissector_handle(dissect_Correlation_ID_PDU, proto_s1ap));
18764 dissector_add_uint("s1ap.extension", id_MDTConfiguration, create_dissector_handle(dissect_MDT_Configuration_PDU, proto_s1ap));
18765 dissector_add_uint("s1ap.extension", id_Time_UE_StayedInCell_EnhancedGranularity, create_dissector_handle(dissect_Time_UE_StayedInCell_EnhancedGranularity_PDU, proto_s1ap));
18766 dissector_add_uint("s1ap.extension", id_HO_Cause, create_dissector_handle(dissect_Cause_PDU, proto_s1ap));
18767 dissector_add_uint("s1ap.extension", id_M3Configuration, create_dissector_handle(dissect_M3Configuration_PDU, proto_s1ap));
18768 dissector_add_uint("s1ap.extension", id_M4Configuration, create_dissector_handle(dissect_M4Configuration_PDU, proto_s1ap));
18769 dissector_add_uint("s1ap.extension", id_M5Configuration, create_dissector_handle(dissect_M5Configuration_PDU, proto_s1ap));
18770 dissector_add_uint("s1ap.extension", id_MDT_Location_Info, create_dissector_handle(dissect_MDT_Location_Info_PDU, proto_s1ap));
18771 dissector_add_uint("s1ap.extension", id_MobilityInformation, create_dissector_handle(dissect_MobilityInformation_PDU, proto_s1ap));
18772 dissector_add_uint("s1ap.extension", id_SignallingBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_s1ap));
18773 dissector_add_uint("s1ap.extension", id_ULCOUNTValueExtended, create_dissector_handle(dissect_COUNTValueExtended_PDU, proto_s1ap));
18774 dissector_add_uint("s1ap.extension", id_DLCOUNTValueExtended, create_dissector_handle(dissect_COUNTValueExtended_PDU, proto_s1ap));
18775 dissector_add_uint("s1ap.extension", id_ReceiveStatusOfULPDCPSDUsExtended, create_dissector_handle(dissect_ReceiveStatusOfULPDCPSDUsExtended_PDU, proto_s1ap));
18776 dissector_add_uint("s1ap.extension", id_SIPTO_Correlation_ID, create_dissector_handle(dissect_Correlation_ID_PDU, proto_s1ap));
18777 dissector_add_uint("s1ap.extension", id_TransportInformation, create_dissector_handle(dissect_TransportInformation_PDU, proto_s1ap));
18778 dissector_add_uint("s1ap.extension", id_eNBIndirectX2TransportLayerAddresses, create_dissector_handle(dissect_ENBIndirectX2TransportLayerAddresses_PDU, proto_s1ap));
18779 dissector_add_uint("s1ap.extension", id_LoggedMBSFNMDT, create_dissector_handle(dissect_LoggedMBSFNMDT_PDU, proto_s1ap));
18780 dissector_add_uint("s1ap.extension", id_uE_HistoryInformationFromTheUE, create_dissector_handle(dissect_UE_HistoryInformationFromTheUE_PDU, proto_s1ap));
18781 dissector_add_uint("s1ap.extension", id_Muting_Availability_Indication, create_dissector_handle(dissect_MutingAvailabilityIndication_PDU, proto_s1ap));
18782 dissector_add_uint("s1ap.extension", id_Muting_Pattern_Information, create_dissector_handle(dissect_MutingPatternInformation_PDU, proto_s1ap));
18783 dissector_add_uint("s1ap.extension", id_Synchronisation_Information, create_dissector_handle(dissect_SynchronisationInformation_PDU, proto_s1ap));
18784 dissector_add_uint("s1ap.extension", id_ProSeUEtoNetworkRelaying, create_dissector_handle(dissect_ProSeUEtoNetworkRelaying_PDU, proto_s1ap));
18785 dissector_add_uint("s1ap.extension", id_ULCOUNTValuePDCP_SNlength18, create_dissector_handle(dissect_COUNTvaluePDCP_SNlength18_PDU, proto_s1ap));
18786 dissector_add_uint("s1ap.extension", id_DLCOUNTValuePDCP_SNlength18, create_dissector_handle(dissect_COUNTvaluePDCP_SNlength18_PDU, proto_s1ap));
18787 dissector_add_uint("s1ap.extension", id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, create_dissector_handle(dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU, proto_s1ap));
18788 dissector_add_uint("s1ap.extension", id_M6Configuration, create_dissector_handle(dissect_M6Configuration_PDU, proto_s1ap));
18789 dissector_add_uint("s1ap.extension", id_M7Configuration, create_dissector_handle(dissect_M7Configuration_PDU, proto_s1ap));
18790 dissector_add_uint("s1ap.extension", id_RAT_Type, create_dissector_handle(dissect_RAT_Type_PDU, proto_s1ap));
18791 dissector_add_uint("s1ap.extension", id_BearerType, create_dissector_handle(dissect_BearerType_PDU, proto_s1ap));
18792 dissector_add_uint("s1ap.extension", id_extended_e_RAB_MaximumBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
18793 dissector_add_uint("s1ap.extension", id_extended_e_RAB_MaximumBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
18794 dissector_add_uint("s1ap.extension", id_extended_e_RAB_GuaranteedBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
18795 dissector_add_uint("s1ap.extension", id_extended_e_RAB_GuaranteedBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
18796 dissector_add_uint("s1ap.extension", id_NRrestrictioninEPSasSecondaryRAT, create_dissector_handle(dissect_NRrestrictioninEPSasSecondaryRAT_PDU, proto_s1ap));
18797 dissector_add_uint("s1ap.extension", id_UEAppLayerMeasConfig, create_dissector_handle(dissect_UEAppLayerMeasConfig_PDU, proto_s1ap));
18798 dissector_add_uint("s1ap.extension", id_extended_uEaggregateMaximumBitRateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
18799 dissector_add_uint("s1ap.extension", id_extended_uEaggregateMaximumBitRateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
18800 dissector_add_uint("s1ap.extension", id_UnlicensedSpectrumRestriction, create_dissector_handle(dissect_UnlicensedSpectrumRestriction_PDU, proto_s1ap));
18801 dissector_add_uint("s1ap.extension", id_CNTypeRestrictions, create_dissector_handle(dissect_CNTypeRestrictions_PDU, proto_s1ap));
18802 dissector_add_uint("s1ap.extension", id_DownlinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_s1ap));
18803 dissector_add_uint("s1ap.extension", id_UplinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_s1ap));
18804 dissector_add_uint("s1ap.extension", id_serviceType, create_dissector_handle(dissect_ServiceType_PDU, proto_s1ap));
18805 dissector_add_uint("s1ap.extension", id_BluetoothMeasurementConfiguration, create_dissector_handle(dissect_BluetoothMeasurementConfiguration_PDU, proto_s1ap));
18806 dissector_add_uint("s1ap.extension", id_WLANMeasurementConfiguration, create_dissector_handle(dissect_WLANMeasurementConfiguration_PDU, proto_s1ap));
18807 dissector_add_uint("s1ap.extension", id_NRrestrictionin5GS, create_dissector_handle(dissect_NRrestrictionin5GS_PDU, proto_s1ap));
18808 dissector_add_uint("s1ap.extension", id_LastNG_RANPLMNIdentity, create_dissector_handle(dissect_PLMNidentity_PDU, proto_s1ap));
18809 dissector_add_uint("s1ap.extension", id_PSCellInformation, create_dissector_handle(dissect_s1ap_PSCellInformation_PDU, proto_s1ap));
18810 dissector_add_uint("s1ap.extension", id_IMSvoiceEPSfallbackfrom5G, create_dissector_handle(dissect_IMSvoiceEPSfallbackfrom5G_PDU, proto_s1ap));
18811 dissector_add_uint("s1ap.extension", id_RequestTypeAdditionalInfo, create_dissector_handle(dissect_RequestTypeAdditionalInfo_PDU, proto_s1ap));
18812 dissector_add_uint("s1ap.extension", id_ContextatSource, create_dissector_handle(dissect_ContextatSource_PDU, proto_s1ap));
18813 dissector_add_uint("s1ap.extension", id_Ethernet_Type, create_dissector_handle(dissect_Ethernet_Type_PDU, proto_s1ap));
18814 dissector_add_uint("s1ap.extension", id_IntersystemMeasurementConfiguration, create_dissector_handle(dissect_IntersystemMeasurementConfiguration_PDU, proto_s1ap));
18815 dissector_add_uint("s1ap.extension", id_SourceNodeID, create_dissector_handle(dissect_SourceNodeID_PDU, proto_s1ap));
18816 dissector_add_uint("s1ap.extension", id_NB_IoT_RLF_Report_Container, create_dissector_handle(dissect_NB_IoT_RLF_Report_Container_PDU, proto_s1ap));
18817 dissector_add_uint("s1ap.extension", id_MDTConfigurationNR, create_dissector_handle(dissect_MDT_ConfigurationNR_PDU, proto_s1ap));
18818 dissector_add_uint("s1ap.extension", id_DAPSRequestInfo, create_dissector_handle(dissect_DAPSRequestInfo_PDU, proto_s1ap));
18819 dissector_add_uint("s1ap.extension", id_DAPSResponseInfoList, create_dissector_handle(dissect_DAPSResponseInfoList_PDU, proto_s1ap));
18820 dissector_add_uint("s1ap.extension", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_Address_PDU, proto_s1ap));
18821 dissector_add_uint("s1ap.extension", id_EmergencyIndicator, create_dissector_handle(dissect_EmergencyIndicator_PDU, proto_s1ap));
18822 dissector_add_uint("s1ap.extension", id_SourceTransportLayerAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap));
18823 dissector_add_uint("s1ap.extension", id_lastVisitedPSCellList, create_dissector_handle(dissect_LastVisitedPSCellList_PDU, proto_s1ap));
18824 dissector_add_uint("s1ap.extension", id_RACSIndication, create_dissector_handle(dissect_RACSIndication_PDU, proto_s1ap));
18825 dissector_add_uint("s1ap.extension", id_SecurityIndication, create_dissector_handle(dissect_SecurityIndication_PDU, proto_s1ap));
18826 dissector_add_uint("s1ap.extension", id_E_RABSecurityResultList, create_dissector_handle(dissect_E_RABSecurityResultList_PDU, proto_s1ap));
18827 dissector_add_uint("s1ap.extension", id_RAT_Restrictions, create_dissector_handle(dissect_RAT_Restrictions_PDU, proto_s1ap));
18828 dissector_add_uint("s1ap.extension", id_UEContextReferenceatSourceeNB, create_dissector_handle(dissect_ENB_UE_S1AP_ID_PDU, proto_s1ap));
18829 dissector_add_uint("s1ap.extension", id_LTE_NTN_TAI_Information, create_dissector_handle(dissect_LTE_NTN_TAI_Information_PDU, proto_s1ap));
18830 dissector_add_uint("s1ap.extension", id_SourceNodeTransportLayerAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap));
18831 dissector_add_uint("s1ap.extension", id_SourceSNID, create_dissector_handle(dissect_Global_RAN_NODE_ID_PDU, proto_s1ap));
18832 dissector_add_uint("s1ap.extension", id_LoggedMDTTrigger, create_dissector_handle(dissect_LoggedMDTTrigger_PDU, proto_s1ap));
18833 dissector_add_uint("s1ap.extension", id_SensorMeasurementConfiguration, create_dissector_handle(dissect_SensorMeasurementConfiguration_PDU, proto_s1ap));
18834 dissector_add_uint("s1ap.extension", id_M4ReportAmount, create_dissector_handle(dissect_M4ReportAmountMDT_PDU, proto_s1ap));
18835 dissector_add_uint("s1ap.extension", id_M5ReportAmount, create_dissector_handle(dissect_M5ReportAmountMDT_PDU, proto_s1ap));
18836 dissector_add_uint("s1ap.extension", id_M6ReportAmount, create_dissector_handle(dissect_M6ReportAmountMDT_PDU, proto_s1ap));
18837 dissector_add_uint("s1ap.extension", id_M7ReportAmount, create_dissector_handle(dissect_M7ReportAmountMDT_PDU, proto_s1ap));
18838 dissector_add_uint("s1ap.extension", id_TimeBasedHandoverInformation, create_dissector_handle(dissect_TimeBasedHandoverInformation_PDU, proto_s1ap));
18839 dissector_add_uint("s1ap.extension", id_Bearers_SubjectToDLDiscardingList, create_dissector_handle(dissect_Bearers_SubjectToDLDiscardingList_PDU, proto_s1ap));
18840 dissector_add_uint("s1ap.proc.imsg", id_HandoverPreparation, create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap));
18841 dissector_add_uint("s1ap.proc.sout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap));
18842 dissector_add_uint("s1ap.proc.uout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap));
18843 dissector_add_uint("s1ap.proc.imsg", id_HandoverResourceAllocation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_s1ap));
18844 dissector_add_uint("s1ap.proc.sout", id_HandoverResourceAllocation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_s1ap));
18845 dissector_add_uint("s1ap.proc.uout", id_HandoverResourceAllocation, create_dissector_handle(dissect_HandoverFailure_PDU, proto_s1ap));
18846 dissector_add_uint("s1ap.proc.imsg", id_HandoverNotification, create_dissector_handle(dissect_HandoverNotify_PDU, proto_s1ap));
18847 dissector_add_uint("s1ap.proc.imsg", id_PathSwitchRequest, create_dissector_handle(dissect_PathSwitchRequest_PDU, proto_s1ap));
18848 dissector_add_uint("s1ap.proc.sout", id_PathSwitchRequest, create_dissector_handle(dissect_PathSwitchRequestAcknowledge_PDU, proto_s1ap));
18849 dissector_add_uint("s1ap.proc.uout", id_PathSwitchRequest, create_dissector_handle(dissect_PathSwitchRequestFailure_PDU, proto_s1ap));
18850 dissector_add_uint("s1ap.proc.imsg", id_E_RABSetup, create_dissector_handle(dissect_E_RABSetupRequest_PDU, proto_s1ap));
18851 dissector_add_uint("s1ap.proc.sout", id_E_RABSetup, create_dissector_handle(dissect_E_RABSetupResponse_PDU, proto_s1ap));
18852 dissector_add_uint("s1ap.proc.imsg", id_E_RABModify, create_dissector_handle(dissect_E_RABModifyRequest_PDU, proto_s1ap));
18853 dissector_add_uint("s1ap.proc.sout", id_E_RABModify, create_dissector_handle(dissect_E_RABModifyResponse_PDU, proto_s1ap));
18854 dissector_add_uint("s1ap.proc.imsg", id_E_RABRelease, create_dissector_handle(dissect_E_RABReleaseCommand_PDU, proto_s1ap));
18855 dissector_add_uint("s1ap.proc.sout", id_E_RABRelease, create_dissector_handle(dissect_E_RABReleaseResponse_PDU, proto_s1ap));
18856 dissector_add_uint("s1ap.proc.imsg", id_E_RABReleaseIndication, create_dissector_handle(dissect_E_RABReleaseIndication_PDU, proto_s1ap));
18857 dissector_add_uint("s1ap.proc.imsg", id_InitialContextSetup, create_dissector_handle(dissect_InitialContextSetupRequest_PDU, proto_s1ap));
18858 dissector_add_uint("s1ap.proc.sout", id_InitialContextSetup, create_dissector_handle(dissect_InitialContextSetupResponse_PDU, proto_s1ap));
18859 dissector_add_uint("s1ap.proc.uout", id_InitialContextSetup, create_dissector_handle(dissect_InitialContextSetupFailure_PDU, proto_s1ap));
18860 dissector_add_uint("s1ap.proc.imsg", id_UEContextReleaseRequest, create_dissector_handle(dissect_UEContextReleaseRequest_PDU, proto_s1ap));
18861 dissector_add_uint("s1ap.proc.imsg", id_Paging, create_dissector_handle(dissect_Paging_PDU, proto_s1ap));
18862 dissector_add_uint("s1ap.proc.imsg", id_downlinkNASTransport, create_dissector_handle(dissect_DownlinkNASTransport_PDU, proto_s1ap));
18863 dissector_add_uint("s1ap.proc.imsg", id_initialUEMessage, create_dissector_handle(dissect_InitialUEMessage_PDU, proto_s1ap));
18864 dissector_add_uint("s1ap.proc.imsg", id_uplinkNASTransport, create_dissector_handle(dissect_UplinkNASTransport_PDU, proto_s1ap));
18865 dissector_add_uint("s1ap.proc.imsg", id_NASNonDeliveryIndication, create_dissector_handle(dissect_NASNonDeliveryIndication_PDU, proto_s1ap));
18866 dissector_add_uint("s1ap.proc.imsg", id_HandoverCancel, create_dissector_handle(dissect_HandoverCancel_PDU, proto_s1ap));
18867 dissector_add_uint("s1ap.proc.sout", id_HandoverCancel, create_dissector_handle(dissect_HandoverCancelAcknowledge_PDU, proto_s1ap));
18868 dissector_add_uint("s1ap.proc.imsg", id_Reset, create_dissector_handle(dissect_Reset_PDU, proto_s1ap));
18869 dissector_add_uint("s1ap.proc.sout", id_Reset, create_dissector_handle(dissect_ResetAcknowledge_PDU, proto_s1ap));
18870 dissector_add_uint("s1ap.proc.imsg", id_ErrorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_s1ap));
18871 dissector_add_uint("s1ap.proc.imsg", id_S1Setup, create_dissector_handle(dissect_S1SetupRequest_PDU, proto_s1ap));
18872 dissector_add_uint("s1ap.proc.sout", id_S1Setup, create_dissector_handle(dissect_S1SetupResponse_PDU, proto_s1ap));
18873 dissector_add_uint("s1ap.proc.uout", id_S1Setup, create_dissector_handle(dissect_S1SetupFailure_PDU, proto_s1ap));
18874 dissector_add_uint("s1ap.proc.imsg", id_DownlinkS1cdma2000tunnelling, create_dissector_handle(dissect_DownlinkS1cdma2000tunnelling_PDU, proto_s1ap));
18875 dissector_add_uint("s1ap.proc.imsg", id_ENBConfigurationUpdate, create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_s1ap));
18876 dissector_add_uint("s1ap.proc.sout", id_ENBConfigurationUpdate, create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_s1ap));
18877 dissector_add_uint("s1ap.proc.uout", id_ENBConfigurationUpdate, create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_s1ap));
18878 dissector_add_uint("s1ap.proc.imsg", id_MMEConfigurationUpdate, create_dissector_handle(dissect_MMEConfigurationUpdate_PDU, proto_s1ap));
18879 dissector_add_uint("s1ap.proc.sout", id_MMEConfigurationUpdate, create_dissector_handle(dissect_MMEConfigurationUpdateAcknowledge_PDU, proto_s1ap));
18880 dissector_add_uint("s1ap.proc.uout", id_MMEConfigurationUpdate, create_dissector_handle(dissect_MMEConfigurationUpdateFailure_PDU, proto_s1ap));
18881 dissector_add_uint("s1ap.proc.imsg", id_UplinkS1cdma2000tunnelling, create_dissector_handle(dissect_UplinkS1cdma2000tunnelling_PDU, proto_s1ap));
18882 dissector_add_uint("s1ap.proc.imsg", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationRequest_PDU, proto_s1ap));
18883 dissector_add_uint("s1ap.proc.sout", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationResponse_PDU, proto_s1ap));
18884 dissector_add_uint("s1ap.proc.uout", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationFailure_PDU, proto_s1ap));
18885 dissector_add_uint("s1ap.proc.imsg", id_UECapabilityInfoIndication, create_dissector_handle(dissect_UECapabilityInfoIndication_PDU, proto_s1ap));
18886 dissector_add_uint("s1ap.proc.imsg", id_UEContextRelease, create_dissector_handle(dissect_UEContextReleaseCommand_PDU, proto_s1ap));
18887 dissector_add_uint("s1ap.proc.sout", id_UEContextRelease, create_dissector_handle(dissect_UEContextReleaseComplete_PDU, proto_s1ap));
18888 dissector_add_uint("s1ap.proc.imsg", id_eNBStatusTransfer, create_dissector_handle(dissect_ENBStatusTransfer_PDU, proto_s1ap));
18889 dissector_add_uint("s1ap.proc.imsg", id_MMEStatusTransfer, create_dissector_handle(dissect_MMEStatusTransfer_PDU, proto_s1ap));
18890 dissector_add_uint("s1ap.proc.imsg", id_DeactivateTrace, create_dissector_handle(dissect_DeactivateTrace_PDU, proto_s1ap));
18891 dissector_add_uint("s1ap.proc.imsg", id_TraceStart, create_dissector_handle(dissect_TraceStart_PDU, proto_s1ap));
18892 dissector_add_uint("s1ap.proc.imsg", id_TraceFailureIndication, create_dissector_handle(dissect_TraceFailureIndication_PDU, proto_s1ap));
18893 dissector_add_uint("s1ap.proc.imsg", id_LocationReportingControl, create_dissector_handle(dissect_LocationReportingControl_PDU, proto_s1ap));
18894 dissector_add_uint("s1ap.proc.imsg", id_LocationReportingFailureIndication, create_dissector_handle(dissect_LocationReportingFailureIndication_PDU, proto_s1ap));
18895 dissector_add_uint("s1ap.proc.imsg", id_LocationReport, create_dissector_handle(dissect_LocationReport_PDU, proto_s1ap));
18896 dissector_add_uint("s1ap.proc.imsg", id_OverloadStart, create_dissector_handle(dissect_OverloadStart_PDU, proto_s1ap));
18897 dissector_add_uint("s1ap.proc.imsg", id_OverloadStop, create_dissector_handle(dissect_OverloadStop_PDU, proto_s1ap));
18898 dissector_add_uint("s1ap.proc.imsg", id_WriteReplaceWarning, create_dissector_handle(dissect_WriteReplaceWarningRequest_PDU, proto_s1ap));
18899 dissector_add_uint("s1ap.proc.sout", id_WriteReplaceWarning, create_dissector_handle(dissect_WriteReplaceWarningResponse_PDU, proto_s1ap));
18900 dissector_add_uint("s1ap.proc.imsg", id_eNBDirectInformationTransfer, create_dissector_handle(dissect_ENBDirectInformationTransfer_PDU, proto_s1ap));
18901 dissector_add_uint("s1ap.proc.imsg", id_MMEDirectInformationTransfer, create_dissector_handle(dissect_MMEDirectInformationTransfer_PDU, proto_s1ap));
18902 dissector_add_uint("s1ap.proc.imsg", id_eNBConfigurationTransfer, create_dissector_handle(dissect_ENBConfigurationTransfer_PDU, proto_s1ap));
18903 dissector_add_uint("s1ap.proc.imsg", id_MMEConfigurationTransfer, create_dissector_handle(dissect_MMEConfigurationTransfer_PDU, proto_s1ap));
18904 dissector_add_uint("s1ap.proc.imsg", id_CellTrafficTrace, create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_s1ap));
18905 dissector_add_uint("s1ap.proc.imsg", id_PrivateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_s1ap));
18906 dissector_add_uint("s1ap.proc.imsg", id_PWSRestartIndication, create_dissector_handle(dissect_PWSRestartIndication_PDU, proto_s1ap));
18907 dissector_add_uint("s1ap.proc.imsg", id_Kill, create_dissector_handle(dissect_KillRequest_PDU, proto_s1ap));
18908 dissector_add_uint("s1ap.proc.sout", id_Kill, create_dissector_handle(dissect_KillResponse_PDU, proto_s1ap));
18909 dissector_add_uint("s1ap.proc.imsg", id_downlinkUEAssociatedLPPaTransport, create_dissector_handle(dissect_DownlinkUEAssociatedLPPaTransport_PDU, proto_s1ap));
18910 dissector_add_uint("s1ap.proc.imsg", id_uplinkUEAssociatedLPPaTransport, create_dissector_handle(dissect_UplinkUEAssociatedLPPaTransport_PDU, proto_s1ap));
18911 dissector_add_uint("s1ap.proc.imsg", id_downlinkNonUEAssociatedLPPaTransport, create_dissector_handle(dissect_DownlinkNonUEAssociatedLPPaTransport_PDU, proto_s1ap));
18912 dissector_add_uint("s1ap.proc.imsg", id_uplinkNonUEAssociatedLPPaTransport, create_dissector_handle(dissect_UplinkNonUEAssociatedLPPaTransport_PDU, proto_s1ap));
18913 dissector_add_uint("s1ap.proc.imsg", id_UERadioCapabilityMatch, create_dissector_handle(dissect_UERadioCapabilityMatchRequest_PDU, proto_s1ap));
18914 dissector_add_uint("s1ap.proc.sout", id_UERadioCapabilityMatch, create_dissector_handle(dissect_UERadioCapabilityMatchResponse_PDU, proto_s1ap));
18915 dissector_add_uint("s1ap.proc.imsg", id_E_RABModificationIndication, create_dissector_handle(dissect_E_RABModificationIndication_PDU, proto_s1ap));
18916 dissector_add_uint("s1ap.proc.sout", id_E_RABModificationIndication, create_dissector_handle(dissect_E_RABModificationConfirm_PDU, proto_s1ap));
18917 dissector_add_uint("s1ap.proc.imsg", id_UEContextModificationIndication, create_dissector_handle(dissect_UEContextModificationIndication_PDU, proto_s1ap));
18918 dissector_add_uint("s1ap.proc.sout", id_UEContextModificationIndication, create_dissector_handle(dissect_UEContextModificationConfirm_PDU, proto_s1ap));
18919 dissector_add_uint("s1ap.proc.imsg", id_RerouteNASRequest, create_dissector_handle(dissect_RerouteNASRequest_PDU, proto_s1ap));
18920 dissector_add_uint("s1ap.proc.imsg", id_PWSFailureIndication, create_dissector_handle(dissect_PWSFailureIndication_PDU, proto_s1ap));
18921 dissector_add_uint("s1ap.proc.imsg", id_ConnectionEstablishmentIndication, create_dissector_handle(dissect_ConnectionEstablishmentIndication_PDU, proto_s1ap));
18922 dissector_add_uint("s1ap.proc.imsg", id_UEContextSuspend, create_dissector_handle(dissect_UEContextSuspendRequest_PDU, proto_s1ap));
18923 dissector_add_uint("s1ap.proc.sout", id_UEContextSuspend, create_dissector_handle(dissect_UEContextSuspendResponse_PDU, proto_s1ap));
18924 dissector_add_uint("s1ap.proc.imsg", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeRequest_PDU, proto_s1ap));
18925 dissector_add_uint("s1ap.proc.sout", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeResponse_PDU, proto_s1ap));
18926 dissector_add_uint("s1ap.proc.uout", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeFailure_PDU, proto_s1ap));
18927 dissector_add_uint("s1ap.proc.imsg", id_NASDeliveryIndication, create_dissector_handle(dissect_NASDeliveryIndication_PDU, proto_s1ap));
18928 dissector_add_uint("s1ap.proc.imsg", id_RetrieveUEInformation, create_dissector_handle(dissect_RetrieveUEInformation_PDU, proto_s1ap));
18929 dissector_add_uint("s1ap.proc.imsg", id_UEInformationTransfer, create_dissector_handle(dissect_UEInformationTransfer_PDU, proto_s1ap));
18930 dissector_add_uint("s1ap.proc.imsg", id_eNBCPRelocationIndication, create_dissector_handle(dissect_ENBCPRelocationIndication_PDU, proto_s1ap));
18931 dissector_add_uint("s1ap.proc.imsg", id_MMECPRelocationIndication, create_dissector_handle(dissect_MMECPRelocationIndication_PDU, proto_s1ap));
18932 dissector_add_uint("s1ap.proc.imsg", id_SecondaryRATDataUsageReport, create_dissector_handle(dissect_SecondaryRATDataUsageReport_PDU, proto_s1ap));
18933 dissector_add_uint("s1ap.proc.imsg", id_UERadioCapabilityIDMapping, create_dissector_handle(dissect_UERadioCapabilityIDMappingRequest_PDU, proto_s1ap));
18934 dissector_add_uint("s1ap.proc.sout", id_UERadioCapabilityIDMapping, create_dissector_handle(dissect_UERadioCapabilityIDMappingResponse_PDU, proto_s1ap));
18935 dissector_add_uint("s1ap.proc.imsg", id_HandoverSuccess, create_dissector_handle(dissect_HandoverSuccess_PDU, proto_s1ap));
18936 dissector_add_uint("s1ap.proc.imsg", id_eNBEarlyStatusTransfer, create_dissector_handle(dissect_ENBEarlyStatusTransfer_PDU, proto_s1ap));
18937 dissector_add_uint("s1ap.proc.imsg", id_MMEEarlyStatusTransfer, create_dissector_handle(dissect_MMEEarlyStatusTransfer_PDU, proto_s1ap));
18941 /*--- proto_register_s1ap -------------------------------------------*/
18942 void proto_register_s1ap(void) {
18944 /* List of fields */
18946 static hf_register_info hf[] = {
18947 { &hf_s1ap_transportLayerAddressIPv4,
18948 { "transportLayerAddress(IPv4)", "s1ap.transportLayerAddressIPv4",
18949 FT_IPv4, BASE_NONE, NULL, 0,
18950 NULL, HFILL }},
18951 { &hf_s1ap_transportLayerAddressIPv6,
18952 { "transportLayerAddress(IPv6)", "s1ap.transportLayerAddressIPv6",
18953 FT_IPv6, BASE_NONE, NULL, 0,
18954 NULL, HFILL }},
18955 { &hf_s1ap_E_UTRAN_Trace_ID_TraceID,
18956 { "TraceID", "s1ap.E_UTRAN_Trace_ID.TraceID",
18957 FT_UINT24, BASE_HEX, NULL, 0,
18958 NULL, HFILL }},
18959 { &hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference,
18960 { "TraceRecordingSessionReference", "s1ap.E_UTRAN_Trace_ID.TraceRecordingSessionReference",
18961 FT_UINT16, BASE_HEX, NULL, 0,
18962 NULL, HFILL }},
18963 { &hf_s1ap_interfacesToTrace_S1_MME,
18964 { "S1-MME", "s1ap.interfacesToTrace.S1_MME",
18965 FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x80,
18966 NULL, HFILL }},
18967 { &hf_s1ap_interfacesToTrace_X2,
18968 { "X2", "s1ap.interfacesToTrace.X2",
18969 FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x40,
18970 NULL, HFILL }},
18971 { &hf_s1ap_interfacesToTrace_Uu,
18972 { "Uu", "s1ap.interfacesToTrace.Uu",
18973 FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x20,
18974 NULL, HFILL }},
18975 { &hf_s1ap_interfacesToTrace_F1_C,
18976 { "F1-C", "s1ap.interfacesToTrace.F1_C",
18977 FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x10,
18978 NULL, HFILL }},
18979 { &hf_s1ap_interfacesToTrace_E1,
18980 { "E1", "s1ap.interfacesToTrace.E1",
18981 FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x08,
18982 NULL, HFILL }},
18983 { &hf_s1ap_interfacesToTrace_Reserved,
18984 { "Reserved", "s1ap.interfacesToTrace.Reserved",
18985 FT_UINT8, BASE_HEX, NULL, 0x07,
18986 NULL, HFILL }},
18987 { &hf_s1ap_encryptionAlgorithms_EEA1,
18988 { "128-EEA1", "s1ap.encryptionAlgorithms.EEA1",
18989 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
18990 NULL, HFILL }},
18991 { &hf_s1ap_encryptionAlgorithms_EEA2,
18992 { "128-EEA2", "s1ap.encryptionAlgorithms.EEA2",
18993 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
18994 NULL, HFILL }},
18995 { &hf_s1ap_encryptionAlgorithms_EEA3,
18996 { "128-EEA3", "s1ap.encryptionAlgorithms.EEA3",
18997 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
18998 NULL, HFILL }},
18999 { &hf_s1ap_encryptionAlgorithms_Reserved,
19000 { "Reserved", "s1ap.encryptionAlgorithms.Reserved",
19001 FT_UINT16, BASE_HEX, NULL, 0x1fff,
19002 NULL, HFILL }},
19003 { &hf_s1ap_integrityProtectionAlgorithms_EIA1,
19004 { "128-EIA1", "s1ap.integrityProtectionAlgorithms.EIA1",
19005 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
19006 NULL, HFILL }},
19007 { &hf_s1ap_integrityProtectionAlgorithms_EIA2,
19008 { "128-EIA2", "s1ap.integrityProtectionAlgorithms.EIA2",
19009 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
19010 NULL, HFILL }},
19011 { &hf_s1ap_integrityProtectionAlgorithms_EIA3,
19012 { "128-EIA3", "s1ap.integrityProtectionAlgorithms.EIA3",
19013 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
19014 NULL, HFILL }},
19015 { &hf_s1ap_integrityProtectionAlgorithms_EIA7,
19016 { "EIA7", "s1ap.integrityProtectionAlgorithms.EIA7",
19017 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x0200,
19018 NULL, HFILL }},
19019 { &hf_s1ap_integrityProtectionAlgorithms_Reserved,
19020 { "Reserved", "s1ap.integrityProtectionAlgorithms.Reserved",
19021 FT_UINT16, BASE_HEX, NULL, 0x1dff,
19022 NULL, HFILL }},
19023 { &hf_s1ap_SerialNumber_gs,
19024 { "Geographical Scope", "s1ap.SerialNumber.gs",
19025 FT_UINT16, BASE_DEC, VALS(s1ap_serialNumber_gs_vals), 0xc000,
19026 NULL, HFILL }},
19027 { &hf_s1ap_SerialNumber_msg_code,
19028 { "Message Code", "s1ap.SerialNumber.msg_code",
19029 FT_UINT16, BASE_DEC, NULL, 0x3ff0,
19030 NULL, HFILL }},
19031 { &hf_s1ap_SerialNumber_upd_nb,
19032 { "Update Number", "s1ap.SerialNumber.upd_nb",
19033 FT_UINT16, BASE_DEC, NULL, 0x000f,
19034 NULL, HFILL }},
19035 { &hf_s1ap_WarningType_value,
19036 { "Warning Type Value", "s1ap.WarningType.value",
19037 FT_UINT16, BASE_DEC, VALS(s1ap_warningType_vals), 0xfe00,
19038 NULL, HFILL }},
19039 { &hf_s1ap_WarningType_emergency_user_alert,
19040 { "Emergency User Alert", "s1ap.WarningType.emergency_user_alert",
19041 FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
19042 NULL, HFILL }},
19043 { &hf_s1ap_WarningType_popup,
19044 { "Popup", "s1ap.WarningType.popup",
19045 FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
19046 NULL, HFILL }},
19047 { &hf_s1ap_WarningMessageContents_nb_pages,
19048 { "Number of Pages", "s1ap.WarningMessageContents.nb_pages",
19049 FT_UINT8, BASE_DEC, NULL, 0,
19050 NULL, HFILL }},
19051 { &hf_s1ap_WarningMessageContents_decoded_page,
19052 { "Decoded Page", "s1ap.WarningMessageContents.decoded_page",
19053 FT_STRING, BASE_NONE, NULL, 0,
19054 NULL, HFILL }},
19055 { &hf_s1ap_measurementsToActivate_M1,
19056 { "M1", "s1ap.measurementsToActivate.M1",
19057 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x80,
19058 NULL, HFILL }},
19059 { &hf_s1ap_measurementsToActivate_M2,
19060 { "M2", "s1ap.measurementsToActivate.M2",
19061 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x40,
19062 NULL, HFILL }},
19063 { &hf_s1ap_measurementsToActivate_M3,
19064 { "M3", "s1ap.measurementsToActivate.M3",
19065 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x20,
19066 NULL, HFILL }},
19067 { &hf_s1ap_measurementsToActivate_M4,
19068 { "M4", "s1ap.measurementsToActivate.M4",
19069 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x10,
19070 NULL, HFILL }},
19071 { &hf_s1ap_measurementsToActivate_M5,
19072 { "M5", "s1ap.measurementsToActivate.M5",
19073 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x08,
19074 NULL, HFILL }},
19075 { &hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered,
19076 { "LoggingOfM1FromEventTriggeredMeasurementReports", "s1ap.measurementsToActivate.LoggingM1FromEventTriggered",
19077 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x04,
19078 NULL, HFILL }},
19079 { &hf_s1ap_measurementsToActivate_M6,
19080 { "M6", "s1ap.measurementsToActivate.M6",
19081 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x02,
19082 NULL, HFILL }},
19083 { &hf_s1ap_measurementsToActivate_M7,
19084 { "M7", "s1ap.measurementsToActivate.M7",
19085 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x01,
19086 NULL, HFILL }},
19087 { &hf_s1ap_MDT_Location_Info_GNSS,
19088 { "GNSS", "s1ap.MDT_Location_Info.GNSS",
19089 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x80,
19090 NULL, HFILL }},
19091 { &hf_s1ap_MDT_Location_Info_E_CID,
19092 { "E-CID", "s1ap.MDT_Location_Info.E_CID",
19093 FT_BOOLEAN, 8, TFS(&tfs_activate_do_not_activate), 0x40,
19094 NULL, HFILL }},
19095 { &hf_s1ap_MDT_Location_Info_Reserved,
19096 { "Reserved", "s1ap.MDT_Location_Info.Reserved",
19097 FT_UINT8, BASE_HEX, NULL, 0x3f,
19098 NULL, HFILL }},
19099 { &hf_s1ap_NRencryptionAlgorithms_NEA1,
19100 { "128-NEA1", "s1ap.NRencryptionAlgorithms.NEA1",
19101 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
19102 NULL, HFILL }},
19103 { &hf_s1ap_NRencryptionAlgorithms_NEA2,
19104 { "128-NEA2", "s1ap.NRencryptionAlgorithms.NEA2",
19105 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
19106 NULL, HFILL }},
19107 { &hf_s1ap_NRencryptionAlgorithms_NEA3,
19108 { "128-NEA3", "s1ap.NRencryptionAlgorithms.NEA3",
19109 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
19110 NULL, HFILL }},
19111 { &hf_s1ap_NRencryptionAlgorithms_Reserved,
19112 { "Reserved", "s1ap.NRencryptionAlgorithms.Reserved",
19113 FT_UINT16, BASE_HEX, NULL, 0x1fff,
19114 NULL, HFILL }},
19115 { &hf_s1ap_NRintegrityProtectionAlgorithms_NIA1,
19116 { "128-NIA1", "s1ap.NRintegrityProtectionAlgorithms.NIA1",
19117 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
19118 NULL, HFILL }},
19119 { &hf_s1ap_NRintegrityProtectionAlgorithms_NIA2,
19120 { "128-NIA2", "s1ap.NRintegrityProtectionAlgorithms.NIA2",
19121 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
19122 NULL, HFILL }},
19123 { &hf_s1ap_NRintegrityProtectionAlgorithms_NIA3,
19124 { "128-NIA3", "s1ap.NRintegrityProtectionAlgorithms.NIA3",
19125 FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
19126 NULL, HFILL }},
19127 { &hf_s1ap_NRintegrityProtectionAlgorithms_Reserved,
19128 { "Reserved", "s1ap.NRintegrityProtectionAlgorithms.Reserved",
19129 FT_UINT16, BASE_HEX, NULL, 0x1fff,
19130 NULL, HFILL }},
19131 { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
19132 { "QoE Measurement for streaming service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_streaming_service",
19133 FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80,
19134 NULL, HFILL }},
19135 { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
19136 { "QoE Measurement for MTSI service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_MTSI_service",
19137 FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40,
19138 NULL, HFILL }},
19139 { &hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
19140 { "Reserved", "s1ap.UE_Application_Layer_Measurement_Capability.Reserved",
19141 FT_UINT8, BASE_HEX, NULL, 0x3f,
19142 NULL, HFILL }},
19143 { &hf_s1ap_rAT_RestrictionInformation_LEO,
19144 { "LEO", "s1ap.rAT_RestrictionInformation.LEO",
19145 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
19146 NULL, HFILL }},
19147 { &hf_s1ap_rAT_RestrictionInformation_MEO,
19148 { "MEO", "s1ap.rAT_RestrictionInformation.MEO",
19149 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
19150 NULL, HFILL }},
19151 { &hf_s1ap_rAT_RestrictionInformation_GEO,
19152 { "GEO", "s1ap.rAT_RestrictionInformation.GEO",
19153 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
19154 NULL, HFILL }},
19155 { &hf_s1ap_rAT_RestrictionInformation_OTHERSAT,
19156 { "OTHERSAT", "s1ap.rAT_RestrictionInformation.OTHERSAT",
19157 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
19158 NULL, HFILL }},
19159 { &hf_s1ap_rAT_RestrictionInformation_NR_LEO,
19160 { "NR-LEO", "s1ap.rAT_RestrictionInformation.NR_LEO",
19161 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x08,
19162 NULL, HFILL }},
19163 { &hf_s1ap_rAT_RestrictionInformation_NR_MEO,
19164 { "NR-MEO", "s1ap.rAT_RestrictionInformation.NR_MEO",
19165 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x04,
19166 NULL, HFILL }},
19167 { &hf_s1ap_rAT_RestrictionInformation_NR_GEO,
19168 { "NR-GEO", "s1ap.rAT_RestrictionInformation.NR_GEO",
19169 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x02,
19170 NULL, HFILL }},
19171 { &hf_s1ap_rAT_RestrictionInformation_NR_OTHERSAT,
19172 { "NR-OTHERSAT", "s1ap.rAT_RestrictionInformation.NR_OTHERSAT",
19173 FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x01,
19174 NULL, HFILL }},
19175 { &hf_s1ap_Additional_GUTI_PDU,
19176 { "Additional-GUTI", "s1ap.Additional_GUTI_element",
19177 FT_NONE, BASE_NONE, NULL, 0,
19178 NULL, HFILL }},
19179 { &hf_s1ap_AdditionalRRMPriorityIndex_PDU,
19180 { "AdditionalRRMPriorityIndex", "s1ap.AdditionalRRMPriorityIndex",
19181 FT_BYTES, BASE_NONE, NULL, 0,
19182 NULL, HFILL }},
19183 { &hf_s1ap_AerialUEsubscriptionInformation_PDU,
19184 { "AerialUEsubscriptionInformation", "s1ap.AerialUEsubscriptionInformation",
19185 FT_UINT32, BASE_DEC, VALS(s1ap_AerialUEsubscriptionInformation_vals), 0,
19186 NULL, HFILL }},
19187 { &hf_s1ap_AssistanceDataForPaging_PDU,
19188 { "AssistanceDataForPaging", "s1ap.AssistanceDataForPaging_element",
19189 FT_NONE, BASE_NONE, NULL, 0,
19190 NULL, HFILL }},
19191 { &hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU,
19192 { "Bearers-SubjectToStatusTransfer-Item", "s1ap.Bearers_SubjectToStatusTransfer_Item_element",
19193 FT_NONE, BASE_NONE, NULL, 0,
19194 NULL, HFILL }},
19195 { &hf_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item_PDU,
19196 { "Bearers-SubjectToEarlyStatusTransfer-Item", "s1ap.Bearers_SubjectToEarlyStatusTransfer_Item_element",
19197 FT_NONE, BASE_NONE, NULL, 0,
19198 NULL, HFILL }},
19199 { &hf_s1ap_Bearers_SubjectToDLDiscardingList_PDU,
19200 { "Bearers-SubjectToDLDiscardingList", "s1ap.Bearers_SubjectToDLDiscardingList",
19201 FT_UINT32, BASE_DEC, NULL, 0,
19202 NULL, HFILL }},
19203 { &hf_s1ap_Bearers_SubjectToDLDiscarding_Item_PDU,
19204 { "Bearers-SubjectToDLDiscarding-Item", "s1ap.Bearers_SubjectToDLDiscarding_Item_element",
19205 FT_NONE, BASE_NONE, NULL, 0,
19206 NULL, HFILL }},
19207 { &hf_s1ap_BearerType_PDU,
19208 { "BearerType", "s1ap.BearerType",
19209 FT_UINT32, BASE_DEC, VALS(s1ap_BearerType_vals), 0,
19210 NULL, HFILL }},
19211 { &hf_s1ap_BluetoothMeasurementConfiguration_PDU,
19212 { "BluetoothMeasurementConfiguration", "s1ap.BluetoothMeasurementConfiguration_element",
19213 FT_NONE, BASE_NONE, NULL, 0,
19214 NULL, HFILL }},
19215 { &hf_s1ap_BroadcastCancelledAreaList_PDU,
19216 { "BroadcastCancelledAreaList", "s1ap.BroadcastCancelledAreaList",
19217 FT_UINT32, BASE_DEC, VALS(s1ap_BroadcastCancelledAreaList_vals), 0,
19218 NULL, HFILL }},
19219 { &hf_s1ap_BroadcastCompletedAreaList_PDU,
19220 { "BroadcastCompletedAreaList", "s1ap.BroadcastCompletedAreaList",
19221 FT_UINT32, BASE_DEC, VALS(s1ap_BroadcastCompletedAreaList_vals), 0,
19222 NULL, HFILL }},
19223 { &hf_s1ap_Cause_PDU,
19224 { "Cause", "s1ap.Cause",
19225 FT_UINT32, BASE_DEC, VALS(s1ap_Cause_vals), 0,
19226 NULL, HFILL }},
19227 { &hf_s1ap_CellAccessMode_PDU,
19228 { "CellAccessMode", "s1ap.CellAccessMode",
19229 FT_UINT32, BASE_DEC, VALS(s1ap_CellAccessMode_vals), 0,
19230 NULL, HFILL }},
19231 { &hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU,
19232 { "CellIdentifierAndCELevelForCECapableUEs", "s1ap.CellIdentifierAndCELevelForCECapableUEs_element",
19233 FT_NONE, BASE_NONE, NULL, 0,
19234 NULL, HFILL }},
19235 { &hf_s1ap_CE_mode_B_SupportIndicator_PDU,
19236 { "CE-mode-B-SupportIndicator", "s1ap.CE_mode_B_SupportIndicator",
19237 FT_UINT32, BASE_DEC, VALS(s1ap_CE_mode_B_SupportIndicator_vals), 0,
19238 NULL, HFILL }},
19239 { &hf_s1ap_Cdma2000PDU_PDU,
19240 { "Cdma2000PDU", "s1ap.Cdma2000PDU",
19241 FT_BYTES, BASE_NONE, NULL, 0,
19242 NULL, HFILL }},
19243 { &hf_s1ap_Cdma2000RATType_PDU,
19244 { "Cdma2000RATType", "s1ap.Cdma2000RATType",
19245 FT_UINT32, BASE_DEC, VALS(s1ap_Cdma2000RATType_vals), 0,
19246 NULL, HFILL }},
19247 { &hf_s1ap_Cdma2000SectorID_PDU,
19248 { "Cdma2000SectorID", "s1ap.Cdma2000SectorID",
19249 FT_BYTES, BASE_NONE, NULL, 0,
19250 NULL, HFILL }},
19251 { &hf_s1ap_Cdma2000HOStatus_PDU,
19252 { "Cdma2000HOStatus", "s1ap.Cdma2000HOStatus",
19253 FT_UINT32, BASE_DEC, VALS(s1ap_Cdma2000HOStatus_vals), 0,
19254 NULL, HFILL }},
19255 { &hf_s1ap_Cdma2000HORequiredIndication_PDU,
19256 { "Cdma2000HORequiredIndication", "s1ap.Cdma2000HORequiredIndication",
19257 FT_UINT32, BASE_DEC, VALS(s1ap_Cdma2000HORequiredIndication_vals), 0,
19258 NULL, HFILL }},
19259 { &hf_s1ap_Cdma2000OneXSRVCCInfo_PDU,
19260 { "Cdma2000OneXSRVCCInfo", "s1ap.Cdma2000OneXSRVCCInfo_element",
19261 FT_NONE, BASE_NONE, NULL, 0,
19262 NULL, HFILL }},
19263 { &hf_s1ap_Cdma2000OneXRAND_PDU,
19264 { "Cdma2000OneXRAND", "s1ap.Cdma2000OneXRAND",
19265 FT_BYTES, BASE_NONE, NULL, 0,
19266 NULL, HFILL }},
19267 { &hf_s1ap_CNDomain_PDU,
19268 { "CNDomain", "s1ap.CNDomain",
19269 FT_UINT32, BASE_DEC, VALS(s1ap_CNDomain_vals), 0,
19270 NULL, HFILL }},
19271 { &hf_s1ap_CNTypeRestrictions_PDU,
19272 { "CNTypeRestrictions", "s1ap.CNTypeRestrictions",
19273 FT_UINT32, BASE_DEC, NULL, 0,
19274 NULL, HFILL }},
19275 { &hf_s1ap_ConcurrentWarningMessageIndicator_PDU,
19276 { "ConcurrentWarningMessageIndicator", "s1ap.ConcurrentWarningMessageIndicator",
19277 FT_UINT32, BASE_DEC, VALS(s1ap_ConcurrentWarningMessageIndicator_vals), 0,
19278 NULL, HFILL }},
19279 { &hf_s1ap_ConnectedengNBList_PDU,
19280 { "ConnectedengNBList", "s1ap.ConnectedengNBList",
19281 FT_UINT32, BASE_DEC, NULL, 0,
19282 NULL, HFILL }},
19283 { &hf_s1ap_ContextatSource_PDU,
19284 { "ContextatSource", "s1ap.ContextatSource_element",
19285 FT_NONE, BASE_NONE, NULL, 0,
19286 NULL, HFILL }},
19287 { &hf_s1ap_Correlation_ID_PDU,
19288 { "Correlation-ID", "s1ap.Correlation_ID",
19289 FT_BYTES, BASE_NONE, NULL, 0,
19290 NULL, HFILL }},
19291 { &hf_s1ap_CSFallbackIndicator_PDU,
19292 { "CSFallbackIndicator", "s1ap.CSFallbackIndicator",
19293 FT_UINT32, BASE_DEC, VALS(s1ap_CSFallbackIndicator_vals), 0,
19294 NULL, HFILL }},
19295 { &hf_s1ap_AdditionalCSFallbackIndicator_PDU,
19296 { "AdditionalCSFallbackIndicator", "s1ap.AdditionalCSFallbackIndicator",
19297 FT_UINT32, BASE_DEC, VALS(s1ap_AdditionalCSFallbackIndicator_vals), 0,
19298 NULL, HFILL }},
19299 { &hf_s1ap_CSG_Id_PDU,
19300 { "CSG-Id", "s1ap.CSG_Id",
19301 FT_BYTES, BASE_NONE, NULL, 0,
19302 NULL, HFILL }},
19303 { &hf_s1ap_CSG_IdList_PDU,
19304 { "CSG-IdList", "s1ap.CSG_IdList",
19305 FT_UINT32, BASE_DEC, NULL, 0,
19306 NULL, HFILL }},
19307 { &hf_s1ap_CSGMembershipStatus_PDU,
19308 { "CSGMembershipStatus", "s1ap.CSGMembershipStatus",
19309 FT_UINT32, BASE_DEC, VALS(s1ap_CSGMembershipStatus_vals), 0,
19310 NULL, HFILL }},
19311 { &hf_s1ap_COUNTValueExtended_PDU,
19312 { "COUNTValueExtended", "s1ap.COUNTValueExtended_element",
19313 FT_NONE, BASE_NONE, NULL, 0,
19314 NULL, HFILL }},
19315 { &hf_s1ap_COUNTvaluePDCP_SNlength18_PDU,
19316 { "COUNTvaluePDCP-SNlength18", "s1ap.COUNTvaluePDCP_SNlength18_element",
19317 FT_NONE, BASE_NONE, NULL, 0,
19318 NULL, HFILL }},
19319 { &hf_s1ap_Coverage_Level_PDU,
19320 { "Coverage-Level", "s1ap.Coverage_Level",
19321 FT_UINT32, BASE_DEC, VALS(s1ap_Coverage_Level_vals), 0,
19322 NULL, HFILL }},
19323 { &hf_s1ap_CriticalityDiagnostics_PDU,
19324 { "CriticalityDiagnostics", "s1ap.CriticalityDiagnostics_element",
19325 FT_NONE, BASE_NONE, NULL, 0,
19326 NULL, HFILL }},
19327 { &hf_s1ap_DAPSRequestInfo_PDU,
19328 { "DAPSRequestInfo", "s1ap.DAPSRequestInfo_element",
19329 FT_NONE, BASE_NONE, NULL, 0,
19330 NULL, HFILL }},
19331 { &hf_s1ap_DAPSResponseInfoList_PDU,
19332 { "DAPSResponseInfoList", "s1ap.DAPSResponseInfoList",
19333 FT_UINT32, BASE_DEC, NULL, 0,
19334 NULL, HFILL }},
19335 { &hf_s1ap_DAPSResponseInfoItem_PDU,
19336 { "DAPSResponseInfoItem", "s1ap.DAPSResponseInfoItem_element",
19337 FT_NONE, BASE_NONE, NULL, 0,
19338 NULL, HFILL }},
19339 { &hf_s1ap_DataCodingScheme_PDU,
19340 { "DataCodingScheme", "s1ap.DataCodingScheme",
19341 FT_BYTES, BASE_NONE, NULL, 0,
19342 NULL, HFILL }},
19343 { &hf_s1ap_DataSize_PDU,
19344 { "DataSize", "s1ap.DataSize",
19345 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_bits), 0,
19346 NULL, HFILL }},
19347 { &hf_s1ap_DCN_ID_PDU,
19348 { "DCN-ID", "s1ap.DCN_ID",
19349 FT_UINT32, BASE_DEC, NULL, 0,
19350 NULL, HFILL }},
19351 { &hf_s1ap_ServedDCNs_PDU,
19352 { "ServedDCNs", "s1ap.ServedDCNs",
19353 FT_UINT32, BASE_DEC, NULL, 0,
19354 NULL, HFILL }},
19355 { &hf_s1ap_DL_CP_SecurityInformation_PDU,
19356 { "DL-CP-SecurityInformation", "s1ap.DL_CP_SecurityInformation_element",
19357 FT_NONE, BASE_NONE, NULL, 0,
19358 NULL, HFILL }},
19359 { &hf_s1ap_Direct_Forwarding_Path_Availability_PDU,
19360 { "Direct-Forwarding-Path-Availability", "s1ap.Direct_Forwarding_Path_Availability",
19361 FT_UINT32, BASE_DEC, VALS(s1ap_Direct_Forwarding_Path_Availability_vals), 0,
19362 NULL, HFILL }},
19363 { &hf_s1ap_Data_Forwarding_Not_Possible_PDU,
19364 { "Data-Forwarding-Not-Possible", "s1ap.Data_Forwarding_Not_Possible",
19365 FT_UINT32, BASE_DEC, VALS(s1ap_Data_Forwarding_Not_Possible_vals), 0,
19366 NULL, HFILL }},
19367 { &hf_s1ap_DLNASPDUDeliveryAckRequest_PDU,
19368 { "DLNASPDUDeliveryAckRequest", "s1ap.DLNASPDUDeliveryAckRequest",
19369 FT_UINT32, BASE_DEC, VALS(s1ap_DLNASPDUDeliveryAckRequest_vals), 0,
19370 NULL, HFILL }},
19371 { &hf_s1ap_PWSfailedECGIList_PDU,
19372 { "PWSfailedECGIList", "s1ap.PWSfailedECGIList",
19373 FT_UINT32, BASE_DEC, NULL, 0,
19374 NULL, HFILL }},
19375 { &hf_s1ap_EDT_Session_PDU,
19376 { "EDT-Session", "s1ap.EDT_Session",
19377 FT_UINT32, BASE_DEC, VALS(s1ap_EDT_Session_vals), 0,
19378 NULL, HFILL }},
19379 { &hf_s1ap_EmergencyAreaIDListForRestart_PDU,
19380 { "EmergencyAreaIDListForRestart", "s1ap.EmergencyAreaIDListForRestart",
19381 FT_UINT32, BASE_DEC, NULL, 0,
19382 NULL, HFILL }},
19383 { &hf_s1ap_EmergencyIndicator_PDU,
19384 { "EmergencyIndicator", "s1ap.EmergencyIndicator",
19385 FT_UINT32, BASE_DEC, VALS(s1ap_EmergencyIndicator_vals), 0,
19386 NULL, HFILL }},
19387 { &hf_s1ap_ENB_EarlyStatusTransfer_TransparentContainer_PDU,
19388 { "ENB-EarlyStatusTransfer-TransparentContainer", "s1ap.ENB_EarlyStatusTransfer_TransparentContainer_element",
19389 FT_NONE, BASE_NONE, NULL, 0,
19390 NULL, HFILL }},
19391 { &hf_s1ap_s1ap_Global_ENB_ID_PDU,
19392 { "Global-ENB-ID", "s1ap.Global_ENB_ID_element",
19393 FT_NONE, BASE_NONE, NULL, 0,
19394 NULL, HFILL }},
19395 { &hf_s1ap_GUMMEIList_PDU,
19396 { "GUMMEIList", "s1ap.GUMMEIList",
19397 FT_UINT32, BASE_DEC, NULL, 0,
19398 NULL, HFILL }},
19399 { &hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU,
19400 { "ENB-StatusTransfer-TransparentContainer", "s1ap.ENB_StatusTransfer_TransparentContainer_element",
19401 FT_NONE, BASE_NONE, NULL, 0,
19402 NULL, HFILL }},
19403 { &hf_s1ap_ENB_UE_S1AP_ID_PDU,
19404 { "ENB-UE-S1AP-ID", "s1ap.ENB_UE_S1AP_ID",
19405 FT_UINT32, BASE_DEC, NULL, 0,
19406 NULL, HFILL }},
19407 { &hf_s1ap_ENBname_PDU,
19408 { "ENBname", "s1ap.ENBname",
19409 FT_STRING, BASE_NONE, NULL, 0,
19410 NULL, HFILL }},
19411 { &hf_s1ap_s1ap_EN_DCSONConfigurationTransfer_PDU,
19412 { "EN-DCSONConfigurationTransfer", "s1ap.EN_DCSONConfigurationTransfer_element",
19413 FT_NONE, BASE_NONE, NULL, 0,
19414 NULL, HFILL }},
19415 { &hf_s1ap_EndIndication_PDU,
19416 { "EndIndication", "s1ap.EndIndication",
19417 FT_UINT32, BASE_DEC, VALS(s1ap_EndIndication_vals), 0,
19418 NULL, HFILL }},
19419 { &hf_s1ap_EnhancedCoverageRestricted_PDU,
19420 { "EnhancedCoverageRestricted", "s1ap.EnhancedCoverageRestricted",
19421 FT_UINT32, BASE_DEC, VALS(s1ap_EnhancedCoverageRestricted_vals), 0,
19422 NULL, HFILL }},
19423 { &hf_s1ap_CE_ModeBRestricted_PDU,
19424 { "CE-ModeBRestricted", "s1ap.CE_ModeBRestricted",
19425 FT_UINT32, BASE_DEC, VALS(s1ap_CE_ModeBRestricted_vals), 0,
19426 NULL, HFILL }},
19427 { &hf_s1ap_E_RABInformationListItem_PDU,
19428 { "E-RABInformationListItem", "s1ap.E_RABInformationListItem_element",
19429 FT_NONE, BASE_NONE, NULL, 0,
19430 NULL, HFILL }},
19431 { &hf_s1ap_E_RABList_PDU,
19432 { "E-RABList", "s1ap.E_RABList",
19433 FT_UINT32, BASE_DEC, NULL, 0,
19434 NULL, HFILL }},
19435 { &hf_s1ap_E_RABItem_PDU,
19436 { "E-RABItem", "s1ap.E_RABItem_element",
19437 FT_NONE, BASE_NONE, NULL, 0,
19438 NULL, HFILL }},
19439 { &hf_s1ap_E_RABLevelQoSParameters_PDU,
19440 { "E-RABLevelQoSParameters", "s1ap.E_RABLevelQoSParameters_element",
19441 FT_NONE, BASE_NONE, NULL, 0,
19442 NULL, HFILL }},
19443 { &hf_s1ap_E_RABSecurityResultList_PDU,
19444 { "E-RABSecurityResultList", "s1ap.E_RABSecurityResultList",
19445 FT_UINT32, BASE_DEC, NULL, 0,
19446 NULL, HFILL }},
19447 { &hf_s1ap_E_RABSecurityResultItem_PDU,
19448 { "E-RABSecurityResultItem", "s1ap.E_RABSecurityResultItem_element",
19449 FT_NONE, BASE_NONE, NULL, 0,
19450 NULL, HFILL }},
19451 { &hf_s1ap_E_RABUsageReportItem_PDU,
19452 { "E-RABUsageReportItem", "s1ap.E_RABUsageReportItem_element",
19453 FT_NONE, BASE_NONE, NULL, 0,
19454 NULL, HFILL }},
19455 { &hf_s1ap_Ethernet_Type_PDU,
19456 { "Ethernet-Type", "s1ap.Ethernet_Type",
19457 FT_UINT32, BASE_DEC, VALS(s1ap_Ethernet_Type_vals), 0,
19458 NULL, HFILL }},
19459 { &hf_s1ap_s1ap_EUTRAN_CGI_PDU,
19460 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
19461 FT_NONE, BASE_NONE, NULL, 0,
19462 NULL, HFILL }},
19463 { &hf_s1ap_EUTRANRoundTripDelayEstimationInfo_PDU,
19464 { "EUTRANRoundTripDelayEstimationInfo", "s1ap.EUTRANRoundTripDelayEstimationInfo",
19465 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_EUTRANRoundTripDelayEstimationInfo_fmt), 0,
19466 NULL, HFILL }},
19467 { &hf_s1ap_ExpectedUEBehaviour_PDU,
19468 { "ExpectedUEBehaviour", "s1ap.ExpectedUEBehaviour_element",
19469 FT_NONE, BASE_NONE, NULL, 0,
19470 NULL, HFILL }},
19471 { &hf_s1ap_ExtendedBitRate_PDU,
19472 { "ExtendedBitRate", "s1ap.ExtendedBitRate",
19473 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
19474 NULL, HFILL }},
19475 { &hf_s1ap_ExtendedRepetitionPeriod_PDU,
19476 { "ExtendedRepetitionPeriod", "s1ap.ExtendedRepetitionPeriod",
19477 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
19478 NULL, HFILL }},
19479 { &hf_s1ap_Extended_UEIdentityIndexValue_PDU,
19480 { "Extended-UEIdentityIndexValue", "s1ap.Extended_UEIdentityIndexValue",
19481 FT_BYTES, BASE_NONE, NULL, 0,
19482 NULL, HFILL }},
19483 { &hf_s1ap_GUMMEI_PDU,
19484 { "GUMMEI", "s1ap.GUMMEI_element",
19485 FT_NONE, BASE_NONE, NULL, 0,
19486 NULL, HFILL }},
19487 { &hf_s1ap_GUMMEIType_PDU,
19488 { "GUMMEIType", "s1ap.GUMMEIType",
19489 FT_UINT32, BASE_DEC, VALS(s1ap_GUMMEIType_vals), 0,
19490 NULL, HFILL }},
19491 { &hf_s1ap_GWContextReleaseIndication_PDU,
19492 { "GWContextReleaseIndication", "s1ap.GWContextReleaseIndication",
19493 FT_UINT32, BASE_DEC, VALS(s1ap_GWContextReleaseIndication_vals), 0,
19494 NULL, HFILL }},
19495 { &hf_s1ap_HandoverFlag_PDU,
19496 { "HandoverFlag", "s1ap.HandoverFlag",
19497 FT_UINT32, BASE_DEC, VALS(s1ap_HandoverFlag_vals), 0,
19498 NULL, HFILL }},
19499 { &hf_s1ap_s1ap_HandoverRestrictionList_PDU,
19500 { "HandoverRestrictionList", "s1ap.HandoverRestrictionList_element",
19501 FT_NONE, BASE_NONE, NULL, 0,
19502 NULL, HFILL }},
19503 { &hf_s1ap_HandoverType_PDU,
19504 { "HandoverType", "s1ap.HandoverType",
19505 FT_UINT32, BASE_DEC, VALS(s1ap_HandoverType_vals), 0,
19506 NULL, HFILL }},
19507 { &hf_s1ap_Masked_IMEISV_PDU,
19508 { "Masked-IMEISV", "s1ap.Masked_IMEISV",
19509 FT_BYTES, BASE_NONE, NULL, 0,
19510 NULL, HFILL }},
19511 { &hf_s1ap_InformationOnRecommendedCellsAndENBsForPaging_PDU,
19512 { "InformationOnRecommendedCellsAndENBsForPaging", "s1ap.InformationOnRecommendedCellsAndENBsForPaging_element",
19513 FT_NONE, BASE_NONE, NULL, 0,
19514 NULL, HFILL }},
19515 { &hf_s1ap_IntersystemMeasurementConfiguration_PDU,
19516 { "IntersystemMeasurementConfiguration", "s1ap.IntersystemMeasurementConfiguration_element",
19517 FT_NONE, BASE_NONE, NULL, 0,
19518 NULL, HFILL }},
19519 { &hf_s1ap_s1ap_IntersystemSONConfigurationTransfer_PDU,
19520 { "IntersystemSONConfigurationTransfer", "s1ap.IntersystemSONConfigurationTransfer",
19521 FT_BYTES, BASE_NONE, NULL, 0,
19522 NULL, HFILL }},
19523 { &hf_s1ap_IMSvoiceEPSfallbackfrom5G_PDU,
19524 { "IMSvoiceEPSfallbackfrom5G", "s1ap.IMSvoiceEPSfallbackfrom5G",
19525 FT_UINT32, BASE_DEC, VALS(s1ap_IMSvoiceEPSfallbackfrom5G_vals), 0,
19526 NULL, HFILL }},
19527 { &hf_s1ap_IAB_Authorized_PDU,
19528 { "IAB-Authorized", "s1ap.IAB_Authorized",
19529 FT_UINT32, BASE_DEC, VALS(s1ap_IAB_Authorized_vals), 0,
19530 NULL, HFILL }},
19531 { &hf_s1ap_IAB_Node_Indication_PDU,
19532 { "IAB-Node-Indication", "s1ap.IAB_Node_Indication",
19533 FT_UINT32, BASE_DEC, VALS(s1ap_IAB_Node_Indication_vals), 0,
19534 NULL, HFILL }},
19535 { &hf_s1ap_IAB_Supported_PDU,
19536 { "IAB-Supported", "s1ap.IAB_Supported",
19537 FT_UINT32, BASE_DEC, VALS(s1ap_IAB_Supported_vals), 0,
19538 NULL, HFILL }},
19539 { &hf_s1ap_KillAllWarningMessages_PDU,
19540 { "KillAllWarningMessages", "s1ap.KillAllWarningMessages",
19541 FT_UINT32, BASE_DEC, VALS(s1ap_KillAllWarningMessages_vals), 0,
19542 NULL, HFILL }},
19543 { &hf_s1ap_LAI_PDU,
19544 { "LAI", "s1ap.LAI_element",
19545 FT_NONE, BASE_NONE, NULL, 0,
19546 NULL, HFILL }},
19547 { &hf_s1ap_s1ap_LastVisitedEUTRANCellInformation_PDU,
19548 { "LastVisitedEUTRANCellInformation", "s1ap.LastVisitedEUTRANCellInformation_element",
19549 FT_NONE, BASE_NONE, NULL, 0,
19550 NULL, HFILL }},
19551 { &hf_s1ap_LastVisitedPSCellList_PDU,
19552 { "LastVisitedPSCellList", "s1ap.LastVisitedPSCellList",
19553 FT_UINT32, BASE_DEC, NULL, 0,
19554 NULL, HFILL }},
19555 { &hf_s1ap_s1ap_LastVisitedGERANCellInformation_PDU,
19556 { "LastVisitedGERANCellInformation", "s1ap.LastVisitedGERANCellInformation",
19557 FT_UINT32, BASE_DEC, VALS(s1ap_LastVisitedGERANCellInformation_vals), 0,
19558 NULL, HFILL }},
19559 { &hf_s1ap_LPPa_PDU_PDU,
19560 { "LPPa-PDU", "s1ap.LPPa_PDU",
19561 FT_BYTES, BASE_NONE, NULL, 0,
19562 NULL, HFILL }},
19563 { &hf_s1ap_LHN_ID_PDU,
19564 { "LHN-ID", "s1ap.LHN_ID",
19565 FT_STRING, BASE_NONE, NULL, 0,
19566 NULL, HFILL }},
19567 { &hf_s1ap_LoggedMBSFNMDT_PDU,
19568 { "LoggedMBSFNMDT", "s1ap.LoggedMBSFNMDT_element",
19569 FT_NONE, BASE_NONE, NULL, 0,
19570 NULL, HFILL }},
19571 { &hf_s1ap_LoggedMDTTrigger_PDU,
19572 { "LoggedMDTTrigger", "s1ap.LoggedMDTTrigger",
19573 FT_UINT32, BASE_DEC, VALS(s1ap_LoggedMDTTrigger_vals), 0,
19574 NULL, HFILL }},
19575 { &hf_s1ap_LTE_M_Indication_PDU,
19576 { "LTE-M-Indication", "s1ap.LTE_M_Indication",
19577 FT_UINT32, BASE_DEC, VALS(s1ap_LTE_M_Indication_vals), 0,
19578 NULL, HFILL }},
19579 { &hf_s1ap_LTE_NTN_TAI_Information_PDU,
19580 { "LTE-NTN-TAI-Information", "s1ap.LTE_NTN_TAI_Information_element",
19581 FT_NONE, BASE_NONE, NULL, 0,
19582 NULL, HFILL }},
19583 { &hf_s1ap_M3Configuration_PDU,
19584 { "M3Configuration", "s1ap.M3Configuration_element",
19585 FT_NONE, BASE_NONE, NULL, 0,
19586 NULL, HFILL }},
19587 { &hf_s1ap_M4Configuration_PDU,
19588 { "M4Configuration", "s1ap.M4Configuration_element",
19589 FT_NONE, BASE_NONE, NULL, 0,
19590 NULL, HFILL }},
19591 { &hf_s1ap_M4ReportAmountMDT_PDU,
19592 { "M4ReportAmountMDT", "s1ap.M4ReportAmountMDT",
19593 FT_UINT32, BASE_DEC, VALS(s1ap_M4ReportAmountMDT_vals), 0,
19594 NULL, HFILL }},
19595 { &hf_s1ap_M5Configuration_PDU,
19596 { "M5Configuration", "s1ap.M5Configuration_element",
19597 FT_NONE, BASE_NONE, NULL, 0,
19598 NULL, HFILL }},
19599 { &hf_s1ap_M5ReportAmountMDT_PDU,
19600 { "M5ReportAmountMDT", "s1ap.M5ReportAmountMDT",
19601 FT_UINT32, BASE_DEC, VALS(s1ap_M5ReportAmountMDT_vals), 0,
19602 NULL, HFILL }},
19603 { &hf_s1ap_M6Configuration_PDU,
19604 { "M6Configuration", "s1ap.M6Configuration_element",
19605 FT_NONE, BASE_NONE, NULL, 0,
19606 NULL, HFILL }},
19607 { &hf_s1ap_M6ReportAmountMDT_PDU,
19608 { "M6ReportAmountMDT", "s1ap.M6ReportAmountMDT",
19609 FT_UINT32, BASE_DEC, VALS(s1ap_M6ReportAmountMDT_vals), 0,
19610 NULL, HFILL }},
19611 { &hf_s1ap_M7Configuration_PDU,
19612 { "M7Configuration", "s1ap.M7Configuration_element",
19613 FT_NONE, BASE_NONE, NULL, 0,
19614 NULL, HFILL }},
19615 { &hf_s1ap_M7ReportAmountMDT_PDU,
19616 { "M7ReportAmountMDT", "s1ap.M7ReportAmountMDT",
19617 FT_UINT32, BASE_DEC, VALS(s1ap_M7ReportAmountMDT_vals), 0,
19618 NULL, HFILL }},
19619 { &hf_s1ap_MDT_Location_Info_PDU,
19620 { "MDT-Location-Info", "s1ap.MDT_Location_Info",
19621 FT_BYTES, BASE_NONE, NULL, 0,
19622 NULL, HFILL }},
19623 { &hf_s1ap_MDT_Configuration_PDU,
19624 { "MDT-Configuration", "s1ap.MDT_Configuration_element",
19625 FT_NONE, BASE_NONE, NULL, 0,
19626 NULL, HFILL }},
19627 { &hf_s1ap_ManagementBasedMDTAllowed_PDU,
19628 { "ManagementBasedMDTAllowed", "s1ap.ManagementBasedMDTAllowed",
19629 FT_UINT32, BASE_DEC, VALS(s1ap_ManagementBasedMDTAllowed_vals), 0,
19630 NULL, HFILL }},
19631 { &hf_s1ap_MDTPLMNList_PDU,
19632 { "MDTPLMNList", "s1ap.MDTPLMNList",
19633 FT_UINT32, BASE_DEC, NULL, 0,
19634 NULL, HFILL }},
19635 { &hf_s1ap_PrivacyIndicator_PDU,
19636 { "PrivacyIndicator", "s1ap.PrivacyIndicator",
19637 FT_UINT32, BASE_DEC, VALS(s1ap_PrivacyIndicator_vals), 0,
19638 NULL, HFILL }},
19639 { &hf_s1ap_s1ap_MDTMode_PDU,
19640 { "MDTMode", "s1ap.MDTMode",
19641 FT_UINT32, BASE_DEC, VALS(s1ap_MDTMode_vals), 0,
19642 NULL, HFILL }},
19643 { &hf_s1ap_MessageIdentifier_PDU,
19644 { "MessageIdentifier", "s1ap.MessageIdentifier",
19645 FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
19646 NULL, HFILL }},
19647 { &hf_s1ap_MobilityInformation_PDU,
19648 { "MobilityInformation", "s1ap.MobilityInformation",
19649 FT_BYTES, BASE_NONE, NULL, 0,
19650 NULL, HFILL }},
19651 { &hf_s1ap_MMEname_PDU,
19652 { "MMEname", "s1ap.MMEname",
19653 FT_STRING, BASE_NONE, NULL, 0,
19654 NULL, HFILL }},
19655 { &hf_s1ap_MMERelaySupportIndicator_PDU,
19656 { "MMERelaySupportIndicator", "s1ap.MMERelaySupportIndicator",
19657 FT_UINT32, BASE_DEC, VALS(s1ap_MMERelaySupportIndicator_vals), 0,
19658 NULL, HFILL }},
19659 { &hf_s1ap_MME_Group_ID_PDU,
19660 { "MME-Group-ID", "s1ap.MME_Group_ID",
19661 FT_UINT16, BASE_DEC_HEX, NULL, 0,
19662 NULL, HFILL }},
19663 { &hf_s1ap_MME_UE_S1AP_ID_PDU,
19664 { "MME-UE-S1AP-ID", "s1ap.MME_UE_S1AP_ID",
19665 FT_UINT32, BASE_DEC, NULL, 0,
19666 NULL, HFILL }},
19667 { &hf_s1ap_MSClassmark2_PDU,
19668 { "MSClassmark2", "s1ap.MSClassmark2",
19669 FT_BYTES, BASE_NONE, NULL, 0,
19670 NULL, HFILL }},
19671 { &hf_s1ap_MSClassmark3_PDU,
19672 { "MSClassmark3", "s1ap.MSClassmark3",
19673 FT_BYTES, BASE_NONE, NULL, 0,
19674 NULL, HFILL }},
19675 { &hf_s1ap_MutingAvailabilityIndication_PDU,
19676 { "MutingAvailabilityIndication", "s1ap.MutingAvailabilityIndication",
19677 FT_UINT32, BASE_DEC, VALS(s1ap_MutingAvailabilityIndication_vals), 0,
19678 NULL, HFILL }},
19679 { &hf_s1ap_MutingPatternInformation_PDU,
19680 { "MutingPatternInformation", "s1ap.MutingPatternInformation_element",
19681 FT_NONE, BASE_NONE, NULL, 0,
19682 NULL, HFILL }},
19683 { &hf_s1ap_MDT_ConfigurationNR_PDU,
19684 { "MDT-ConfigurationNR", "s1ap.MDT_ConfigurationNR",
19685 FT_BYTES, BASE_NONE, NULL, 0,
19686 NULL, HFILL }},
19687 { &hf_s1ap_NAS_PDU_PDU,
19688 { "NAS-PDU", "s1ap.NAS_PDU",
19689 FT_BYTES, BASE_NONE, NULL, 0,
19690 NULL, HFILL }},
19691 { &hf_s1ap_NASSecurityParametersfromE_UTRAN_PDU,
19692 { "NASSecurityParametersfromE-UTRAN", "s1ap.NASSecurityParametersfromE_UTRAN",
19693 FT_BYTES, BASE_NONE, NULL, 0,
19694 NULL, HFILL }},
19695 { &hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU,
19696 { "NASSecurityParameterstoE-UTRAN", "s1ap.NASSecurityParameterstoE_UTRAN",
19697 FT_BYTES, BASE_NONE, NULL, 0,
19698 NULL, HFILL }},
19699 { &hf_s1ap_NB_IoT_DefaultPagingDRX_PDU,
19700 { "NB-IoT-DefaultPagingDRX", "s1ap.NB_IoT_DefaultPagingDRX",
19701 FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_DefaultPagingDRX_vals), 0,
19702 NULL, HFILL }},
19703 { &hf_s1ap_NB_IoT_PagingDRX_PDU,
19704 { "NB-IoT-PagingDRX", "s1ap.NB_IoT_PagingDRX",
19705 FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_PagingDRX_vals), 0,
19706 NULL, HFILL }},
19707 { &hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU,
19708 { "NB-IoT-Paging-eDRXInformation", "s1ap.NB_IoT_Paging_eDRXInformation_element",
19709 FT_NONE, BASE_NONE, NULL, 0,
19710 NULL, HFILL }},
19711 { &hf_s1ap_NB_IoT_RLF_Report_Container_PDU,
19712 { "NB-IoT-RLF-Report-Container", "s1ap.NB_IoT_RLF_Report_Container",
19713 FT_BYTES, BASE_NONE, NULL, 0,
19714 NULL, HFILL }},
19715 { &hf_s1ap_NB_IoT_UEIdentityIndexValue_PDU,
19716 { "NB-IoT-UEIdentityIndexValue", "s1ap.NB_IoT_UEIdentityIndexValue",
19717 FT_BYTES, BASE_NONE, NULL, 0,
19718 NULL, HFILL }},
19719 { &hf_s1ap_NotifySourceeNB_PDU,
19720 { "NotifySourceeNB", "s1ap.NotifySourceeNB",
19721 FT_UINT32, BASE_DEC, VALS(s1ap_NotifySourceeNB_vals), 0,
19722 NULL, HFILL }},
19723 { &hf_s1ap_NRrestrictioninEPSasSecondaryRAT_PDU,
19724 { "NRrestrictioninEPSasSecondaryRAT", "s1ap.NRrestrictioninEPSasSecondaryRAT",
19725 FT_UINT32, BASE_DEC, VALS(s1ap_NRrestrictioninEPSasSecondaryRAT_vals), 0,
19726 NULL, HFILL }},
19727 { &hf_s1ap_NRrestrictionin5GS_PDU,
19728 { "NRrestrictionin5GS", "s1ap.NRrestrictionin5GS",
19729 FT_UINT32, BASE_DEC, VALS(s1ap_NRrestrictionin5GS_vals), 0,
19730 NULL, HFILL }},
19731 { &hf_s1ap_NRUESecurityCapabilities_PDU,
19732 { "NRUESecurityCapabilities", "s1ap.NRUESecurityCapabilities_element",
19733 FT_NONE, BASE_NONE, NULL, 0,
19734 NULL, HFILL }},
19735 { &hf_s1ap_NumberofBroadcastRequest_PDU,
19736 { "NumberofBroadcastRequest", "s1ap.NumberofBroadcastRequest",
19737 FT_UINT32, BASE_DEC, NULL, 0,
19738 NULL, HFILL }},
19739 { &hf_s1ap_NRV2XServicesAuthorized_PDU,
19740 { "NRV2XServicesAuthorized", "s1ap.NRV2XServicesAuthorized_element",
19741 FT_NONE, BASE_NONE, NULL, 0,
19742 NULL, HFILL }},
19743 { &hf_s1ap_NRUESidelinkAggregateMaximumBitrate_PDU,
19744 { "NRUESidelinkAggregateMaximumBitrate", "s1ap.NRUESidelinkAggregateMaximumBitrate_element",
19745 FT_NONE, BASE_NONE, NULL, 0,
19746 NULL, HFILL }},
19747 { &hf_s1ap_OverloadResponse_PDU,
19748 { "OverloadResponse", "s1ap.OverloadResponse",
19749 FT_UINT32, BASE_DEC, VALS(s1ap_OverloadResponse_vals), 0,
19750 NULL, HFILL }},
19751 { &hf_s1ap_Packet_LossRate_PDU,
19752 { "Packet-LossRate", "s1ap.Packet_LossRate",
19753 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_Packet_LossRate_fmt), 0,
19754 NULL, HFILL }},
19755 { &hf_s1ap_Paging_eDRXInformation_PDU,
19756 { "Paging-eDRXInformation", "s1ap.Paging_eDRXInformation_element",
19757 FT_NONE, BASE_NONE, NULL, 0,
19758 NULL, HFILL }},
19759 { &hf_s1ap_PagingDRX_PDU,
19760 { "PagingDRX", "s1ap.PagingDRX",
19761 FT_UINT32, BASE_DEC, VALS(s1ap_PagingDRX_vals), 0,
19762 NULL, HFILL }},
19763 { &hf_s1ap_PagingPriority_PDU,
19764 { "PagingPriority", "s1ap.PagingPriority",
19765 FT_UINT32, BASE_DEC, VALS(s1ap_PagingPriority_vals), 0,
19766 NULL, HFILL }},
19767 { &hf_s1ap_PagingCause_PDU,
19768 { "PagingCause", "s1ap.PagingCause",
19769 FT_UINT32, BASE_DEC, VALS(s1ap_PagingCause_vals), 0,
19770 NULL, HFILL }},
19771 { &hf_s1ap_PC5QoSParameters_PDU,
19772 { "PC5QoSParameters", "s1ap.PC5QoSParameters_element",
19773 FT_NONE, BASE_NONE, NULL, 0,
19774 NULL, HFILL }},
19775 { &hf_s1ap_PendingDataIndication_PDU,
19776 { "PendingDataIndication", "s1ap.PendingDataIndication",
19777 FT_UINT32, BASE_DEC, VALS(s1ap_PendingDataIndication_vals), 0,
19778 NULL, HFILL }},
19779 { &hf_s1ap_PLMNidentity_PDU,
19780 { "PLMNidentity", "s1ap.PLMNidentity",
19781 FT_BYTES, BASE_NONE, NULL, 0,
19782 NULL, HFILL }},
19783 { &hf_s1ap_ProSeAuthorized_PDU,
19784 { "ProSeAuthorized", "s1ap.ProSeAuthorized_element",
19785 FT_NONE, BASE_NONE, NULL, 0,
19786 NULL, HFILL }},
19787 { &hf_s1ap_ProSeUEtoNetworkRelaying_PDU,
19788 { "ProSeUEtoNetworkRelaying", "s1ap.ProSeUEtoNetworkRelaying",
19789 FT_UINT32, BASE_DEC, VALS(s1ap_ProSeUEtoNetworkRelaying_vals), 0,
19790 NULL, HFILL }},
19791 { &hf_s1ap_PS_ServiceNotAvailable_PDU,
19792 { "PS-ServiceNotAvailable", "s1ap.PS_ServiceNotAvailable",
19793 FT_UINT32, BASE_DEC, VALS(s1ap_PS_ServiceNotAvailable_vals), 0,
19794 NULL, HFILL }},
19795 { &hf_s1ap_s1ap_PSCellInformation_PDU,
19796 { "PSCellInformation", "s1ap.PSCellInformation_element",
19797 FT_NONE, BASE_NONE, NULL, 0,
19798 NULL, HFILL }},
19799 { &hf_s1ap_RACSIndication_PDU,
19800 { "RACSIndication", "s1ap.RACSIndication",
19801 FT_UINT32, BASE_DEC, VALS(s1ap_RACSIndication_vals), 0,
19802 NULL, HFILL }},
19803 { &hf_s1ap_ReceiveStatusOfULPDCPSDUsExtended_PDU,
19804 { "ReceiveStatusOfULPDCPSDUsExtended", "s1ap.ReceiveStatusOfULPDCPSDUsExtended",
19805 FT_BYTES, BASE_NONE, NULL, 0,
19806 NULL, HFILL }},
19807 { &hf_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU,
19808 { "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18", "s1ap.ReceiveStatusOfULPDCPSDUsPDCP_SNlength18",
19809 FT_BYTES, BASE_NONE, NULL, 0,
19810 NULL, HFILL }},
19811 { &hf_s1ap_RecommendedCellItem_PDU,
19812 { "RecommendedCellItem", "s1ap.RecommendedCellItem_element",
19813 FT_NONE, BASE_NONE, NULL, 0,
19814 NULL, HFILL }},
19815 { &hf_s1ap_RecommendedENBItem_PDU,
19816 { "RecommendedENBItem", "s1ap.RecommendedENBItem_element",
19817 FT_NONE, BASE_NONE, NULL, 0,
19818 NULL, HFILL }},
19819 { &hf_s1ap_RelativeMMECapacity_PDU,
19820 { "RelativeMMECapacity", "s1ap.RelativeMMECapacity",
19821 FT_UINT32, BASE_DEC, NULL, 0,
19822 NULL, HFILL }},
19823 { &hf_s1ap_RelayNode_Indicator_PDU,
19824 { "RelayNode-Indicator", "s1ap.RelayNode_Indicator",
19825 FT_UINT32, BASE_DEC, VALS(s1ap_RelayNode_Indicator_vals), 0,
19826 NULL, HFILL }},
19827 { &hf_s1ap_RAT_Restrictions_PDU,
19828 { "RAT-Restrictions", "s1ap.RAT_Restrictions",
19829 FT_UINT32, BASE_DEC, NULL, 0,
19830 NULL, HFILL }},
19831 { &hf_s1ap_RAT_Type_PDU,
19832 { "RAT-Type", "s1ap.RAT_Type",
19833 FT_UINT32, BASE_DEC, VALS(s1ap_RAT_Type_vals), 0,
19834 NULL, HFILL }},
19835 { &hf_s1ap_RequestType_PDU,
19836 { "RequestType", "s1ap.RequestType_element",
19837 FT_NONE, BASE_NONE, NULL, 0,
19838 NULL, HFILL }},
19839 { &hf_s1ap_RequestTypeAdditionalInfo_PDU,
19840 { "RequestTypeAdditionalInfo", "s1ap.RequestTypeAdditionalInfo",
19841 FT_UINT32, BASE_DEC, VALS(s1ap_RequestTypeAdditionalInfo_vals), 0,
19842 NULL, HFILL }},
19843 { &hf_s1ap_RepetitionPeriod_PDU,
19844 { "RepetitionPeriod", "s1ap.RepetitionPeriod",
19845 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
19846 NULL, HFILL }},
19847 { &hf_s1ap_RRC_Establishment_Cause_PDU,
19848 { "RRC-Establishment-Cause", "s1ap.RRC_Establishment_Cause",
19849 FT_UINT32, BASE_DEC, VALS(s1ap_RRC_Establishment_Cause_vals), 0,
19850 NULL, HFILL }},
19851 { &hf_s1ap_ECGIListForRestart_PDU,
19852 { "ECGIListForRestart", "s1ap.ECGIListForRestart",
19853 FT_UINT32, BASE_DEC, NULL, 0,
19854 NULL, HFILL }},
19855 { &hf_s1ap_Routing_ID_PDU,
19856 { "Routing-ID", "s1ap.Routing_ID",
19857 FT_UINT32, BASE_DEC, NULL, 0,
19858 NULL, HFILL }},
19859 { &hf_s1ap_SecurityKey_PDU,
19860 { "SecurityKey", "s1ap.SecurityKey",
19861 FT_BYTES, BASE_NONE, NULL, 0,
19862 NULL, HFILL }},
19863 { &hf_s1ap_SecurityContext_PDU,
19864 { "SecurityContext", "s1ap.SecurityContext_element",
19865 FT_NONE, BASE_NONE, NULL, 0,
19866 NULL, HFILL }},
19867 { &hf_s1ap_SecondaryRATDataUsageRequest_PDU,
19868 { "SecondaryRATDataUsageRequest", "s1ap.SecondaryRATDataUsageRequest",
19869 FT_UINT32, BASE_DEC, VALS(s1ap_SecondaryRATDataUsageRequest_vals), 0,
19870 NULL, HFILL }},
19871 { &hf_s1ap_SecondaryRATDataUsageReportList_PDU,
19872 { "SecondaryRATDataUsageReportList", "s1ap.SecondaryRATDataUsageReportList",
19873 FT_UINT32, BASE_DEC, NULL, 0,
19874 NULL, HFILL }},
19875 { &hf_s1ap_SecondaryRATDataUsageReportItem_PDU,
19876 { "SecondaryRATDataUsageReportItem", "s1ap.SecondaryRATDataUsageReportItem_element",
19877 FT_NONE, BASE_NONE, NULL, 0,
19878 NULL, HFILL }},
19879 { &hf_s1ap_SecurityIndication_PDU,
19880 { "SecurityIndication", "s1ap.SecurityIndication_element",
19881 FT_NONE, BASE_NONE, NULL, 0,
19882 NULL, HFILL }},
19883 { &hf_s1ap_SensorMeasurementConfiguration_PDU,
19884 { "SensorMeasurementConfiguration", "s1ap.SensorMeasurementConfiguration_element",
19885 FT_NONE, BASE_NONE, NULL, 0,
19886 NULL, HFILL }},
19887 { &hf_s1ap_SerialNumber_PDU,
19888 { "SerialNumber", "s1ap.SerialNumber",
19889 FT_BYTES, BASE_NONE, NULL, 0,
19890 NULL, HFILL }},
19891 { &hf_s1ap_ServiceType_PDU,
19892 { "ServiceType", "s1ap.ServiceType",
19893 FT_UINT32, BASE_DEC, VALS(s1ap_ServiceType_vals), 0,
19894 NULL, HFILL }},
19895 { &hf_s1ap_SONInformationReport_PDU,
19896 { "SONInformationReport", "s1ap.SONInformationReport",
19897 FT_UINT32, BASE_DEC, VALS(s1ap_SONInformationReport_vals), 0,
19898 NULL, HFILL }},
19899 { &hf_s1ap_s1ap_SONConfigurationTransfer_PDU,
19900 { "SONConfigurationTransfer", "s1ap.SONConfigurationTransfer_element",
19901 FT_NONE, BASE_NONE, NULL, 0,
19902 NULL, HFILL }},
19903 { &hf_s1ap_SynchronisationInformation_PDU,
19904 { "SynchronisationInformation", "s1ap.SynchronisationInformation_element",
19905 FT_NONE, BASE_NONE, NULL, 0,
19906 NULL, HFILL }},
19907 { &hf_s1ap_Source_ToTarget_TransparentContainer_PDU,
19908 { "Source-ToTarget-TransparentContainer", "s1ap.Source_ToTarget_TransparentContainer",
19909 FT_BYTES, BASE_NONE, NULL, 0,
19910 NULL, HFILL }},
19911 { &hf_s1ap_SRVCCOperationNotPossible_PDU,
19912 { "SRVCCOperationNotPossible", "s1ap.SRVCCOperationNotPossible",
19913 FT_UINT32, BASE_DEC, VALS(s1ap_SRVCCOperationNotPossible_vals), 0,
19914 NULL, HFILL }},
19915 { &hf_s1ap_SRVCCOperationPossible_PDU,
19916 { "SRVCCOperationPossible", "s1ap.SRVCCOperationPossible",
19917 FT_UINT32, BASE_DEC, VALS(s1ap_SRVCCOperationPossible_vals), 0,
19918 NULL, HFILL }},
19919 { &hf_s1ap_SRVCCHOIndication_PDU,
19920 { "SRVCCHOIndication", "s1ap.SRVCCHOIndication",
19921 FT_UINT32, BASE_DEC, VALS(s1ap_SRVCCHOIndication_vals), 0,
19922 NULL, HFILL }},
19923 { &hf_s1ap_SourceNodeID_PDU,
19924 { "SourceNodeID", "s1ap.SourceNodeID",
19925 FT_UINT32, BASE_DEC, VALS(s1ap_SourceNodeID_vals), 0,
19926 NULL, HFILL }},
19927 { &hf_s1ap_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU,
19928 { "SourceeNB-ToTargeteNB-TransparentContainer", "s1ap.SourceeNB_ToTargeteNB_TransparentContainer_element",
19929 FT_NONE, BASE_NONE, NULL, 0,
19930 NULL, HFILL }},
19931 { &hf_s1ap_ServedGUMMEIs_PDU,
19932 { "ServedGUMMEIs", "s1ap.ServedGUMMEIs",
19933 FT_UINT32, BASE_DEC, NULL, 0,
19934 NULL, HFILL }},
19935 { &hf_s1ap_ServedPLMNs_PDU,
19936 { "ServedPLMNs", "s1ap.ServedPLMNs",
19937 FT_UINT32, BASE_DEC, NULL, 0,
19938 NULL, HFILL }},
19939 { &hf_s1ap_SubscriberProfileIDforRFP_PDU,
19940 { "SubscriberProfileIDforRFP", "s1ap.SubscriberProfileIDforRFP",
19941 FT_UINT32, BASE_DEC, NULL, 0,
19942 NULL, HFILL }},
19943 { &hf_s1ap_Subscription_Based_UE_DifferentiationInfo_PDU,
19944 { "Subscription-Based-UE-DifferentiationInfo", "s1ap.Subscription_Based_UE_DifferentiationInfo_element",
19945 FT_NONE, BASE_NONE, NULL, 0,
19946 NULL, HFILL }},
19947 { &hf_s1ap_SupportedTAs_PDU,
19948 { "SupportedTAs", "s1ap.SupportedTAs",
19949 FT_UINT32, BASE_DEC, NULL, 0,
19950 NULL, HFILL }},
19951 { &hf_s1ap_TimeSynchronisationInfo_PDU,
19952 { "TimeSynchronisationInfo", "s1ap.TimeSynchronisationInfo_element",
19953 FT_NONE, BASE_NONE, NULL, 0,
19954 NULL, HFILL }},
19955 { &hf_s1ap_S_TMSI_PDU,
19956 { "S-TMSI", "s1ap.S_TMSI_element",
19957 FT_NONE, BASE_NONE, NULL, 0,
19958 NULL, HFILL }},
19959 { &hf_s1ap_TAI_PDU,
19960 { "TAI", "s1ap.TAI_element",
19961 FT_NONE, BASE_NONE, NULL, 0,
19962 NULL, HFILL }},
19963 { &hf_s1ap_TargetID_PDU,
19964 { "TargetID", "s1ap.TargetID",
19965 FT_UINT32, BASE_DEC, VALS(s1ap_TargetID_vals), 0,
19966 NULL, HFILL }},
19967 { &hf_s1ap_Global_RAN_NODE_ID_PDU,
19968 { "Global-RAN-NODE-ID", "s1ap.Global_RAN_NODE_ID",
19969 FT_UINT32, BASE_DEC, VALS(s1ap_Global_RAN_NODE_ID_vals), 0,
19970 NULL, HFILL }},
19971 { &hf_s1ap_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU,
19972 { "TargeteNB-ToSourceeNB-TransparentContainer", "s1ap.TargeteNB_ToSourceeNB_TransparentContainer_element",
19973 FT_NONE, BASE_NONE, NULL, 0,
19974 NULL, HFILL }},
19975 { &hf_s1ap_Target_ToSource_TransparentContainer_PDU,
19976 { "Target-ToSource-TransparentContainer", "s1ap.Target_ToSource_TransparentContainer",
19977 FT_BYTES, BASE_NONE, NULL, 0,
19978 NULL, HFILL }},
19979 { &hf_s1ap_TimeBasedHandoverInformation_PDU,
19980 { "TimeBasedHandoverInformation", "s1ap.TimeBasedHandoverInformation_element",
19981 FT_NONE, BASE_NONE, NULL, 0,
19982 NULL, HFILL }},
19983 { &hf_s1ap_TimeToWait_PDU,
19984 { "TimeToWait", "s1ap.TimeToWait",
19985 FT_UINT32, BASE_DEC, VALS(s1ap_TimeToWait_vals), 0,
19986 NULL, HFILL }},
19987 { &hf_s1ap_Time_UE_StayedInCell_EnhancedGranularity_PDU,
19988 { "Time-UE-StayedInCell-EnhancedGranularity", "s1ap.Time_UE_StayedInCell_EnhancedGranularity",
19989 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_Time_UE_StayedInCell_EnhancedGranularity_fmt), 0,
19990 NULL, HFILL }},
19991 { &hf_s1ap_TimeSinceSecondaryNodeRelease_PDU,
19992 { "TimeSinceSecondaryNodeRelease", "s1ap.TimeSinceSecondaryNodeRelease",
19993 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
19994 NULL, HFILL }},
19995 { &hf_s1ap_TransportInformation_PDU,
19996 { "TransportInformation", "s1ap.TransportInformation_element",
19997 FT_NONE, BASE_NONE, NULL, 0,
19998 NULL, HFILL }},
19999 { &hf_s1ap_TransportLayerAddress_PDU,
20000 { "TransportLayerAddress", "s1ap.TransportLayerAddress",
20001 FT_BYTES, BASE_NONE, NULL, 0,
20002 NULL, HFILL }},
20003 { &hf_s1ap_TraceActivation_PDU,
20004 { "TraceActivation", "s1ap.TraceActivation_element",
20005 FT_NONE, BASE_NONE, NULL, 0,
20006 NULL, HFILL }},
20007 { &hf_s1ap_E_UTRAN_Trace_ID_PDU,
20008 { "E-UTRAN-Trace-ID", "s1ap.E_UTRAN_Trace_ID",
20009 FT_BYTES, BASE_NONE, NULL, 0,
20010 NULL, HFILL }},
20011 { &hf_s1ap_TrafficLoadReductionIndication_PDU,
20012 { "TrafficLoadReductionIndication", "s1ap.TrafficLoadReductionIndication",
20013 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
20014 NULL, HFILL }},
20015 { &hf_s1ap_TunnelInformation_PDU,
20016 { "TunnelInformation", "s1ap.TunnelInformation_element",
20017 FT_NONE, BASE_NONE, NULL, 0,
20018 NULL, HFILL }},
20019 { &hf_s1ap_TAIListForRestart_PDU,
20020 { "TAIListForRestart", "s1ap.TAIListForRestart",
20021 FT_UINT32, BASE_DEC, NULL, 0,
20022 NULL, HFILL }},
20023 { &hf_s1ap_UEAggregateMaximumBitrate_PDU,
20024 { "UEAggregateMaximumBitrate", "s1ap.UEAggregateMaximumBitrate_element",
20025 FT_NONE, BASE_NONE, NULL, 0,
20026 NULL, HFILL }},
20027 { &hf_s1ap_UEAppLayerMeasConfig_PDU,
20028 { "UEAppLayerMeasConfig", "s1ap.UEAppLayerMeasConfig_element",
20029 FT_NONE, BASE_NONE, NULL, 0,
20030 NULL, HFILL }},
20031 { &hf_s1ap_UECapabilityInfoRequest_PDU,
20032 { "UECapabilityInfoRequest", "s1ap.UECapabilityInfoRequest",
20033 FT_UINT32, BASE_DEC, VALS(s1ap_UECapabilityInfoRequest_vals), 0,
20034 NULL, HFILL }},
20035 { &hf_s1ap_UE_RetentionInformation_PDU,
20036 { "UE-RetentionInformation", "s1ap.UE_RetentionInformation",
20037 FT_UINT32, BASE_DEC, VALS(s1ap_UE_RetentionInformation_vals), 0,
20038 NULL, HFILL }},
20039 { &hf_s1ap_UE_S1AP_IDs_PDU,
20040 { "UE-S1AP-IDs", "s1ap.UE_S1AP_IDs",
20041 FT_UINT32, BASE_DEC, VALS(s1ap_UE_S1AP_IDs_vals), 0,
20042 NULL, HFILL }},
20043 { &hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU,
20044 { "UE-associatedLogicalS1-ConnectionItem", "s1ap.UE_associatedLogicalS1_ConnectionItem_element",
20045 FT_NONE, BASE_NONE, NULL, 0,
20046 NULL, HFILL }},
20047 { &hf_s1ap_UEIdentityIndexValue_PDU,
20048 { "UEIdentityIndexValue", "s1ap.UEIdentityIndexValue",
20049 FT_BYTES, BASE_NONE, NULL, 0,
20050 NULL, HFILL }},
20051 { &hf_s1ap_s1ap_UE_HistoryInformation_PDU,
20052 { "UE-HistoryInformation", "s1ap.UE_HistoryInformation",
20053 FT_UINT32, BASE_DEC, NULL, 0,
20054 NULL, HFILL }},
20055 { &hf_s1ap_UE_HistoryInformationFromTheUE_PDU,
20056 { "UE-HistoryInformationFromTheUE", "s1ap.UE_HistoryInformationFromTheUE",
20057 FT_BYTES, BASE_NONE, NULL, 0,
20058 NULL, HFILL }},
20059 { &hf_s1ap_UEPagingID_PDU,
20060 { "UEPagingID", "s1ap.UEPagingID",
20061 FT_UINT32, BASE_DEC, VALS(s1ap_UEPagingID_vals), 0,
20062 NULL, HFILL }},
20063 { &hf_s1ap_UERadioCapability_PDU,
20064 { "UERadioCapability", "s1ap.UERadioCapability",
20065 FT_BYTES, BASE_NONE, NULL, 0,
20066 NULL, HFILL }},
20067 { &hf_s1ap_UERadioCapabilityForPaging_PDU,
20068 { "UERadioCapabilityForPaging", "s1ap.UERadioCapabilityForPaging",
20069 FT_BYTES, BASE_NONE, NULL, 0,
20070 NULL, HFILL }},
20071 { &hf_s1ap_UERadioCapabilityID_PDU,
20072 { "UERadioCapabilityID", "s1ap.UERadioCapabilityID",
20073 FT_BYTES, BASE_NONE, NULL, 0,
20074 NULL, HFILL }},
20075 { &hf_s1ap_UESecurityCapabilities_PDU,
20076 { "UESecurityCapabilities", "s1ap.UESecurityCapabilities_element",
20077 FT_NONE, BASE_NONE, NULL, 0,
20078 NULL, HFILL }},
20079 { &hf_s1ap_UESidelinkAggregateMaximumBitrate_PDU,
20080 { "UESidelinkAggregateMaximumBitrate", "s1ap.UESidelinkAggregateMaximumBitrate_element",
20081 FT_NONE, BASE_NONE, NULL, 0,
20082 NULL, HFILL }},
20083 { &hf_s1ap_UE_Usage_Type_PDU,
20084 { "UE-Usage-Type", "s1ap.UE_Usage_Type",
20085 FT_UINT32, BASE_DEC, NULL, 0,
20086 NULL, HFILL }},
20087 { &hf_s1ap_UL_CP_SecurityInformation_PDU,
20088 { "UL-CP-SecurityInformation", "s1ap.UL_CP_SecurityInformation_element",
20089 FT_NONE, BASE_NONE, NULL, 0,
20090 NULL, HFILL }},
20091 { &hf_s1ap_UnlicensedSpectrumRestriction_PDU,
20092 { "UnlicensedSpectrumRestriction", "s1ap.UnlicensedSpectrumRestriction",
20093 FT_UINT32, BASE_DEC, VALS(s1ap_UnlicensedSpectrumRestriction_vals), 0,
20094 NULL, HFILL }},
20095 { &hf_s1ap_URI_Address_PDU,
20096 { "URI-Address", "s1ap.URI_Address",
20097 FT_STRING, BASE_NONE, NULL, 0,
20098 NULL, HFILL }},
20099 { &hf_s1ap_UserLocationInformation_PDU,
20100 { "UserLocationInformation", "s1ap.UserLocationInformation_element",
20101 FT_NONE, BASE_NONE, NULL, 0,
20102 NULL, HFILL }},
20103 { &hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU,
20104 { "UEUserPlaneCIoTSupportIndicator", "s1ap.UEUserPlaneCIoTSupportIndicator",
20105 FT_UINT32, BASE_DEC, VALS(s1ap_UEUserPlaneCIoTSupportIndicator_vals), 0,
20106 NULL, HFILL }},
20107 { &hf_s1ap_UE_Application_Layer_Measurement_Capability_PDU,
20108 { "UE-Application-Layer-Measurement-Capability", "s1ap.UE_Application_Layer_Measurement_Capability",
20109 FT_BYTES, BASE_NONE, NULL, 0,
20110 NULL, HFILL }},
20111 { &hf_s1ap_VoiceSupportMatchIndicator_PDU,
20112 { "VoiceSupportMatchIndicator", "s1ap.VoiceSupportMatchIndicator",
20113 FT_UINT32, BASE_DEC, VALS(s1ap_VoiceSupportMatchIndicator_vals), 0,
20114 NULL, HFILL }},
20115 { &hf_s1ap_V2XServicesAuthorized_PDU,
20116 { "V2XServicesAuthorized", "s1ap.V2XServicesAuthorized_element",
20117 FT_NONE, BASE_NONE, NULL, 0,
20118 NULL, HFILL }},
20119 { &hf_s1ap_WarningAreaCoordinates_PDU,
20120 { "WarningAreaCoordinates", "s1ap.WarningAreaCoordinates",
20121 FT_BYTES, BASE_NONE, NULL, 0,
20122 NULL, HFILL }},
20123 { &hf_s1ap_WarningAreaList_PDU,
20124 { "WarningAreaList", "s1ap.WarningAreaList",
20125 FT_UINT32, BASE_DEC, VALS(s1ap_WarningAreaList_vals), 0,
20126 NULL, HFILL }},
20127 { &hf_s1ap_WarningType_PDU,
20128 { "WarningType", "s1ap.WarningType",
20129 FT_BYTES, BASE_NONE, NULL, 0,
20130 NULL, HFILL }},
20131 { &hf_s1ap_WarningSecurityInfo_PDU,
20132 { "WarningSecurityInfo", "s1ap.WarningSecurityInfo",
20133 FT_BYTES, BASE_NONE, NULL, 0,
20134 NULL, HFILL }},
20135 { &hf_s1ap_WarningMessageContents_PDU,
20136 { "WarningMessageContents", "s1ap.WarningMessageContents",
20137 FT_BYTES, BASE_NONE, NULL, 0,
20138 NULL, HFILL }},
20139 { &hf_s1ap_WLANMeasurementConfiguration_PDU,
20140 { "WLANMeasurementConfiguration", "s1ap.WLANMeasurementConfiguration_element",
20141 FT_NONE, BASE_NONE, NULL, 0,
20142 NULL, HFILL }},
20143 { &hf_s1ap_WUS_Assistance_Information_PDU,
20144 { "WUS-Assistance-Information", "s1ap.WUS_Assistance_Information_element",
20145 FT_NONE, BASE_NONE, NULL, 0,
20146 NULL, HFILL }},
20147 { &hf_s1ap_X2TNLConfigurationInfo_PDU,
20148 { "X2TNLConfigurationInfo", "s1ap.X2TNLConfigurationInfo_element",
20149 FT_NONE, BASE_NONE, NULL, 0,
20150 NULL, HFILL }},
20151 { &hf_s1ap_ENBX2ExtTLAs_PDU,
20152 { "ENBX2ExtTLAs", "s1ap.ENBX2ExtTLAs",
20153 FT_UINT32, BASE_DEC, NULL, 0,
20154 NULL, HFILL }},
20155 { &hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU,
20156 { "ENBIndirectX2TransportLayerAddresses", "s1ap.ENBIndirectX2TransportLayerAddresses",
20157 FT_UINT32, BASE_DEC, NULL, 0,
20158 NULL, HFILL }},
20159 { &hf_s1ap_HandoverRequired_PDU,
20160 { "HandoverRequired", "s1ap.HandoverRequired_element",
20161 FT_NONE, BASE_NONE, NULL, 0,
20162 NULL, HFILL }},
20163 { &hf_s1ap_HandoverCommand_PDU,
20164 { "HandoverCommand", "s1ap.HandoverCommand_element",
20165 FT_NONE, BASE_NONE, NULL, 0,
20166 NULL, HFILL }},
20167 { &hf_s1ap_E_RABSubjecttoDataForwardingList_PDU,
20168 { "E-RABSubjecttoDataForwardingList", "s1ap.E_RABSubjecttoDataForwardingList",
20169 FT_UINT32, BASE_DEC, NULL, 0,
20170 NULL, HFILL }},
20171 { &hf_s1ap_E_RABDataForwardingItem_PDU,
20172 { "E-RABDataForwardingItem", "s1ap.E_RABDataForwardingItem_element",
20173 FT_NONE, BASE_NONE, NULL, 0,
20174 NULL, HFILL }},
20175 { &hf_s1ap_HandoverPreparationFailure_PDU,
20176 { "HandoverPreparationFailure", "s1ap.HandoverPreparationFailure_element",
20177 FT_NONE, BASE_NONE, NULL, 0,
20178 NULL, HFILL }},
20179 { &hf_s1ap_HandoverRequest_PDU,
20180 { "HandoverRequest", "s1ap.HandoverRequest_element",
20181 FT_NONE, BASE_NONE, NULL, 0,
20182 NULL, HFILL }},
20183 { &hf_s1ap_E_RABToBeSetupListHOReq_PDU,
20184 { "E-RABToBeSetupListHOReq", "s1ap.E_RABToBeSetupListHOReq",
20185 FT_UINT32, BASE_DEC, NULL, 0,
20186 NULL, HFILL }},
20187 { &hf_s1ap_E_RABToBeSetupItemHOReq_PDU,
20188 { "E-RABToBeSetupItemHOReq", "s1ap.E_RABToBeSetupItemHOReq_element",
20189 FT_NONE, BASE_NONE, NULL, 0,
20190 NULL, HFILL }},
20191 { &hf_s1ap_HandoverRequestAcknowledge_PDU,
20192 { "HandoverRequestAcknowledge", "s1ap.HandoverRequestAcknowledge_element",
20193 FT_NONE, BASE_NONE, NULL, 0,
20194 NULL, HFILL }},
20195 { &hf_s1ap_E_RABAdmittedList_PDU,
20196 { "E-RABAdmittedList", "s1ap.E_RABAdmittedList",
20197 FT_UINT32, BASE_DEC, NULL, 0,
20198 NULL, HFILL }},
20199 { &hf_s1ap_E_RABAdmittedItem_PDU,
20200 { "E-RABAdmittedItem", "s1ap.E_RABAdmittedItem_element",
20201 FT_NONE, BASE_NONE, NULL, 0,
20202 NULL, HFILL }},
20203 { &hf_s1ap_E_RABFailedtoSetupListHOReqAck_PDU,
20204 { "E-RABFailedtoSetupListHOReqAck", "s1ap.E_RABFailedtoSetupListHOReqAck",
20205 FT_UINT32, BASE_DEC, NULL, 0,
20206 NULL, HFILL }},
20207 { &hf_s1ap_E_RABFailedToSetupItemHOReqAck_PDU,
20208 { "E-RABFailedToSetupItemHOReqAck", "s1ap.E_RABFailedToSetupItemHOReqAck_element",
20209 FT_NONE, BASE_NONE, NULL, 0,
20210 NULL, HFILL }},
20211 { &hf_s1ap_HandoverFailure_PDU,
20212 { "HandoverFailure", "s1ap.HandoverFailure_element",
20213 FT_NONE, BASE_NONE, NULL, 0,
20214 NULL, HFILL }},
20215 { &hf_s1ap_HandoverNotify_PDU,
20216 { "HandoverNotify", "s1ap.HandoverNotify_element",
20217 FT_NONE, BASE_NONE, NULL, 0,
20218 NULL, HFILL }},
20219 { &hf_s1ap_PathSwitchRequest_PDU,
20220 { "PathSwitchRequest", "s1ap.PathSwitchRequest_element",
20221 FT_NONE, BASE_NONE, NULL, 0,
20222 NULL, HFILL }},
20223 { &hf_s1ap_E_RABToBeSwitchedDLList_PDU,
20224 { "E-RABToBeSwitchedDLList", "s1ap.E_RABToBeSwitchedDLList",
20225 FT_UINT32, BASE_DEC, NULL, 0,
20226 NULL, HFILL }},
20227 { &hf_s1ap_E_RABToBeSwitchedDLItem_PDU,
20228 { "E-RABToBeSwitchedDLItem", "s1ap.E_RABToBeSwitchedDLItem_element",
20229 FT_NONE, BASE_NONE, NULL, 0,
20230 NULL, HFILL }},
20231 { &hf_s1ap_PathSwitchRequestAcknowledge_PDU,
20232 { "PathSwitchRequestAcknowledge", "s1ap.PathSwitchRequestAcknowledge_element",
20233 FT_NONE, BASE_NONE, NULL, 0,
20234 NULL, HFILL }},
20235 { &hf_s1ap_E_RABToBeSwitchedULList_PDU,
20236 { "E-RABToBeSwitchedULList", "s1ap.E_RABToBeSwitchedULList",
20237 FT_UINT32, BASE_DEC, NULL, 0,
20238 NULL, HFILL }},
20239 { &hf_s1ap_E_RABToBeSwitchedULItem_PDU,
20240 { "E-RABToBeSwitchedULItem", "s1ap.E_RABToBeSwitchedULItem_element",
20241 FT_NONE, BASE_NONE, NULL, 0,
20242 NULL, HFILL }},
20243 { &hf_s1ap_E_RABToBeUpdatedList_PDU,
20244 { "E-RABToBeUpdatedList", "s1ap.E_RABToBeUpdatedList",
20245 FT_UINT32, BASE_DEC, NULL, 0,
20246 NULL, HFILL }},
20247 { &hf_s1ap_E_RABToBeUpdatedItem_PDU,
20248 { "E-RABToBeUpdatedItem", "s1ap.E_RABToBeUpdatedItem_element",
20249 FT_NONE, BASE_NONE, NULL, 0,
20250 NULL, HFILL }},
20251 { &hf_s1ap_PathSwitchRequestFailure_PDU,
20252 { "PathSwitchRequestFailure", "s1ap.PathSwitchRequestFailure_element",
20253 FT_NONE, BASE_NONE, NULL, 0,
20254 NULL, HFILL }},
20255 { &hf_s1ap_HandoverCancel_PDU,
20256 { "HandoverCancel", "s1ap.HandoverCancel_element",
20257 FT_NONE, BASE_NONE, NULL, 0,
20258 NULL, HFILL }},
20259 { &hf_s1ap_HandoverCancelAcknowledge_PDU,
20260 { "HandoverCancelAcknowledge", "s1ap.HandoverCancelAcknowledge_element",
20261 FT_NONE, BASE_NONE, NULL, 0,
20262 NULL, HFILL }},
20263 { &hf_s1ap_HandoverSuccess_PDU,
20264 { "HandoverSuccess", "s1ap.HandoverSuccess_element",
20265 FT_NONE, BASE_NONE, NULL, 0,
20266 NULL, HFILL }},
20267 { &hf_s1ap_ENBEarlyStatusTransfer_PDU,
20268 { "ENBEarlyStatusTransfer", "s1ap.ENBEarlyStatusTransfer_element",
20269 FT_NONE, BASE_NONE, NULL, 0,
20270 NULL, HFILL }},
20271 { &hf_s1ap_MMEEarlyStatusTransfer_PDU,
20272 { "MMEEarlyStatusTransfer", "s1ap.MMEEarlyStatusTransfer_element",
20273 FT_NONE, BASE_NONE, NULL, 0,
20274 NULL, HFILL }},
20275 { &hf_s1ap_E_RABSetupRequest_PDU,
20276 { "E-RABSetupRequest", "s1ap.E_RABSetupRequest_element",
20277 FT_NONE, BASE_NONE, NULL, 0,
20278 NULL, HFILL }},
20279 { &hf_s1ap_E_RABToBeSetupListBearerSUReq_PDU,
20280 { "E-RABToBeSetupListBearerSUReq", "s1ap.E_RABToBeSetupListBearerSUReq",
20281 FT_UINT32, BASE_DEC, NULL, 0,
20282 NULL, HFILL }},
20283 { &hf_s1ap_E_RABToBeSetupItemBearerSUReq_PDU,
20284 { "E-RABToBeSetupItemBearerSUReq", "s1ap.E_RABToBeSetupItemBearerSUReq_element",
20285 FT_NONE, BASE_NONE, NULL, 0,
20286 NULL, HFILL }},
20287 { &hf_s1ap_E_RABSetupResponse_PDU,
20288 { "E-RABSetupResponse", "s1ap.E_RABSetupResponse_element",
20289 FT_NONE, BASE_NONE, NULL, 0,
20290 NULL, HFILL }},
20291 { &hf_s1ap_E_RABSetupListBearerSURes_PDU,
20292 { "E-RABSetupListBearerSURes", "s1ap.E_RABSetupListBearerSURes",
20293 FT_UINT32, BASE_DEC, NULL, 0,
20294 NULL, HFILL }},
20295 { &hf_s1ap_E_RABSetupItemBearerSURes_PDU,
20296 { "E-RABSetupItemBearerSURes", "s1ap.E_RABSetupItemBearerSURes_element",
20297 FT_NONE, BASE_NONE, NULL, 0,
20298 NULL, HFILL }},
20299 { &hf_s1ap_E_RABModifyRequest_PDU,
20300 { "E-RABModifyRequest", "s1ap.E_RABModifyRequest_element",
20301 FT_NONE, BASE_NONE, NULL, 0,
20302 NULL, HFILL }},
20303 { &hf_s1ap_E_RABToBeModifiedListBearerModReq_PDU,
20304 { "E-RABToBeModifiedListBearerModReq", "s1ap.E_RABToBeModifiedListBearerModReq",
20305 FT_UINT32, BASE_DEC, NULL, 0,
20306 NULL, HFILL }},
20307 { &hf_s1ap_E_RABToBeModifiedItemBearerModReq_PDU,
20308 { "E-RABToBeModifiedItemBearerModReq", "s1ap.E_RABToBeModifiedItemBearerModReq_element",
20309 FT_NONE, BASE_NONE, NULL, 0,
20310 NULL, HFILL }},
20311 { &hf_s1ap_E_RABModifyResponse_PDU,
20312 { "E-RABModifyResponse", "s1ap.E_RABModifyResponse_element",
20313 FT_NONE, BASE_NONE, NULL, 0,
20314 NULL, HFILL }},
20315 { &hf_s1ap_E_RABModifyListBearerModRes_PDU,
20316 { "E-RABModifyListBearerModRes", "s1ap.E_RABModifyListBearerModRes",
20317 FT_UINT32, BASE_DEC, NULL, 0,
20318 NULL, HFILL }},
20319 { &hf_s1ap_E_RABModifyItemBearerModRes_PDU,
20320 { "E-RABModifyItemBearerModRes", "s1ap.E_RABModifyItemBearerModRes_element",
20321 FT_NONE, BASE_NONE, NULL, 0,
20322 NULL, HFILL }},
20323 { &hf_s1ap_E_RABReleaseCommand_PDU,
20324 { "E-RABReleaseCommand", "s1ap.E_RABReleaseCommand_element",
20325 FT_NONE, BASE_NONE, NULL, 0,
20326 NULL, HFILL }},
20327 { &hf_s1ap_E_RABReleaseResponse_PDU,
20328 { "E-RABReleaseResponse", "s1ap.E_RABReleaseResponse_element",
20329 FT_NONE, BASE_NONE, NULL, 0,
20330 NULL, HFILL }},
20331 { &hf_s1ap_E_RABReleaseListBearerRelComp_PDU,
20332 { "E-RABReleaseListBearerRelComp", "s1ap.E_RABReleaseListBearerRelComp",
20333 FT_UINT32, BASE_DEC, NULL, 0,
20334 NULL, HFILL }},
20335 { &hf_s1ap_E_RABReleaseItemBearerRelComp_PDU,
20336 { "E-RABReleaseItemBearerRelComp", "s1ap.E_RABReleaseItemBearerRelComp_element",
20337 FT_NONE, BASE_NONE, NULL, 0,
20338 NULL, HFILL }},
20339 { &hf_s1ap_E_RABReleaseIndication_PDU,
20340 { "E-RABReleaseIndication", "s1ap.E_RABReleaseIndication_element",
20341 FT_NONE, BASE_NONE, NULL, 0,
20342 NULL, HFILL }},
20343 { &hf_s1ap_InitialContextSetupRequest_PDU,
20344 { "InitialContextSetupRequest", "s1ap.InitialContextSetupRequest_element",
20345 FT_NONE, BASE_NONE, NULL, 0,
20346 NULL, HFILL }},
20347 { &hf_s1ap_E_RABToBeSetupListCtxtSUReq_PDU,
20348 { "E-RABToBeSetupListCtxtSUReq", "s1ap.E_RABToBeSetupListCtxtSUReq",
20349 FT_UINT32, BASE_DEC, NULL, 0,
20350 NULL, HFILL }},
20351 { &hf_s1ap_E_RABToBeSetupItemCtxtSUReq_PDU,
20352 { "E-RABToBeSetupItemCtxtSUReq", "s1ap.E_RABToBeSetupItemCtxtSUReq_element",
20353 FT_NONE, BASE_NONE, NULL, 0,
20354 NULL, HFILL }},
20355 { &hf_s1ap_InitialContextSetupResponse_PDU,
20356 { "InitialContextSetupResponse", "s1ap.InitialContextSetupResponse_element",
20357 FT_NONE, BASE_NONE, NULL, 0,
20358 NULL, HFILL }},
20359 { &hf_s1ap_E_RABSetupListCtxtSURes_PDU,
20360 { "E-RABSetupListCtxtSURes", "s1ap.E_RABSetupListCtxtSURes",
20361 FT_UINT32, BASE_DEC, NULL, 0,
20362 NULL, HFILL }},
20363 { &hf_s1ap_E_RABSetupItemCtxtSURes_PDU,
20364 { "E-RABSetupItemCtxtSURes", "s1ap.E_RABSetupItemCtxtSURes_element",
20365 FT_NONE, BASE_NONE, NULL, 0,
20366 NULL, HFILL }},
20367 { &hf_s1ap_InitialContextSetupFailure_PDU,
20368 { "InitialContextSetupFailure", "s1ap.InitialContextSetupFailure_element",
20369 FT_NONE, BASE_NONE, NULL, 0,
20370 NULL, HFILL }},
20371 { &hf_s1ap_Paging_PDU,
20372 { "Paging", "s1ap.Paging_element",
20373 FT_NONE, BASE_NONE, NULL, 0,
20374 NULL, HFILL }},
20375 { &hf_s1ap_TAIList_PDU,
20376 { "TAIList", "s1ap.TAIList",
20377 FT_UINT32, BASE_DEC, NULL, 0,
20378 NULL, HFILL }},
20379 { &hf_s1ap_TAIItem_PDU,
20380 { "TAIItem", "s1ap.TAIItem_element",
20381 FT_NONE, BASE_NONE, NULL, 0,
20382 NULL, HFILL }},
20383 { &hf_s1ap_UEContextReleaseRequest_PDU,
20384 { "UEContextReleaseRequest", "s1ap.UEContextReleaseRequest_element",
20385 FT_NONE, BASE_NONE, NULL, 0,
20386 NULL, HFILL }},
20387 { &hf_s1ap_UEContextReleaseCommand_PDU,
20388 { "UEContextReleaseCommand", "s1ap.UEContextReleaseCommand_element",
20389 FT_NONE, BASE_NONE, NULL, 0,
20390 NULL, HFILL }},
20391 { &hf_s1ap_UEContextReleaseComplete_PDU,
20392 { "UEContextReleaseComplete", "s1ap.UEContextReleaseComplete_element",
20393 FT_NONE, BASE_NONE, NULL, 0,
20394 NULL, HFILL }},
20395 { &hf_s1ap_UEContextModificationRequest_PDU,
20396 { "UEContextModificationRequest", "s1ap.UEContextModificationRequest_element",
20397 FT_NONE, BASE_NONE, NULL, 0,
20398 NULL, HFILL }},
20399 { &hf_s1ap_UEContextModificationResponse_PDU,
20400 { "UEContextModificationResponse", "s1ap.UEContextModificationResponse_element",
20401 FT_NONE, BASE_NONE, NULL, 0,
20402 NULL, HFILL }},
20403 { &hf_s1ap_UEContextModificationFailure_PDU,
20404 { "UEContextModificationFailure", "s1ap.UEContextModificationFailure_element",
20405 FT_NONE, BASE_NONE, NULL, 0,
20406 NULL, HFILL }},
20407 { &hf_s1ap_UERadioCapabilityMatchRequest_PDU,
20408 { "UERadioCapabilityMatchRequest", "s1ap.UERadioCapabilityMatchRequest_element",
20409 FT_NONE, BASE_NONE, NULL, 0,
20410 NULL, HFILL }},
20411 { &hf_s1ap_UERadioCapabilityMatchResponse_PDU,
20412 { "UERadioCapabilityMatchResponse", "s1ap.UERadioCapabilityMatchResponse_element",
20413 FT_NONE, BASE_NONE, NULL, 0,
20414 NULL, HFILL }},
20415 { &hf_s1ap_DownlinkNASTransport_PDU,
20416 { "DownlinkNASTransport", "s1ap.DownlinkNASTransport_element",
20417 FT_NONE, BASE_NONE, NULL, 0,
20418 NULL, HFILL }},
20419 { &hf_s1ap_InitialUEMessage_PDU,
20420 { "InitialUEMessage", "s1ap.InitialUEMessage_element",
20421 FT_NONE, BASE_NONE, NULL, 0,
20422 NULL, HFILL }},
20423 { &hf_s1ap_UplinkNASTransport_PDU,
20424 { "UplinkNASTransport", "s1ap.UplinkNASTransport_element",
20425 FT_NONE, BASE_NONE, NULL, 0,
20426 NULL, HFILL }},
20427 { &hf_s1ap_NASNonDeliveryIndication_PDU,
20428 { "NASNonDeliveryIndication", "s1ap.NASNonDeliveryIndication_element",
20429 FT_NONE, BASE_NONE, NULL, 0,
20430 NULL, HFILL }},
20431 { &hf_s1ap_RerouteNASRequest_PDU,
20432 { "RerouteNASRequest", "s1ap.RerouteNASRequest_element",
20433 FT_NONE, BASE_NONE, NULL, 0,
20434 NULL, HFILL }},
20435 { &hf_s1ap_S1_Message_PDU,
20436 { "S1-Message", "s1ap.S1_Message",
20437 FT_BYTES, BASE_NONE, NULL, 0,
20438 NULL, HFILL }},
20439 { &hf_s1ap_NASDeliveryIndication_PDU,
20440 { "NASDeliveryIndication", "s1ap.NASDeliveryIndication_element",
20441 FT_NONE, BASE_NONE, NULL, 0,
20442 NULL, HFILL }},
20443 { &hf_s1ap_Reset_PDU,
20444 { "Reset", "s1ap.Reset_element",
20445 FT_NONE, BASE_NONE, NULL, 0,
20446 NULL, HFILL }},
20447 { &hf_s1ap_ResetType_PDU,
20448 { "ResetType", "s1ap.ResetType",
20449 FT_UINT32, BASE_DEC, VALS(s1ap_ResetType_vals), 0,
20450 NULL, HFILL }},
20451 { &hf_s1ap_ResetAcknowledge_PDU,
20452 { "ResetAcknowledge", "s1ap.ResetAcknowledge_element",
20453 FT_NONE, BASE_NONE, NULL, 0,
20454 NULL, HFILL }},
20455 { &hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_PDU,
20456 { "UE-associatedLogicalS1-ConnectionListResAck", "s1ap.UE_associatedLogicalS1_ConnectionListResAck",
20457 FT_UINT32, BASE_DEC, NULL, 0,
20458 NULL, HFILL }},
20459 { &hf_s1ap_ErrorIndication_PDU,
20460 { "ErrorIndication", "s1ap.ErrorIndication_element",
20461 FT_NONE, BASE_NONE, NULL, 0,
20462 NULL, HFILL }},
20463 { &hf_s1ap_S1SetupRequest_PDU,
20464 { "S1SetupRequest", "s1ap.S1SetupRequest_element",
20465 FT_NONE, BASE_NONE, NULL, 0,
20466 NULL, HFILL }},
20467 { &hf_s1ap_S1SetupResponse_PDU,
20468 { "S1SetupResponse", "s1ap.S1SetupResponse_element",
20469 FT_NONE, BASE_NONE, NULL, 0,
20470 NULL, HFILL }},
20471 { &hf_s1ap_S1SetupFailure_PDU,
20472 { "S1SetupFailure", "s1ap.S1SetupFailure_element",
20473 FT_NONE, BASE_NONE, NULL, 0,
20474 NULL, HFILL }},
20475 { &hf_s1ap_ENBConfigurationUpdate_PDU,
20476 { "ENBConfigurationUpdate", "s1ap.ENBConfigurationUpdate_element",
20477 FT_NONE, BASE_NONE, NULL, 0,
20478 NULL, HFILL }},
20479 { &hf_s1ap_ENBConfigurationUpdateAcknowledge_PDU,
20480 { "ENBConfigurationUpdateAcknowledge", "s1ap.ENBConfigurationUpdateAcknowledge_element",
20481 FT_NONE, BASE_NONE, NULL, 0,
20482 NULL, HFILL }},
20483 { &hf_s1ap_ENBConfigurationUpdateFailure_PDU,
20484 { "ENBConfigurationUpdateFailure", "s1ap.ENBConfigurationUpdateFailure_element",
20485 FT_NONE, BASE_NONE, NULL, 0,
20486 NULL, HFILL }},
20487 { &hf_s1ap_MMEConfigurationUpdate_PDU,
20488 { "MMEConfigurationUpdate", "s1ap.MMEConfigurationUpdate_element",
20489 FT_NONE, BASE_NONE, NULL, 0,
20490 NULL, HFILL }},
20491 { &hf_s1ap_MMEConfigurationUpdateAcknowledge_PDU,
20492 { "MMEConfigurationUpdateAcknowledge", "s1ap.MMEConfigurationUpdateAcknowledge_element",
20493 FT_NONE, BASE_NONE, NULL, 0,
20494 NULL, HFILL }},
20495 { &hf_s1ap_MMEConfigurationUpdateFailure_PDU,
20496 { "MMEConfigurationUpdateFailure", "s1ap.MMEConfigurationUpdateFailure_element",
20497 FT_NONE, BASE_NONE, NULL, 0,
20498 NULL, HFILL }},
20499 { &hf_s1ap_DownlinkS1cdma2000tunnelling_PDU,
20500 { "DownlinkS1cdma2000tunnelling", "s1ap.DownlinkS1cdma2000tunnelling_element",
20501 FT_NONE, BASE_NONE, NULL, 0,
20502 NULL, HFILL }},
20503 { &hf_s1ap_UplinkS1cdma2000tunnelling_PDU,
20504 { "UplinkS1cdma2000tunnelling", "s1ap.UplinkS1cdma2000tunnelling_element",
20505 FT_NONE, BASE_NONE, NULL, 0,
20506 NULL, HFILL }},
20507 { &hf_s1ap_UECapabilityInfoIndication_PDU,
20508 { "UECapabilityInfoIndication", "s1ap.UECapabilityInfoIndication_element",
20509 FT_NONE, BASE_NONE, NULL, 0,
20510 NULL, HFILL }},
20511 { &hf_s1ap_ENBStatusTransfer_PDU,
20512 { "ENBStatusTransfer", "s1ap.ENBStatusTransfer_element",
20513 FT_NONE, BASE_NONE, NULL, 0,
20514 NULL, HFILL }},
20515 { &hf_s1ap_MMEStatusTransfer_PDU,
20516 { "MMEStatusTransfer", "s1ap.MMEStatusTransfer_element",
20517 FT_NONE, BASE_NONE, NULL, 0,
20518 NULL, HFILL }},
20519 { &hf_s1ap_TraceStart_PDU,
20520 { "TraceStart", "s1ap.TraceStart_element",
20521 FT_NONE, BASE_NONE, NULL, 0,
20522 NULL, HFILL }},
20523 { &hf_s1ap_TraceFailureIndication_PDU,
20524 { "TraceFailureIndication", "s1ap.TraceFailureIndication_element",
20525 FT_NONE, BASE_NONE, NULL, 0,
20526 NULL, HFILL }},
20527 { &hf_s1ap_DeactivateTrace_PDU,
20528 { "DeactivateTrace", "s1ap.DeactivateTrace_element",
20529 FT_NONE, BASE_NONE, NULL, 0,
20530 NULL, HFILL }},
20531 { &hf_s1ap_CellTrafficTrace_PDU,
20532 { "CellTrafficTrace", "s1ap.CellTrafficTrace_element",
20533 FT_NONE, BASE_NONE, NULL, 0,
20534 NULL, HFILL }},
20535 { &hf_s1ap_LocationReportingControl_PDU,
20536 { "LocationReportingControl", "s1ap.LocationReportingControl_element",
20537 FT_NONE, BASE_NONE, NULL, 0,
20538 NULL, HFILL }},
20539 { &hf_s1ap_LocationReportingFailureIndication_PDU,
20540 { "LocationReportingFailureIndication", "s1ap.LocationReportingFailureIndication_element",
20541 FT_NONE, BASE_NONE, NULL, 0,
20542 NULL, HFILL }},
20543 { &hf_s1ap_LocationReport_PDU,
20544 { "LocationReport", "s1ap.LocationReport_element",
20545 FT_NONE, BASE_NONE, NULL, 0,
20546 NULL, HFILL }},
20547 { &hf_s1ap_OverloadStart_PDU,
20548 { "OverloadStart", "s1ap.OverloadStart_element",
20549 FT_NONE, BASE_NONE, NULL, 0,
20550 NULL, HFILL }},
20551 { &hf_s1ap_OverloadStop_PDU,
20552 { "OverloadStop", "s1ap.OverloadStop_element",
20553 FT_NONE, BASE_NONE, NULL, 0,
20554 NULL, HFILL }},
20555 { &hf_s1ap_WriteReplaceWarningRequest_PDU,
20556 { "WriteReplaceWarningRequest", "s1ap.WriteReplaceWarningRequest_element",
20557 FT_NONE, BASE_NONE, NULL, 0,
20558 NULL, HFILL }},
20559 { &hf_s1ap_WriteReplaceWarningResponse_PDU,
20560 { "WriteReplaceWarningResponse", "s1ap.WriteReplaceWarningResponse_element",
20561 FT_NONE, BASE_NONE, NULL, 0,
20562 NULL, HFILL }},
20563 { &hf_s1ap_ENBDirectInformationTransfer_PDU,
20564 { "ENBDirectInformationTransfer", "s1ap.ENBDirectInformationTransfer_element",
20565 FT_NONE, BASE_NONE, NULL, 0,
20566 NULL, HFILL }},
20567 { &hf_s1ap_Inter_SystemInformationTransferType_PDU,
20568 { "Inter-SystemInformationTransferType", "s1ap.Inter_SystemInformationTransferType",
20569 FT_UINT32, BASE_DEC, VALS(s1ap_Inter_SystemInformationTransferType_vals), 0,
20570 NULL, HFILL }},
20571 { &hf_s1ap_MMEDirectInformationTransfer_PDU,
20572 { "MMEDirectInformationTransfer", "s1ap.MMEDirectInformationTransfer_element",
20573 FT_NONE, BASE_NONE, NULL, 0,
20574 NULL, HFILL }},
20575 { &hf_s1ap_ENBConfigurationTransfer_PDU,
20576 { "ENBConfigurationTransfer", "s1ap.ENBConfigurationTransfer_element",
20577 FT_NONE, BASE_NONE, NULL, 0,
20578 NULL, HFILL }},
20579 { &hf_s1ap_MMEConfigurationTransfer_PDU,
20580 { "MMEConfigurationTransfer", "s1ap.MMEConfigurationTransfer_element",
20581 FT_NONE, BASE_NONE, NULL, 0,
20582 NULL, HFILL }},
20583 { &hf_s1ap_PrivateMessage_PDU,
20584 { "PrivateMessage", "s1ap.PrivateMessage_element",
20585 FT_NONE, BASE_NONE, NULL, 0,
20586 NULL, HFILL }},
20587 { &hf_s1ap_KillRequest_PDU,
20588 { "KillRequest", "s1ap.KillRequest_element",
20589 FT_NONE, BASE_NONE, NULL, 0,
20590 NULL, HFILL }},
20591 { &hf_s1ap_KillResponse_PDU,
20592 { "KillResponse", "s1ap.KillResponse_element",
20593 FT_NONE, BASE_NONE, NULL, 0,
20594 NULL, HFILL }},
20595 { &hf_s1ap_PWSRestartIndication_PDU,
20596 { "PWSRestartIndication", "s1ap.PWSRestartIndication_element",
20597 FT_NONE, BASE_NONE, NULL, 0,
20598 NULL, HFILL }},
20599 { &hf_s1ap_PWSFailureIndication_PDU,
20600 { "PWSFailureIndication", "s1ap.PWSFailureIndication_element",
20601 FT_NONE, BASE_NONE, NULL, 0,
20602 NULL, HFILL }},
20603 { &hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU,
20604 { "DownlinkUEAssociatedLPPaTransport", "s1ap.DownlinkUEAssociatedLPPaTransport_element",
20605 FT_NONE, BASE_NONE, NULL, 0,
20606 NULL, HFILL }},
20607 { &hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU,
20608 { "UplinkUEAssociatedLPPaTransport", "s1ap.UplinkUEAssociatedLPPaTransport_element",
20609 FT_NONE, BASE_NONE, NULL, 0,
20610 NULL, HFILL }},
20611 { &hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU,
20612 { "DownlinkNonUEAssociatedLPPaTransport", "s1ap.DownlinkNonUEAssociatedLPPaTransport_element",
20613 FT_NONE, BASE_NONE, NULL, 0,
20614 NULL, HFILL }},
20615 { &hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU,
20616 { "UplinkNonUEAssociatedLPPaTransport", "s1ap.UplinkNonUEAssociatedLPPaTransport_element",
20617 FT_NONE, BASE_NONE, NULL, 0,
20618 NULL, HFILL }},
20619 { &hf_s1ap_E_RABModificationIndication_PDU,
20620 { "E-RABModificationIndication", "s1ap.E_RABModificationIndication_element",
20621 FT_NONE, BASE_NONE, NULL, 0,
20622 NULL, HFILL }},
20623 { &hf_s1ap_E_RABToBeModifiedListBearerModInd_PDU,
20624 { "E-RABToBeModifiedListBearerModInd", "s1ap.E_RABToBeModifiedListBearerModInd",
20625 FT_UINT32, BASE_DEC, NULL, 0,
20626 NULL, HFILL }},
20627 { &hf_s1ap_E_RABToBeModifiedItemBearerModInd_PDU,
20628 { "E-RABToBeModifiedItemBearerModInd", "s1ap.E_RABToBeModifiedItemBearerModInd_element",
20629 FT_NONE, BASE_NONE, NULL, 0,
20630 NULL, HFILL }},
20631 { &hf_s1ap_E_RABNotToBeModifiedListBearerModInd_PDU,
20632 { "E-RABNotToBeModifiedListBearerModInd", "s1ap.E_RABNotToBeModifiedListBearerModInd",
20633 FT_UINT32, BASE_DEC, NULL, 0,
20634 NULL, HFILL }},
20635 { &hf_s1ap_E_RABNotToBeModifiedItemBearerModInd_PDU,
20636 { "E-RABNotToBeModifiedItemBearerModInd", "s1ap.E_RABNotToBeModifiedItemBearerModInd_element",
20637 FT_NONE, BASE_NONE, NULL, 0,
20638 NULL, HFILL }},
20639 { &hf_s1ap_CSGMembershipInfo_PDU,
20640 { "CSGMembershipInfo", "s1ap.CSGMembershipInfo_element",
20641 FT_NONE, BASE_NONE, NULL, 0,
20642 NULL, HFILL }},
20643 { &hf_s1ap_E_RABModificationConfirm_PDU,
20644 { "E-RABModificationConfirm", "s1ap.E_RABModificationConfirm_element",
20645 FT_NONE, BASE_NONE, NULL, 0,
20646 NULL, HFILL }},
20647 { &hf_s1ap_E_RABModifyListBearerModConf_PDU,
20648 { "E-RABModifyListBearerModConf", "s1ap.E_RABModifyListBearerModConf",
20649 FT_UINT32, BASE_DEC, NULL, 0,
20650 NULL, HFILL }},
20651 { &hf_s1ap_E_RABModifyItemBearerModConf_PDU,
20652 { "E-RABModifyItemBearerModConf", "s1ap.E_RABModifyItemBearerModConf_element",
20653 FT_NONE, BASE_NONE, NULL, 0,
20654 NULL, HFILL }},
20655 { &hf_s1ap_UEContextModificationIndication_PDU,
20656 { "UEContextModificationIndication", "s1ap.UEContextModificationIndication_element",
20657 FT_NONE, BASE_NONE, NULL, 0,
20658 NULL, HFILL }},
20659 { &hf_s1ap_UEContextModificationConfirm_PDU,
20660 { "UEContextModificationConfirm", "s1ap.UEContextModificationConfirm_element",
20661 FT_NONE, BASE_NONE, NULL, 0,
20662 NULL, HFILL }},
20663 { &hf_s1ap_UEContextSuspendRequest_PDU,
20664 { "UEContextSuspendRequest", "s1ap.UEContextSuspendRequest_element",
20665 FT_NONE, BASE_NONE, NULL, 0,
20666 NULL, HFILL }},
20667 { &hf_s1ap_UEContextSuspendResponse_PDU,
20668 { "UEContextSuspendResponse", "s1ap.UEContextSuspendResponse_element",
20669 FT_NONE, BASE_NONE, NULL, 0,
20670 NULL, HFILL }},
20671 { &hf_s1ap_UEContextResumeRequest_PDU,
20672 { "UEContextResumeRequest", "s1ap.UEContextResumeRequest_element",
20673 FT_NONE, BASE_NONE, NULL, 0,
20674 NULL, HFILL }},
20675 { &hf_s1ap_E_RABFailedToResumeListResumeReq_PDU,
20676 { "E-RABFailedToResumeListResumeReq", "s1ap.E_RABFailedToResumeListResumeReq",
20677 FT_UINT32, BASE_DEC, NULL, 0,
20678 NULL, HFILL }},
20679 { &hf_s1ap_E_RABFailedToResumeItemResumeReq_PDU,
20680 { "E-RABFailedToResumeItemResumeReq", "s1ap.E_RABFailedToResumeItemResumeReq_element",
20681 FT_NONE, BASE_NONE, NULL, 0,
20682 NULL, HFILL }},
20683 { &hf_s1ap_UEContextResumeResponse_PDU,
20684 { "UEContextResumeResponse", "s1ap.UEContextResumeResponse_element",
20685 FT_NONE, BASE_NONE, NULL, 0,
20686 NULL, HFILL }},
20687 { &hf_s1ap_E_RABFailedToResumeListResumeRes_PDU,
20688 { "E-RABFailedToResumeListResumeRes", "s1ap.E_RABFailedToResumeListResumeRes",
20689 FT_UINT32, BASE_DEC, NULL, 0,
20690 NULL, HFILL }},
20691 { &hf_s1ap_E_RABFailedToResumeItemResumeRes_PDU,
20692 { "E-RABFailedToResumeItemResumeRes", "s1ap.E_RABFailedToResumeItemResumeRes_element",
20693 FT_NONE, BASE_NONE, NULL, 0,
20694 NULL, HFILL }},
20695 { &hf_s1ap_UEContextResumeFailure_PDU,
20696 { "UEContextResumeFailure", "s1ap.UEContextResumeFailure_element",
20697 FT_NONE, BASE_NONE, NULL, 0,
20698 NULL, HFILL }},
20699 { &hf_s1ap_ConnectionEstablishmentIndication_PDU,
20700 { "ConnectionEstablishmentIndication", "s1ap.ConnectionEstablishmentIndication_element",
20701 FT_NONE, BASE_NONE, NULL, 0,
20702 NULL, HFILL }},
20703 { &hf_s1ap_RetrieveUEInformation_PDU,
20704 { "RetrieveUEInformation", "s1ap.RetrieveUEInformation_element",
20705 FT_NONE, BASE_NONE, NULL, 0,
20706 NULL, HFILL }},
20707 { &hf_s1ap_UEInformationTransfer_PDU,
20708 { "UEInformationTransfer", "s1ap.UEInformationTransfer_element",
20709 FT_NONE, BASE_NONE, NULL, 0,
20710 NULL, HFILL }},
20711 { &hf_s1ap_ENBCPRelocationIndication_PDU,
20712 { "ENBCPRelocationIndication", "s1ap.ENBCPRelocationIndication_element",
20713 FT_NONE, BASE_NONE, NULL, 0,
20714 NULL, HFILL }},
20715 { &hf_s1ap_MMECPRelocationIndication_PDU,
20716 { "MMECPRelocationIndication", "s1ap.MMECPRelocationIndication_element",
20717 FT_NONE, BASE_NONE, NULL, 0,
20718 NULL, HFILL }},
20719 { &hf_s1ap_SecondaryRATDataUsageReport_PDU,
20720 { "SecondaryRATDataUsageReport", "s1ap.SecondaryRATDataUsageReport_element",
20721 FT_NONE, BASE_NONE, NULL, 0,
20722 NULL, HFILL }},
20723 { &hf_s1ap_UERadioCapabilityIDMappingRequest_PDU,
20724 { "UERadioCapabilityIDMappingRequest", "s1ap.UERadioCapabilityIDMappingRequest_element",
20725 FT_NONE, BASE_NONE, NULL, 0,
20726 NULL, HFILL }},
20727 { &hf_s1ap_UERadioCapabilityIDMappingResponse_PDU,
20728 { "UERadioCapabilityIDMappingResponse", "s1ap.UERadioCapabilityIDMappingResponse_element",
20729 FT_NONE, BASE_NONE, NULL, 0,
20730 NULL, HFILL }},
20731 { &hf_s1ap_S1AP_PDU_PDU,
20732 { "S1AP-PDU", "s1ap.S1AP_PDU",
20733 FT_UINT32, BASE_DEC, VALS(s1ap_S1AP_PDU_vals), 0,
20734 NULL, HFILL }},
20735 { &hf_s1ap_s1ap_SONtransferApplicationIdentity_PDU,
20736 { "SONtransferApplicationIdentity", "s1ap.SONtransferApplicationIdentity",
20737 FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferApplicationIdentity_vals), 0,
20738 NULL, HFILL }},
20739 { &hf_s1ap_s1ap_SONtransferRequestContainer_PDU,
20740 { "SONtransferRequestContainer", "s1ap.SONtransferRequestContainer",
20741 FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferRequestContainer_vals), 0,
20742 NULL, HFILL }},
20743 { &hf_s1ap_s1ap_SONtransferResponseContainer_PDU,
20744 { "SONtransferResponseContainer", "s1ap.SONtransferResponseContainer",
20745 FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferResponseContainer_vals), 0,
20746 NULL, HFILL }},
20747 { &hf_s1ap_s1ap_SONtransferCause_PDU,
20748 { "SONtransferCause", "s1ap.SONtransferCause",
20749 FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferCause_vals), 0,
20750 NULL, HFILL }},
20751 { &hf_s1ap_local,
20752 { "local", "s1ap.local",
20753 FT_UINT32, BASE_DEC, NULL, 0,
20754 "INTEGER_0_65535", HFILL }},
20755 { &hf_s1ap_global,
20756 { "global", "s1ap.global",
20757 FT_OID, BASE_NONE, NULL, 0,
20758 NULL, HFILL }},
20759 { &hf_s1ap_ProtocolIE_Container_item,
20760 { "ProtocolIE-Field", "s1ap.ProtocolIE_Field_element",
20761 FT_NONE, BASE_NONE, NULL, 0,
20762 NULL, HFILL }},
20763 { &hf_s1ap_id,
20764 { "id", "s1ap.id",
20765 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &s1ap_ProtocolIE_ID_vals_ext, 0,
20766 "ProtocolIE_ID", HFILL }},
20767 { &hf_s1ap_criticality,
20768 { "criticality", "s1ap.criticality",
20769 FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
20770 NULL, HFILL }},
20771 { &hf_s1ap_ie_field_value,
20772 { "value", "s1ap.value_element",
20773 FT_NONE, BASE_NONE, NULL, 0,
20774 "T_ie_field_value", HFILL }},
20775 { &hf_s1ap_ProtocolIE_ContainerList_item,
20776 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
20777 FT_NONE, BASE_NONE, NULL, 0,
20778 NULL, HFILL }},
20779 { &hf_s1ap_ProtocolExtensionContainer_item,
20780 { "ProtocolExtensionField", "s1ap.ProtocolExtensionField_element",
20781 FT_NONE, BASE_NONE, NULL, 0,
20782 NULL, HFILL }},
20783 { &hf_s1ap_ext_id,
20784 { "id", "s1ap.id",
20785 FT_UINT8, BASE_DEC|BASE_EXT_STRING, &s1ap_ProtocolIE_ID_vals_ext, 0,
20786 "ProtocolExtensionID", HFILL }},
20787 { &hf_s1ap_extensionValue,
20788 { "extensionValue", "s1ap.extensionValue_element",
20789 FT_NONE, BASE_NONE, NULL, 0,
20790 NULL, HFILL }},
20791 { &hf_s1ap_PrivateIE_Container_item,
20792 { "PrivateIE-Field", "s1ap.PrivateIE_Field_element",
20793 FT_NONE, BASE_NONE, NULL, 0,
20794 NULL, HFILL }},
20795 { &hf_s1ap_private_id,
20796 { "id", "s1ap.id",
20797 FT_UINT32, BASE_DEC, VALS(s1ap_PrivateIE_ID_vals), 0,
20798 "PrivateIE_ID", HFILL }},
20799 { &hf_s1ap_value,
20800 { "value", "s1ap.value_element",
20801 FT_NONE, BASE_NONE, NULL, 0,
20802 NULL, HFILL }},
20803 { &hf_s1ap_gUMMEI,
20804 { "gUMMEI", "s1ap.gUMMEI_element",
20805 FT_NONE, BASE_NONE, NULL, 0,
20806 NULL, HFILL }},
20807 { &hf_s1ap_m_TMSI,
20808 { "m-TMSI", "s1ap.m_TMSI",
20809 FT_UINT32, BASE_DEC_HEX, NULL, 0,
20810 NULL, HFILL }},
20811 { &hf_s1ap_iE_Extensions,
20812 { "iE-Extensions", "s1ap.iE_Extensions",
20813 FT_UINT32, BASE_DEC, NULL, 0,
20814 "ProtocolExtensionContainer", HFILL }},
20815 { &hf_s1ap_cellBased,
20816 { "cellBased", "s1ap.cellBased_element",
20817 FT_NONE, BASE_NONE, NULL, 0,
20818 "CellBasedMDT", HFILL }},
20819 { &hf_s1ap_tABased,
20820 { "tABased", "s1ap.tABased_element",
20821 FT_NONE, BASE_NONE, NULL, 0,
20822 "TABasedMDT", HFILL }},
20823 { &hf_s1ap_pLMNWide,
20824 { "pLMNWide", "s1ap.pLMNWide_element",
20825 FT_NONE, BASE_NONE, NULL, 0,
20826 NULL, HFILL }},
20827 { &hf_s1ap_tAIBased,
20828 { "tAIBased", "s1ap.tAIBased_element",
20829 FT_NONE, BASE_NONE, NULL, 0,
20830 "TAIBasedMDT", HFILL }},
20831 { &hf_s1ap_cellBased_01,
20832 { "cellBased", "s1ap.cellBased_element",
20833 FT_NONE, BASE_NONE, NULL, 0,
20834 "CellBasedQMC", HFILL }},
20835 { &hf_s1ap_tABased_01,
20836 { "tABased", "s1ap.tABased_element",
20837 FT_NONE, BASE_NONE, NULL, 0,
20838 "TABasedQMC", HFILL }},
20839 { &hf_s1ap_tAIBased_01,
20840 { "tAIBased", "s1ap.tAIBased_element",
20841 FT_NONE, BASE_NONE, NULL, 0,
20842 "TAIBasedQMC", HFILL }},
20843 { &hf_s1ap_pLMNAreaBased,
20844 { "pLMNAreaBased", "s1ap.pLMNAreaBased_element",
20845 FT_NONE, BASE_NONE, NULL, 0,
20846 "PLMNAreaBasedQMC", HFILL }},
20847 { &hf_s1ap_priorityLevel,
20848 { "priorityLevel", "s1ap.priorityLevel",
20849 FT_UINT32, BASE_DEC, VALS(s1ap_PriorityLevel_vals), 0,
20850 NULL, HFILL }},
20851 { &hf_s1ap_pre_emptionCapability,
20852 { "pre-emptionCapability", "s1ap.pre_emptionCapability",
20853 FT_UINT32, BASE_DEC, VALS(s1ap_Pre_emptionCapability_vals), 0,
20854 NULL, HFILL }},
20855 { &hf_s1ap_pre_emptionVulnerability,
20856 { "pre-emptionVulnerability", "s1ap.pre_emptionVulnerability",
20857 FT_UINT32, BASE_DEC, VALS(s1ap_Pre_emptionVulnerability_vals), 0,
20858 NULL, HFILL }},
20859 { &hf_s1ap_cellIdentifierAndCELevelForCECapableUEs,
20860 { "cellIdentifierAndCELevelForCECapableUEs", "s1ap.cellIdentifierAndCELevelForCECapableUEs_element",
20861 FT_NONE, BASE_NONE, NULL, 0,
20862 NULL, HFILL }},
20863 { &hf_s1ap_assistanceDataForRecommendedCells,
20864 { "assistanceDataForRecommendedCells", "s1ap.assistanceDataForRecommendedCells_element",
20865 FT_NONE, BASE_NONE, NULL, 0,
20866 NULL, HFILL }},
20867 { &hf_s1ap_assistanceDataForCECapableUEs,
20868 { "assistanceDataForCECapableUEs", "s1ap.assistanceDataForCECapableUEs_element",
20869 FT_NONE, BASE_NONE, NULL, 0,
20870 NULL, HFILL }},
20871 { &hf_s1ap_pagingAttemptInformation,
20872 { "pagingAttemptInformation", "s1ap.pagingAttemptInformation_element",
20873 FT_NONE, BASE_NONE, NULL, 0,
20874 NULL, HFILL }},
20875 { &hf_s1ap_recommendedCellsForPaging,
20876 { "recommendedCellsForPaging", "s1ap.recommendedCellsForPaging_element",
20877 FT_NONE, BASE_NONE, NULL, 0,
20878 NULL, HFILL }},
20879 { &hf_s1ap_Bearers_SubjectToStatusTransferList_item,
20880 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
20881 FT_NONE, BASE_NONE, NULL, 0,
20882 NULL, HFILL }},
20883 { &hf_s1ap_e_RAB_ID,
20884 { "e-RAB-ID", "s1ap.e_RAB_ID",
20885 FT_UINT32, BASE_DEC, NULL, 0,
20886 NULL, HFILL }},
20887 { &hf_s1ap_uL_COUNTvalue,
20888 { "uL-COUNTvalue", "s1ap.uL_COUNTvalue_element",
20889 FT_NONE, BASE_NONE, NULL, 0,
20890 "COUNTvalue", HFILL }},
20891 { &hf_s1ap_dL_COUNTvalue,
20892 { "dL-COUNTvalue", "s1ap.dL_COUNTvalue_element",
20893 FT_NONE, BASE_NONE, NULL, 0,
20894 "COUNTvalue", HFILL }},
20895 { &hf_s1ap_receiveStatusofULPDCPSDUs,
20896 { "receiveStatusofULPDCPSDUs", "s1ap.receiveStatusofULPDCPSDUs",
20897 FT_BYTES, BASE_NONE, NULL, 0,
20898 NULL, HFILL }},
20899 { &hf_s1ap_Bearers_SubjectToEarlyStatusTransferList_item,
20900 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
20901 FT_NONE, BASE_NONE, NULL, 0,
20902 NULL, HFILL }},
20903 { &hf_s1ap_dLCOUNT_PDCP_SNlength,
20904 { "dLCOUNT-PDCP-SNlength", "s1ap.dLCOUNT_PDCP_SNlength",
20905 FT_UINT32, BASE_DEC, VALS(s1ap_DLCOUNT_PDCP_SNlength_vals), 0,
20906 NULL, HFILL }},
20907 { &hf_s1ap_Bearers_SubjectToDLDiscardingList_item,
20908 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
20909 FT_NONE, BASE_NONE, NULL, 0,
20910 NULL, HFILL }},
20911 { &hf_s1ap_dL_Discarding,
20912 { "dL-Discarding", "s1ap.dL_Discarding",
20913 FT_UINT32, BASE_DEC, VALS(s1ap_DLDiscarding_vals), 0,
20914 "DLDiscarding", HFILL }},
20915 { &hf_s1ap_bluetoothMeasConfig,
20916 { "bluetoothMeasConfig", "s1ap.bluetoothMeasConfig",
20917 FT_UINT32, BASE_DEC, VALS(s1ap_BluetoothMeasConfig_vals), 0,
20918 NULL, HFILL }},
20919 { &hf_s1ap_bluetoothMeasConfigNameList,
20920 { "bluetoothMeasConfigNameList", "s1ap.bluetoothMeasConfigNameList",
20921 FT_UINT32, BASE_DEC, NULL, 0,
20922 NULL, HFILL }},
20923 { &hf_s1ap_bt_rssi,
20924 { "bt-rssi", "s1ap.bt_rssi",
20925 FT_UINT32, BASE_DEC, VALS(s1ap_T_bt_rssi_vals), 0,
20926 "T_bt_rssi", HFILL }},
20927 { &hf_s1ap_BluetoothMeasConfigNameList_item,
20928 { "BluetoothName", "s1ap.BluetoothName",
20929 FT_STRING, BASE_NONE, NULL, 0,
20930 NULL, HFILL }},
20931 { &hf_s1ap_BPLMNs_item,
20932 { "PLMNidentity", "s1ap.PLMNidentity",
20933 FT_BYTES, BASE_NONE, NULL, 0,
20934 NULL, HFILL }},
20935 { &hf_s1ap_cellID_Cancelled,
20936 { "cellID-Cancelled", "s1ap.cellID_Cancelled",
20937 FT_UINT32, BASE_DEC, NULL, 0,
20938 NULL, HFILL }},
20939 { &hf_s1ap_tAI_Cancelled,
20940 { "tAI-Cancelled", "s1ap.tAI_Cancelled",
20941 FT_UINT32, BASE_DEC, NULL, 0,
20942 NULL, HFILL }},
20943 { &hf_s1ap_emergencyAreaID_Cancelled,
20944 { "emergencyAreaID-Cancelled", "s1ap.emergencyAreaID_Cancelled",
20945 FT_UINT32, BASE_DEC, NULL, 0,
20946 NULL, HFILL }},
20947 { &hf_s1ap_cellID_Broadcast,
20948 { "cellID-Broadcast", "s1ap.cellID_Broadcast",
20949 FT_UINT32, BASE_DEC, NULL, 0,
20950 NULL, HFILL }},
20951 { &hf_s1ap_tAI_Broadcast,
20952 { "tAI-Broadcast", "s1ap.tAI_Broadcast",
20953 FT_UINT32, BASE_DEC, NULL, 0,
20954 NULL, HFILL }},
20955 { &hf_s1ap_emergencyAreaID_Broadcast,
20956 { "emergencyAreaID-Broadcast", "s1ap.emergencyAreaID_Broadcast",
20957 FT_UINT32, BASE_DEC, NULL, 0,
20958 NULL, HFILL }},
20959 { &hf_s1ap_CancelledCellinEAI_item,
20960 { "CancelledCellinEAI-Item", "s1ap.CancelledCellinEAI_Item_element",
20961 FT_NONE, BASE_NONE, NULL, 0,
20962 NULL, HFILL }},
20963 { &hf_s1ap_eCGI,
20964 { "eCGI", "s1ap.eCGI_element",
20965 FT_NONE, BASE_NONE, NULL, 0,
20966 "EUTRAN_CGI", HFILL }},
20967 { &hf_s1ap_numberOfBroadcasts,
20968 { "numberOfBroadcasts", "s1ap.numberOfBroadcasts",
20969 FT_UINT32, BASE_DEC, NULL, 0,
20970 NULL, HFILL }},
20971 { &hf_s1ap_CancelledCellinTAI_item,
20972 { "CancelledCellinTAI-Item", "s1ap.CancelledCellinTAI_Item_element",
20973 FT_NONE, BASE_NONE, NULL, 0,
20974 NULL, HFILL }},
20975 { &hf_s1ap_radioNetwork,
20976 { "radioNetwork", "s1ap.radioNetwork",
20977 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &s1ap_CauseRadioNetwork_vals_ext, 0,
20978 "CauseRadioNetwork", HFILL }},
20979 { &hf_s1ap_transport,
20980 { "transport", "s1ap.transport",
20981 FT_UINT32, BASE_DEC, VALS(s1ap_CauseTransport_vals), 0,
20982 "CauseTransport", HFILL }},
20983 { &hf_s1ap_nas,
20984 { "nas", "s1ap.nas",
20985 FT_UINT32, BASE_DEC, VALS(s1ap_CauseNas_vals), 0,
20986 "CauseNas", HFILL }},
20987 { &hf_s1ap_protocol,
20988 { "protocol", "s1ap.protocol",
20989 FT_UINT32, BASE_DEC, VALS(s1ap_CauseProtocol_vals), 0,
20990 "CauseProtocol", HFILL }},
20991 { &hf_s1ap_misc,
20992 { "misc", "s1ap.misc",
20993 FT_UINT32, BASE_DEC, VALS(s1ap_CauseMisc_vals), 0,
20994 "CauseMisc", HFILL }},
20995 { &hf_s1ap_global_Cell_ID,
20996 { "global-Cell-ID", "s1ap.global_Cell_ID_element",
20997 FT_NONE, BASE_NONE, NULL, 0,
20998 "EUTRAN_CGI", HFILL }},
20999 { &hf_s1ap_cELevel,
21000 { "cELevel", "s1ap.cELevel",
21001 FT_BYTES, BASE_NONE, NULL, 0,
21002 NULL, HFILL }},
21003 { &hf_s1ap_CellID_Broadcast_item,
21004 { "CellID-Broadcast-Item", "s1ap.CellID_Broadcast_Item_element",
21005 FT_NONE, BASE_NONE, NULL, 0,
21006 NULL, HFILL }},
21007 { &hf_s1ap_CellID_Cancelled_item,
21008 { "CellID-Cancelled-Item", "s1ap.CellID_Cancelled_Item_element",
21009 FT_NONE, BASE_NONE, NULL, 0,
21010 NULL, HFILL }},
21011 { &hf_s1ap_cellIdListforMDT,
21012 { "cellIdListforMDT", "s1ap.cellIdListforMDT",
21013 FT_UINT32, BASE_DEC, NULL, 0,
21014 NULL, HFILL }},
21015 { &hf_s1ap_CellIdListforMDT_item,
21016 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
21017 FT_NONE, BASE_NONE, NULL, 0,
21018 NULL, HFILL }},
21019 { &hf_s1ap_cellIdListforQMC,
21020 { "cellIdListforQMC", "s1ap.cellIdListforQMC",
21021 FT_UINT32, BASE_DEC, NULL, 0,
21022 NULL, HFILL }},
21023 { &hf_s1ap_CellIdListforQMC_item,
21024 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
21025 FT_NONE, BASE_NONE, NULL, 0,
21026 NULL, HFILL }},
21027 { &hf_s1ap_cdma2000OneXMEID,
21028 { "cdma2000OneXMEID", "s1ap.cdma2000OneXMEID",
21029 FT_BYTES, BASE_NONE, NULL, 0,
21030 NULL, HFILL }},
21031 { &hf_s1ap_cdma2000OneXMSI,
21032 { "cdma2000OneXMSI", "s1ap.cdma2000OneXMSI",
21033 FT_BYTES, BASE_NONE, NULL, 0,
21034 NULL, HFILL }},
21035 { &hf_s1ap_cdma2000OneXPilot,
21036 { "cdma2000OneXPilot", "s1ap.cdma2000OneXPilot",
21037 FT_BYTES, BASE_NONE, NULL, 0,
21038 NULL, HFILL }},
21039 { &hf_s1ap_cell_Size,
21040 { "cell-Size", "s1ap.cell_Size",
21041 FT_UINT32, BASE_DEC, VALS(s1ap_Cell_Size_vals), 0,
21042 NULL, HFILL }},
21043 { &hf_s1ap_pLMNidentity,
21044 { "pLMNidentity", "s1ap.pLMNidentity",
21045 FT_BYTES, BASE_NONE, NULL, 0,
21046 NULL, HFILL }},
21047 { &hf_s1ap_lAC,
21048 { "lAC", "s1ap.lAC",
21049 FT_UINT16, BASE_DEC_HEX, NULL, 0,
21050 NULL, HFILL }},
21051 { &hf_s1ap_cI,
21052 { "cI", "s1ap.cI",
21053 FT_BYTES, BASE_NONE, NULL, 0,
21054 NULL, HFILL }},
21055 { &hf_s1ap_rAC,
21056 { "rAC", "s1ap.rAC",
21057 FT_UINT8, BASE_DEC_HEX, NULL, 0,
21058 NULL, HFILL }},
21059 { &hf_s1ap_CNTypeRestrictions_item,
21060 { "CNTypeRestrictions-Item", "s1ap.CNTypeRestrictions_Item_element",
21061 FT_NONE, BASE_NONE, NULL, 0,
21062 NULL, HFILL }},
21063 { &hf_s1ap_pLMN_Identity,
21064 { "pLMN-Identity", "s1ap.pLMN_Identity",
21065 FT_BYTES, BASE_NONE, NULL, 0,
21066 "PLMNidentity", HFILL }},
21067 { &hf_s1ap_cNType,
21068 { "cNType", "s1ap.cNType",
21069 FT_UINT32, BASE_DEC, VALS(s1ap_CNType_vals), 0,
21070 NULL, HFILL }},
21071 { &hf_s1ap_ConnectedengNBList_item,
21072 { "ConnectedengNBItem", "s1ap.ConnectedengNBItem_element",
21073 FT_NONE, BASE_NONE, NULL, 0,
21074 NULL, HFILL }},
21075 { &hf_s1ap_en_gNB_ID,
21076 { "en-gNB-ID", "s1ap.en_gNB_ID",
21077 FT_BYTES, BASE_NONE, NULL, 0,
21078 NULL, HFILL }},
21079 { &hf_s1ap_supportedTAs,
21080 { "supportedTAs", "s1ap.supportedTAs",
21081 FT_UINT32, BASE_DEC, NULL, 0,
21082 NULL, HFILL }},
21083 { &hf_s1ap_sourceNG_RAN_node_ID,
21084 { "sourceNG-RAN-node-ID", "s1ap.sourceNG_RAN_node_ID",
21085 FT_UINT32, BASE_DEC, VALS(s1ap_Global_RAN_NODE_ID_vals), 0,
21086 "Global_RAN_NODE_ID", HFILL }},
21087 { &hf_s1ap_rAN_UE_NGAP_ID,
21088 { "rAN-UE-NGAP-ID", "s1ap.rAN_UE_NGAP_ID",
21089 FT_UINT32, BASE_DEC, NULL, 0,
21090 NULL, HFILL }},
21091 { &hf_s1ap_CSG_IdList_item,
21092 { "CSG-IdList-Item", "s1ap.CSG_IdList_Item_element",
21093 FT_NONE, BASE_NONE, NULL, 0,
21094 NULL, HFILL }},
21095 { &hf_s1ap_cSG_Id,
21096 { "cSG-Id", "s1ap.cSG_Id",
21097 FT_BYTES, BASE_NONE, NULL, 0,
21098 NULL, HFILL }},
21099 { &hf_s1ap_pDCP_SN,
21100 { "pDCP-SN", "s1ap.pDCP_SN",
21101 FT_UINT32, BASE_DEC, NULL, 0,
21102 NULL, HFILL }},
21103 { &hf_s1ap_hFN,
21104 { "hFN", "s1ap.hFN",
21105 FT_UINT32, BASE_DEC, NULL, 0,
21106 NULL, HFILL }},
21107 { &hf_s1ap_pDCP_SNExtended,
21108 { "pDCP-SNExtended", "s1ap.pDCP_SNExtended",
21109 FT_UINT32, BASE_DEC, NULL, 0,
21110 NULL, HFILL }},
21111 { &hf_s1ap_hFNModified,
21112 { "hFNModified", "s1ap.hFNModified",
21113 FT_UINT32, BASE_DEC, NULL, 0,
21114 NULL, HFILL }},
21115 { &hf_s1ap_pDCP_SNlength18,
21116 { "pDCP-SNlength18", "s1ap.pDCP_SNlength18",
21117 FT_UINT32, BASE_DEC, NULL, 0,
21118 NULL, HFILL }},
21119 { &hf_s1ap_hFNforPDCP_SNlength18,
21120 { "hFNforPDCP-SNlength18", "s1ap.hFNforPDCP_SNlength18",
21121 FT_UINT32, BASE_DEC, NULL, 0,
21122 NULL, HFILL }},
21123 { &hf_s1ap_procedureCode,
21124 { "procedureCode", "s1ap.procedureCode",
21125 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &s1ap_ProcedureCode_vals_ext, 0,
21126 NULL, HFILL }},
21127 { &hf_s1ap_triggeringMessage,
21128 { "triggeringMessage", "s1ap.triggeringMessage",
21129 FT_UINT32, BASE_DEC, VALS(s1ap_TriggeringMessage_vals), 0,
21130 NULL, HFILL }},
21131 { &hf_s1ap_procedureCriticality,
21132 { "procedureCriticality", "s1ap.procedureCriticality",
21133 FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
21134 "Criticality", HFILL }},
21135 { &hf_s1ap_iEsCriticalityDiagnostics,
21136 { "iEsCriticalityDiagnostics", "s1ap.iEsCriticalityDiagnostics",
21137 FT_UINT32, BASE_DEC, NULL, 0,
21138 "CriticalityDiagnostics_IE_List", HFILL }},
21139 { &hf_s1ap_CriticalityDiagnostics_IE_List_item,
21140 { "CriticalityDiagnostics-IE-Item", "s1ap.CriticalityDiagnostics_IE_Item_element",
21141 FT_NONE, BASE_NONE, NULL, 0,
21142 NULL, HFILL }},
21143 { &hf_s1ap_iECriticality,
21144 { "iECriticality", "s1ap.iECriticality",
21145 FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
21146 "Criticality", HFILL }},
21147 { &hf_s1ap_iE_ID,
21148 { "iE-ID", "s1ap.iE_ID",
21149 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &s1ap_ProtocolIE_ID_vals_ext, 0,
21150 "ProtocolIE_ID", HFILL }},
21151 { &hf_s1ap_typeOfError,
21152 { "typeOfError", "s1ap.typeOfError",
21153 FT_UINT32, BASE_DEC, VALS(s1ap_TypeOfError_vals), 0,
21154 NULL, HFILL }},
21155 { &hf_s1ap_dAPSIndicator,
21156 { "dAPSIndicator", "s1ap.dAPSIndicator",
21157 FT_UINT32, BASE_DEC, VALS(s1ap_T_dAPSIndicator_vals), 0,
21158 NULL, HFILL }},
21159 { &hf_s1ap_DAPSResponseInfoList_item,
21160 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21161 FT_NONE, BASE_NONE, NULL, 0,
21162 NULL, HFILL }},
21163 { &hf_s1ap_dAPSResponseInfo,
21164 { "dAPSResponseInfo", "s1ap.dAPSResponseInfo_element",
21165 FT_NONE, BASE_NONE, NULL, 0,
21166 NULL, HFILL }},
21167 { &hf_s1ap_dapsresponseindicator,
21168 { "dapsresponseindicator", "s1ap.dapsresponseindicator",
21169 FT_UINT32, BASE_DEC, VALS(s1ap_T_dapsresponseindicator_vals), 0,
21170 NULL, HFILL }},
21171 { &hf_s1ap_ServedDCNs_item,
21172 { "ServedDCNsItem", "s1ap.ServedDCNsItem_element",
21173 FT_NONE, BASE_NONE, NULL, 0,
21174 NULL, HFILL }},
21175 { &hf_s1ap_dCN_ID,
21176 { "dCN-ID", "s1ap.dCN_ID",
21177 FT_UINT32, BASE_DEC, NULL, 0,
21178 NULL, HFILL }},
21179 { &hf_s1ap_relativeDCNCapacity,
21180 { "relativeDCNCapacity", "s1ap.relativeDCNCapacity",
21181 FT_UINT32, BASE_DEC, NULL, 0,
21182 "RelativeMMECapacity", HFILL }},
21183 { &hf_s1ap_dl_NAS_MAC,
21184 { "dl-NAS-MAC", "s1ap.dl_NAS_MAC",
21185 FT_BYTES, BASE_NONE, NULL, 0,
21186 NULL, HFILL }},
21187 { &hf_s1ap_dLCOUNTValuePDCP_SNlength12,
21188 { "dLCOUNTValuePDCP-SNlength12", "s1ap.dLCOUNTValuePDCP_SNlength12_element",
21189 FT_NONE, BASE_NONE, NULL, 0,
21190 "COUNTvalue", HFILL }},
21191 { &hf_s1ap_dLCOUNTValuePDCP_SNlength15,
21192 { "dLCOUNTValuePDCP-SNlength15", "s1ap.dLCOUNTValuePDCP_SNlength15_element",
21193 FT_NONE, BASE_NONE, NULL, 0,
21194 "COUNTValueExtended", HFILL }},
21195 { &hf_s1ap_dLCOUNTValuePDCP_SNlength18,
21196 { "dLCOUNTValuePDCP-SNlength18", "s1ap.dLCOUNTValuePDCP_SNlength18_element",
21197 FT_NONE, BASE_NONE, NULL, 0,
21198 "COUNTvaluePDCP_SNlength18", HFILL }},
21199 { &hf_s1ap_discardDLCOUNTValuePDCP_SNlength12,
21200 { "discardDLCOUNTValuePDCP-SNlength12", "s1ap.discardDLCOUNTValuePDCP_SNlength12_element",
21201 FT_NONE, BASE_NONE, NULL, 0,
21202 "COUNTvalue", HFILL }},
21203 { &hf_s1ap_discardDLCOUNTValuePDCP_SNlength15,
21204 { "discardDLCOUNTValuePDCP-SNlength15", "s1ap.discardDLCOUNTValuePDCP_SNlength15_element",
21205 FT_NONE, BASE_NONE, NULL, 0,
21206 "COUNTValueExtended", HFILL }},
21207 { &hf_s1ap_discardDLCOUNTValuePDCP_SNlength18,
21208 { "discardDLCOUNTValuePDCP-SNlength18", "s1ap.discardDLCOUNTValuePDCP_SNlength18_element",
21209 FT_NONE, BASE_NONE, NULL, 0,
21210 "COUNTvaluePDCP_SNlength18", HFILL }},
21211 { &hf_s1ap_ECGIList_item,
21212 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
21213 FT_NONE, BASE_NONE, NULL, 0,
21214 NULL, HFILL }},
21215 { &hf_s1ap_PWSfailedECGIList_item,
21216 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
21217 FT_NONE, BASE_NONE, NULL, 0,
21218 NULL, HFILL }},
21219 { &hf_s1ap_EmergencyAreaIDList_item,
21220 { "EmergencyAreaID", "s1ap.EmergencyAreaID",
21221 FT_BYTES, BASE_NONE, NULL, 0,
21222 NULL, HFILL }},
21223 { &hf_s1ap_EmergencyAreaID_Broadcast_item,
21224 { "EmergencyAreaID-Broadcast-Item", "s1ap.EmergencyAreaID_Broadcast_Item_element",
21225 FT_NONE, BASE_NONE, NULL, 0,
21226 NULL, HFILL }},
21227 { &hf_s1ap_emergencyAreaID,
21228 { "emergencyAreaID", "s1ap.emergencyAreaID",
21229 FT_BYTES, BASE_NONE, NULL, 0,
21230 NULL, HFILL }},
21231 { &hf_s1ap_completedCellinEAI,
21232 { "completedCellinEAI", "s1ap.completedCellinEAI",
21233 FT_UINT32, BASE_DEC, NULL, 0,
21234 NULL, HFILL }},
21235 { &hf_s1ap_EmergencyAreaID_Cancelled_item,
21236 { "EmergencyAreaID-Cancelled-Item", "s1ap.EmergencyAreaID_Cancelled_Item_element",
21237 FT_NONE, BASE_NONE, NULL, 0,
21238 NULL, HFILL }},
21239 { &hf_s1ap_cancelledCellinEAI,
21240 { "cancelledCellinEAI", "s1ap.cancelledCellinEAI",
21241 FT_UINT32, BASE_DEC, NULL, 0,
21242 NULL, HFILL }},
21243 { &hf_s1ap_CompletedCellinEAI_item,
21244 { "CompletedCellinEAI-Item", "s1ap.CompletedCellinEAI_Item_element",
21245 FT_NONE, BASE_NONE, NULL, 0,
21246 NULL, HFILL }},
21247 { &hf_s1ap_ECGI_List_item,
21248 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
21249 FT_NONE, BASE_NONE, NULL, 0,
21250 NULL, HFILL }},
21251 { &hf_s1ap_EmergencyAreaIDListForRestart_item,
21252 { "EmergencyAreaID", "s1ap.EmergencyAreaID",
21253 FT_BYTES, BASE_NONE, NULL, 0,
21254 NULL, HFILL }},
21255 { &hf_s1ap_bearers_SubjectToEarlyStatusTransferList,
21256 { "bearers-SubjectToEarlyStatusTransferList", "s1ap.bearers_SubjectToEarlyStatusTransferList",
21257 FT_UINT32, BASE_DEC, NULL, 0,
21258 NULL, HFILL }},
21259 { &hf_s1ap_macroENB_ID,
21260 { "macroENB-ID", "s1ap.macroENB_ID",
21261 FT_BYTES, BASE_NONE, NULL, 0,
21262 "BIT_STRING_SIZE_20", HFILL }},
21263 { &hf_s1ap_homeENB_ID,
21264 { "homeENB-ID", "s1ap.homeENB_ID",
21265 FT_BYTES, BASE_NONE, NULL, 0,
21266 "BIT_STRING_SIZE_28", HFILL }},
21267 { &hf_s1ap_short_macroENB_ID,
21268 { "short-macroENB-ID", "s1ap.short_macroENB_ID",
21269 FT_BYTES, BASE_NONE, NULL, 0,
21270 "BIT_STRING_SIZE_18", HFILL }},
21271 { &hf_s1ap_long_macroENB_ID,
21272 { "long-macroENB-ID", "s1ap.long_macroENB_ID",
21273 FT_BYTES, BASE_NONE, NULL, 0,
21274 "BIT_STRING_SIZE_21", HFILL }},
21275 { &hf_s1ap_lAI,
21276 { "lAI", "s1ap.lAI_element",
21277 FT_NONE, BASE_NONE, NULL, 0,
21278 NULL, HFILL }},
21279 { &hf_s1ap_eNB_ID,
21280 { "eNB-ID", "s1ap.eNB_ID",
21281 FT_UINT32, BASE_DEC, VALS(s1ap_ENB_ID_vals), 0,
21282 NULL, HFILL }},
21283 { &hf_s1ap_GUMMEIList_item,
21284 { "GUMMEI", "s1ap.GUMMEI_element",
21285 FT_NONE, BASE_NONE, NULL, 0,
21286 NULL, HFILL }},
21287 { &hf_s1ap_bearers_SubjectToStatusTransferList,
21288 { "bearers-SubjectToStatusTransferList", "s1ap.bearers_SubjectToStatusTransferList",
21289 FT_UINT32, BASE_DEC, NULL, 0,
21290 NULL, HFILL }},
21291 { &hf_s1ap_ENBX2TLAs_item,
21292 { "TransportLayerAddress", "s1ap.TransportLayerAddress",
21293 FT_BYTES, BASE_NONE, NULL, 0,
21294 NULL, HFILL }},
21295 { &hf_s1ap_transfertype,
21296 { "transfertype", "s1ap.transfertype",
21297 FT_UINT32, BASE_DEC, VALS(s1ap_EN_DCSONTransferType_vals), 0,
21298 "EN_DCSONTransferType", HFILL }},
21299 { &hf_s1ap_sONInformation,
21300 { "sONInformation", "s1ap.sONInformation",
21301 FT_UINT32, BASE_DEC, VALS(s1ap_SONInformation_vals), 0,
21302 NULL, HFILL }},
21303 { &hf_s1ap_x2TNLConfigInfo,
21304 { "x2TNLConfigInfo", "s1ap.x2TNLConfigInfo_element",
21305 FT_NONE, BASE_NONE, NULL, 0,
21306 "X2TNLConfigurationInfo", HFILL }},
21307 { &hf_s1ap_request,
21308 { "request", "s1ap.request_element",
21309 FT_NONE, BASE_NONE, NULL, 0,
21310 "EN_DCTransferTypeRequest", HFILL }},
21311 { &hf_s1ap_reply,
21312 { "reply", "s1ap.reply_element",
21313 FT_NONE, BASE_NONE, NULL, 0,
21314 "EN_DCTransferTypeReply", HFILL }},
21315 { &hf_s1ap_sourceeNB,
21316 { "sourceeNB", "s1ap.sourceeNB_element",
21317 FT_NONE, BASE_NONE, NULL, 0,
21318 "EN_DCSONeNBIdentification", HFILL }},
21319 { &hf_s1ap_targetengNB,
21320 { "targetengNB", "s1ap.targetengNB_element",
21321 FT_NONE, BASE_NONE, NULL, 0,
21322 "EN_DCSONengNBIdentification", HFILL }},
21323 { &hf_s1ap_targeteNB,
21324 { "targeteNB", "s1ap.targeteNB_element",
21325 FT_NONE, BASE_NONE, NULL, 0,
21326 "EN_DCSONeNBIdentification", HFILL }},
21327 { &hf_s1ap_associatedTAI,
21328 { "associatedTAI", "s1ap.associatedTAI_element",
21329 FT_NONE, BASE_NONE, NULL, 0,
21330 "TAI", HFILL }},
21331 { &hf_s1ap_broadcast5GSTAI,
21332 { "broadcast5GSTAI", "s1ap.broadcast5GSTAI_element",
21333 FT_NONE, BASE_NONE, NULL, 0,
21334 "FiveGSTAI", HFILL }},
21335 { &hf_s1ap_sourceengNB,
21336 { "sourceengNB", "s1ap.sourceengNB_element",
21337 FT_NONE, BASE_NONE, NULL, 0,
21338 "EN_DCSONengNBIdentification", HFILL }},
21339 { &hf_s1ap_globaleNBID,
21340 { "globaleNBID", "s1ap.globaleNBID_element",
21341 FT_NONE, BASE_NONE, NULL, 0,
21342 "Global_ENB_ID", HFILL }},
21343 { &hf_s1ap_selectedTAI,
21344 { "selectedTAI", "s1ap.selectedTAI_element",
21345 FT_NONE, BASE_NONE, NULL, 0,
21346 "TAI", HFILL }},
21347 { &hf_s1ap_globalengNBID,
21348 { "globalengNBID", "s1ap.globalengNBID_element",
21349 FT_NONE, BASE_NONE, NULL, 0,
21350 "Global_en_gNB_ID", HFILL }},
21351 { &hf_s1ap_EPLMNs_item,
21352 { "PLMNidentity", "s1ap.PLMNidentity",
21353 FT_BYTES, BASE_NONE, NULL, 0,
21354 NULL, HFILL }},
21355 { &hf_s1ap_E_RABInformationList_item,
21356 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21357 FT_NONE, BASE_NONE, NULL, 0,
21358 NULL, HFILL }},
21359 { &hf_s1ap_dL_Forwarding,
21360 { "dL-Forwarding", "s1ap.dL_Forwarding",
21361 FT_UINT32, BASE_DEC, VALS(s1ap_DL_Forwarding_vals), 0,
21362 NULL, HFILL }},
21363 { &hf_s1ap_E_RABList_item,
21364 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21365 FT_NONE, BASE_NONE, NULL, 0,
21366 NULL, HFILL }},
21367 { &hf_s1ap_cause,
21368 { "cause", "s1ap.cause",
21369 FT_UINT32, BASE_DEC, VALS(s1ap_Cause_vals), 0,
21370 NULL, HFILL }},
21371 { &hf_s1ap_qCI,
21372 { "qCI", "s1ap.qCI",
21373 FT_UINT32, BASE_DEC, NULL, 0,
21374 NULL, HFILL }},
21375 { &hf_s1ap_allocationRetentionPriority,
21376 { "allocationRetentionPriority", "s1ap.allocationRetentionPriority_element",
21377 FT_NONE, BASE_NONE, NULL, 0,
21378 "AllocationAndRetentionPriority", HFILL }},
21379 { &hf_s1ap_gbrQosInformation,
21380 { "gbrQosInformation", "s1ap.gbrQosInformation_element",
21381 FT_NONE, BASE_NONE, NULL, 0,
21382 "GBR_QosInformation", HFILL }},
21383 { &hf_s1ap_E_RABSecurityResultList_item,
21384 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21385 FT_NONE, BASE_NONE, NULL, 0,
21386 NULL, HFILL }},
21387 { &hf_s1ap_securityResult,
21388 { "securityResult", "s1ap.securityResult_element",
21389 FT_NONE, BASE_NONE, NULL, 0,
21390 NULL, HFILL }},
21391 { &hf_s1ap_E_RABUsageReportList_item,
21392 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21393 FT_NONE, BASE_NONE, NULL, 0,
21394 NULL, HFILL }},
21395 { &hf_s1ap_startTimestamp,
21396 { "startTimestamp", "s1ap.startTimestamp",
21397 FT_BYTES, BASE_NONE, NULL, 0,
21398 NULL, HFILL }},
21399 { &hf_s1ap_endTimestamp,
21400 { "endTimestamp", "s1ap.endTimestamp",
21401 FT_BYTES, BASE_NONE, NULL, 0,
21402 NULL, HFILL }},
21403 { &hf_s1ap_usageCountUL,
21404 { "usageCountUL", "s1ap.usageCountUL",
21405 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_octet_octets), 0,
21406 "INTEGER_0_18446744073709551615", HFILL }},
21407 { &hf_s1ap_usageCountDL,
21408 { "usageCountDL", "s1ap.usageCountDL",
21409 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_octet_octets), 0,
21410 "INTEGER_0_18446744073709551615", HFILL }},
21411 { &hf_s1ap_cell_ID,
21412 { "cell-ID", "s1ap.CellIdentity",
21413 FT_UINT32, BASE_HEX, NULL, 0xFFFFFFF0,
21414 "CellIdentity", HFILL }},
21415 { &hf_s1ap_l1Threshold,
21416 { "l1Threshold", "s1ap.l1Threshold",
21417 FT_UINT32, BASE_DEC, VALS(s1ap_MeasurementThresholdL1LoggedMDT_vals), 0,
21418 "MeasurementThresholdL1LoggedMDT", HFILL }},
21419 { &hf_s1ap_hysteresis,
21420 { "hysteresis", "s1ap.hysteresis",
21421 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_Hysteresis_fmt), 0,
21422 NULL, HFILL }},
21423 { &hf_s1ap_timeToTrigger,
21424 { "timeToTrigger", "s1ap.timeToTrigger",
21425 FT_UINT32, BASE_DEC, VALS(s1ap_TimeToTrigger_vals), 0,
21426 NULL, HFILL }},
21427 { &hf_s1ap_outOfCoverage,
21428 { "outOfCoverage", "s1ap.outOfCoverage",
21429 FT_UINT32, BASE_DEC, VALS(s1ap_T_outOfCoverage_vals), 0,
21430 NULL, HFILL }},
21431 { &hf_s1ap_eventL1LoggedMDTConfig,
21432 { "eventL1LoggedMDTConfig", "s1ap.eventL1LoggedMDTConfig_element",
21433 FT_NONE, BASE_NONE, NULL, 0,
21434 NULL, HFILL }},
21435 { &hf_s1ap_choice_Extensions,
21436 { "choice-Extensions", "s1ap.choice_Extensions_element",
21437 FT_NONE, BASE_NONE, NULL, 0,
21438 "ProtocolIE_SingleContainer", HFILL }},
21439 { &hf_s1ap_expectedActivity,
21440 { "expectedActivity", "s1ap.expectedActivity_element",
21441 FT_NONE, BASE_NONE, NULL, 0,
21442 "ExpectedUEActivityBehaviour", HFILL }},
21443 { &hf_s1ap_expectedHOInterval,
21444 { "expectedHOInterval", "s1ap.expectedHOInterval",
21445 FT_UINT32, BASE_DEC, VALS(s1ap_ExpectedHOInterval_vals), 0,
21446 NULL, HFILL }},
21447 { &hf_s1ap_expectedActivityPeriod,
21448 { "expectedActivityPeriod", "s1ap.expectedActivityPeriod",
21449 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
21450 NULL, HFILL }},
21451 { &hf_s1ap_expectedIdlePeriod,
21452 { "expectedIdlePeriod", "s1ap.expectedIdlePeriod",
21453 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
21454 NULL, HFILL }},
21455 { &hf_s1ap_sourceofUEActivityBehaviourInformation,
21456 { "sourceofUEActivityBehaviourInformation", "s1ap.sourceofUEActivityBehaviourInformation",
21457 FT_UINT32, BASE_DEC, VALS(s1ap_SourceOfUEActivityBehaviourInformation_vals), 0,
21458 NULL, HFILL }},
21459 { &hf_s1ap_fiveGSTAC,
21460 { "fiveGSTAC", "s1ap.fiveGSTAC",
21461 FT_UINT24, BASE_DEC_HEX, NULL, 0,
21462 NULL, HFILL }},
21463 { &hf_s1ap_ForbiddenTAs_item,
21464 { "ForbiddenTAs-Item", "s1ap.ForbiddenTAs_Item_element",
21465 FT_NONE, BASE_NONE, NULL, 0,
21466 NULL, HFILL }},
21467 { &hf_s1ap_forbiddenTACs,
21468 { "forbiddenTACs", "s1ap.forbiddenTACs",
21469 FT_UINT32, BASE_DEC, NULL, 0,
21470 NULL, HFILL }},
21471 { &hf_s1ap_ForbiddenTACs_item,
21472 { "TAC", "s1ap.TAC",
21473 FT_UINT16, BASE_DEC_HEX, NULL, 0,
21474 NULL, HFILL }},
21475 { &hf_s1ap_ForbiddenLAs_item,
21476 { "ForbiddenLAs-Item", "s1ap.ForbiddenLAs_Item_element",
21477 FT_NONE, BASE_NONE, NULL, 0,
21478 NULL, HFILL }},
21479 { &hf_s1ap_forbiddenLACs,
21480 { "forbiddenLACs", "s1ap.forbiddenLACs",
21481 FT_UINT32, BASE_DEC, NULL, 0,
21482 NULL, HFILL }},
21483 { &hf_s1ap_ForbiddenLACs_item,
21484 { "LAC", "s1ap.LAC",
21485 FT_UINT16, BASE_DEC_HEX, NULL, 0,
21486 NULL, HFILL }},
21487 { &hf_s1ap_e_RAB_MaximumBitrateDL,
21488 { "e-RAB-MaximumBitrateDL", "s1ap.e_RAB_MaximumBitrateDL",
21489 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21490 "BitRate", HFILL }},
21491 { &hf_s1ap_e_RAB_MaximumBitrateUL,
21492 { "e-RAB-MaximumBitrateUL", "s1ap.e_RAB_MaximumBitrateUL",
21493 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21494 "BitRate", HFILL }},
21495 { &hf_s1ap_e_RAB_GuaranteedBitrateDL,
21496 { "e-RAB-GuaranteedBitrateDL", "s1ap.e_RAB_GuaranteedBitrateDL",
21497 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21498 "BitRate", HFILL }},
21499 { &hf_s1ap_e_RAB_GuaranteedBitrateUL,
21500 { "e-RAB-GuaranteedBitrateUL", "s1ap.e_RAB_GuaranteedBitrateUL",
21501 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21502 "BitRate", HFILL }},
21503 { &hf_s1ap_mME_Group_ID,
21504 { "mME-Group-ID", "s1ap.mME_Group_ID",
21505 FT_UINT16, BASE_DEC_HEX, NULL, 0,
21506 NULL, HFILL }},
21507 { &hf_s1ap_mME_Code,
21508 { "mME-Code", "s1ap.mME_Code",
21509 FT_UINT8, BASE_DEC_HEX, NULL, 0,
21510 NULL, HFILL }},
21511 { &hf_s1ap_servingPLMN,
21512 { "servingPLMN", "s1ap.servingPLMN",
21513 FT_BYTES, BASE_NONE, NULL, 0,
21514 "PLMNidentity", HFILL }},
21515 { &hf_s1ap_equivalentPLMNs,
21516 { "equivalentPLMNs", "s1ap.equivalentPLMNs",
21517 FT_UINT32, BASE_DEC, NULL, 0,
21518 "EPLMNs", HFILL }},
21519 { &hf_s1ap_forbiddenTAs,
21520 { "forbiddenTAs", "s1ap.forbiddenTAs",
21521 FT_UINT32, BASE_DEC, NULL, 0,
21522 NULL, HFILL }},
21523 { &hf_s1ap_forbiddenLAs,
21524 { "forbiddenLAs", "s1ap.forbiddenLAs",
21525 FT_UINT32, BASE_DEC, NULL, 0,
21526 NULL, HFILL }},
21527 { &hf_s1ap_forbiddenInterRATs,
21528 { "forbiddenInterRATs", "s1ap.forbiddenInterRATs",
21529 FT_UINT32, BASE_DEC, VALS(s1ap_ForbiddenInterRATs_vals), 0,
21530 NULL, HFILL }},
21531 { &hf_s1ap_measurementsToActivate,
21532 { "measurementsToActivate", "s1ap.measurementsToActivate",
21533 FT_BYTES, BASE_NONE, NULL, 0,
21534 NULL, HFILL }},
21535 { &hf_s1ap_m1reportingTrigger,
21536 { "m1reportingTrigger", "s1ap.m1reportingTrigger",
21537 FT_UINT32, BASE_DEC, VALS(s1ap_M1ReportingTrigger_vals), 0,
21538 NULL, HFILL }},
21539 { &hf_s1ap_m1thresholdeventA2,
21540 { "m1thresholdeventA2", "s1ap.m1thresholdeventA2_element",
21541 FT_NONE, BASE_NONE, NULL, 0,
21542 NULL, HFILL }},
21543 { &hf_s1ap_m1periodicReporting,
21544 { "m1periodicReporting", "s1ap.m1periodicReporting_element",
21545 FT_NONE, BASE_NONE, NULL, 0,
21546 NULL, HFILL }},
21547 { &hf_s1ap_recommendENBsForPaging,
21548 { "recommendENBsForPaging", "s1ap.recommendENBsForPaging_element",
21549 FT_NONE, BASE_NONE, NULL, 0,
21550 "RecommendedENBsForPaging", HFILL }},
21551 { &hf_s1ap_rSRP,
21552 { "rSRP", "s1ap.rSRP",
21553 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_threshold_nr_rsrp_fmt), 0,
21554 "INTEGER_0_127", HFILL }},
21555 { &hf_s1ap_rSRQ,
21556 { "rSRQ", "s1ap.rSRQ",
21557 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_threshold_nr_rsrq_fmt), 0,
21558 "INTEGER_0_127", HFILL }},
21559 { &hf_s1ap_sINR,
21560 { "sINR", "s1ap.sINR",
21561 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_threshold_nr_sinr_fmt), 0,
21562 "INTEGER_0_127", HFILL }},
21563 { &hf_s1ap_interSystemMeasurementParameters,
21564 { "interSystemMeasurementParameters", "s1ap.interSystemMeasurementParameters_element",
21565 FT_NONE, BASE_NONE, NULL, 0,
21566 NULL, HFILL }},
21567 { &hf_s1ap_measurementDuration,
21568 { "measurementDuration", "s1ap.measurementDuration",
21569 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
21570 "INTEGER_1_100", HFILL }},
21571 { &hf_s1ap_interSystemMeasurementList,
21572 { "interSystemMeasurementList", "s1ap.interSystemMeasurementList",
21573 FT_UINT32, BASE_DEC, NULL, 0,
21574 NULL, HFILL }},
21575 { &hf_s1ap_InterSystemMeasurementList_item,
21576 { "InterSystemMeasurementItem", "s1ap.InterSystemMeasurementItem_element",
21577 FT_NONE, BASE_NONE, NULL, 0,
21578 NULL, HFILL }},
21579 { &hf_s1ap_freqBandIndicatorNR,
21580 { "freqBandIndicatorNR", "s1ap.freqBandIndicatorNR",
21581 FT_UINT32, BASE_DEC, NULL, 0,
21582 "INTEGER_1_1024", HFILL }},
21583 { &hf_s1ap_sSBfrequencies,
21584 { "sSBfrequencies", "s1ap.sSBfrequencies",
21585 FT_UINT32, BASE_DEC, NULL, 0,
21586 "INTEGER_0_maxNARFCN", HFILL }},
21587 { &hf_s1ap_subcarrierSpacingSSB,
21588 { "subcarrierSpacingSSB", "s1ap.subcarrierSpacingSSB",
21589 FT_UINT32, BASE_DEC, VALS(s1ap_T_subcarrierSpacingSSB_vals), 0,
21590 NULL, HFILL }},
21591 { &hf_s1ap_maxRSIndexCellQual,
21592 { "maxRSIndexCellQual", "s1ap.maxRSIndexCellQual",
21593 FT_UINT32, BASE_DEC, NULL, 0,
21594 "INTEGER_1_maxRS_IndexCellQual", HFILL }},
21595 { &hf_s1ap_sMTC,
21596 { "sMTC", "s1ap.sMTC",
21597 FT_BYTES, BASE_NONE, NULL, 0,
21598 NULL, HFILL }},
21599 { &hf_s1ap_threshRS_Index_r15,
21600 { "threshRS-Index-r15", "s1ap.threshRS_Index_r15",
21601 FT_BYTES, BASE_NONE, NULL, 0,
21602 NULL, HFILL }},
21603 { &hf_s1ap_sSBToMeasure,
21604 { "sSBToMeasure", "s1ap.sSBToMeasure",
21605 FT_BYTES, BASE_NONE, NULL, 0,
21606 NULL, HFILL }},
21607 { &hf_s1ap_sSRSSIMeasurement,
21608 { "sSRSSIMeasurement", "s1ap.sSRSSIMeasurement",
21609 FT_BYTES, BASE_NONE, NULL, 0,
21610 NULL, HFILL }},
21611 { &hf_s1ap_quantityConfigNR_R15,
21612 { "quantityConfigNR-R15", "s1ap.quantityConfigNR_R15",
21613 FT_BYTES, BASE_NONE, NULL, 0,
21614 NULL, HFILL }},
21615 { &hf_s1ap_excludedCellsToAddModList,
21616 { "excludedCellsToAddModList", "s1ap.excludedCellsToAddModList",
21617 FT_BYTES, BASE_NONE, NULL, 0,
21618 NULL, HFILL }},
21619 { &hf_s1ap_e_UTRAN_Cell,
21620 { "e-UTRAN-Cell", "s1ap.e_UTRAN_Cell_element",
21621 FT_NONE, BASE_NONE, NULL, 0,
21622 "LastVisitedEUTRANCellInformation", HFILL }},
21623 { &hf_s1ap_uTRAN_Cell,
21624 { "uTRAN-Cell", "s1ap.uTRAN_Cell",
21625 FT_BYTES, BASE_NONE, NULL, 0,
21626 "LastVisitedUTRANCellInformation", HFILL }},
21627 { &hf_s1ap_gERAN_Cell,
21628 { "gERAN-Cell", "s1ap.gERAN_Cell",
21629 FT_UINT32, BASE_DEC, VALS(s1ap_LastVisitedGERANCellInformation_vals), 0,
21630 "LastVisitedGERANCellInformation", HFILL }},
21631 { &hf_s1ap_nG_RAN_Cell,
21632 { "nG-RAN-Cell", "s1ap.nG_RAN_Cell",
21633 FT_BYTES, BASE_NONE, NULL, 0,
21634 "LastVisitedNGRANCellInformation", HFILL }},
21635 { &hf_s1ap_cellType,
21636 { "cellType", "s1ap.cellType_element",
21637 FT_NONE, BASE_NONE, NULL, 0,
21638 NULL, HFILL }},
21639 { &hf_s1ap_time_UE_StayedInCell,
21640 { "time-UE-StayedInCell", "s1ap.time_UE_StayedInCell",
21641 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
21642 NULL, HFILL }},
21643 { &hf_s1ap_LastVisitedPSCellList_item,
21644 { "LastVisitedPSCellInformation", "s1ap.LastVisitedPSCellInformation_element",
21645 FT_NONE, BASE_NONE, NULL, 0,
21646 NULL, HFILL }},
21647 { &hf_s1ap_pSCellID,
21648 { "pSCellID", "s1ap.pSCellID_element",
21649 FT_NONE, BASE_NONE, NULL, 0,
21650 "PSCellInformation", HFILL }},
21651 { &hf_s1ap_timeStay,
21652 { "timeStay", "s1ap.timeStay",
21653 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
21654 "INTEGER_0_40950", HFILL }},
21655 { &hf_s1ap_undefined,
21656 { "undefined", "s1ap.undefined_element",
21657 FT_NONE, BASE_NONE, NULL, 0,
21658 NULL, HFILL }},
21659 { &hf_s1ap_pattern_period,
21660 { "pattern-period", "s1ap.pattern_period",
21661 FT_UINT32, BASE_DEC, VALS(s1ap_T_pattern_period_vals), 0,
21662 NULL, HFILL }},
21663 { &hf_s1ap_pattern_offset,
21664 { "pattern-offset", "s1ap.pattern_offset",
21665 FT_UINT32, BASE_DEC, NULL, 0,
21666 "INTEGER_0_10239_", HFILL }},
21667 { &hf_s1ap_loggingInterval,
21668 { "loggingInterval", "s1ap.loggingInterval",
21669 FT_UINT32, BASE_DEC, VALS(s1ap_LoggingInterval_vals), 0,
21670 NULL, HFILL }},
21671 { &hf_s1ap_loggingDuration,
21672 { "loggingDuration", "s1ap.loggingDuration",
21673 FT_UINT32, BASE_DEC, VALS(s1ap_LoggingDuration_vals), 0,
21674 NULL, HFILL }},
21675 { &hf_s1ap_mBSFN_ResultToLog,
21676 { "mBSFN-ResultToLog", "s1ap.mBSFN_ResultToLog",
21677 FT_UINT32, BASE_DEC, NULL, 0,
21678 NULL, HFILL }},
21679 { &hf_s1ap_periodical,
21680 { "periodical", "s1ap.periodical_element",
21681 FT_NONE, BASE_NONE, NULL, 0,
21682 NULL, HFILL }},
21683 { &hf_s1ap_eventTrigger,
21684 { "eventTrigger", "s1ap.eventTrigger",
21685 FT_UINT32, BASE_DEC, VALS(s1ap_EventTrigger_vals), 0,
21686 NULL, HFILL }},
21687 { &hf_s1ap_tACList_In_LTE_NTN,
21688 { "tACList-In-LTE-NTN", "s1ap.tACList_In_LTE_NTN",
21689 FT_UINT32, BASE_DEC, NULL, 0,
21690 NULL, HFILL }},
21691 { &hf_s1ap_uE_Location_Derived_TAC,
21692 { "uE-Location-Derived-TAC", "s1ap.uE_Location_Derived_TAC",
21693 FT_UINT16, BASE_DEC_HEX, NULL, 0,
21694 "TAC", HFILL }},
21695 { &hf_s1ap_m3period,
21696 { "m3period", "s1ap.m3period",
21697 FT_UINT32, BASE_DEC, VALS(s1ap_M3period_vals), 0,
21698 NULL, HFILL }},
21699 { &hf_s1ap_m4period,
21700 { "m4period", "s1ap.m4period",
21701 FT_UINT32, BASE_DEC, VALS(s1ap_M4period_vals), 0,
21702 NULL, HFILL }},
21703 { &hf_s1ap_m4_links_to_log,
21704 { "m4-links-to-log", "s1ap.m4_links_to_log",
21705 FT_UINT32, BASE_DEC, VALS(s1ap_Links_to_log_vals), 0,
21706 "Links_to_log", HFILL }},
21707 { &hf_s1ap_m5period,
21708 { "m5period", "s1ap.m5period",
21709 FT_UINT32, BASE_DEC, VALS(s1ap_M5period_vals), 0,
21710 NULL, HFILL }},
21711 { &hf_s1ap_m5_links_to_log,
21712 { "m5-links-to-log", "s1ap.m5_links_to_log",
21713 FT_UINT32, BASE_DEC, VALS(s1ap_Links_to_log_vals), 0,
21714 "Links_to_log", HFILL }},
21715 { &hf_s1ap_m6report_Interval,
21716 { "m6report-Interval", "s1ap.m6report_Interval",
21717 FT_UINT32, BASE_DEC, VALS(s1ap_M6report_Interval_vals), 0,
21718 NULL, HFILL }},
21719 { &hf_s1ap_m6delay_threshold,
21720 { "m6delay-threshold", "s1ap.m6delay_threshold",
21721 FT_UINT32, BASE_DEC, VALS(s1ap_M6delay_threshold_vals), 0,
21722 NULL, HFILL }},
21723 { &hf_s1ap_m6_links_to_log,
21724 { "m6-links-to-log", "s1ap.m6_links_to_log",
21725 FT_UINT32, BASE_DEC, VALS(s1ap_Links_to_log_vals), 0,
21726 "Links_to_log", HFILL }},
21727 { &hf_s1ap_m7period,
21728 { "m7period", "s1ap.m7period",
21729 FT_UINT32, BASE_DEC, NULL, 0,
21730 NULL, HFILL }},
21731 { &hf_s1ap_m7_links_to_log,
21732 { "m7-links-to-log", "s1ap.m7_links_to_log",
21733 FT_UINT32, BASE_DEC, VALS(s1ap_Links_to_log_vals), 0,
21734 "Links_to_log", HFILL }},
21735 { &hf_s1ap_mdt_Activation,
21736 { "mdt-Activation", "s1ap.mdt_Activation",
21737 FT_UINT32, BASE_DEC, VALS(s1ap_MDT_Activation_vals), 0,
21738 NULL, HFILL }},
21739 { &hf_s1ap_areaScopeOfMDT,
21740 { "areaScopeOfMDT", "s1ap.areaScopeOfMDT",
21741 FT_UINT32, BASE_DEC, VALS(s1ap_AreaScopeOfMDT_vals), 0,
21742 NULL, HFILL }},
21743 { &hf_s1ap_mDTMode,
21744 { "mDTMode", "s1ap.mDTMode",
21745 FT_UINT32, BASE_DEC, VALS(s1ap_MDTMode_vals), 0,
21746 NULL, HFILL }},
21747 { &hf_s1ap_MBSFN_ResultToLog_item,
21748 { "MBSFN-ResultToLogInfo", "s1ap.MBSFN_ResultToLogInfo_element",
21749 FT_NONE, BASE_NONE, NULL, 0,
21750 NULL, HFILL }},
21751 { &hf_s1ap_mBSFN_AreaId,
21752 { "mBSFN-AreaId", "s1ap.mBSFN_AreaId",
21753 FT_UINT32, BASE_DEC, NULL, 0,
21754 "INTEGER_0_255", HFILL }},
21755 { &hf_s1ap_carrierFreq,
21756 { "carrierFreq", "s1ap.carrierFreq",
21757 FT_UINT32, BASE_DEC, NULL, 0,
21758 "EARFCN", HFILL }},
21759 { &hf_s1ap_MDTPLMNList_item,
21760 { "PLMNidentity", "s1ap.PLMNidentity",
21761 FT_BYTES, BASE_NONE, NULL, 0,
21762 NULL, HFILL }},
21763 { &hf_s1ap_immediateMDT,
21764 { "immediateMDT", "s1ap.immediateMDT_element",
21765 FT_NONE, BASE_NONE, NULL, 0,
21766 NULL, HFILL }},
21767 { &hf_s1ap_loggedMDT,
21768 { "loggedMDT", "s1ap.loggedMDT_element",
21769 FT_NONE, BASE_NONE, NULL, 0,
21770 NULL, HFILL }},
21771 { &hf_s1ap_mDTMode_Extension,
21772 { "mDTMode-Extension", "s1ap.mDTMode_Extension_element",
21773 FT_NONE, BASE_NONE, NULL, 0,
21774 NULL, HFILL }},
21775 { &hf_s1ap_threshold_RSRP,
21776 { "threshold-RSRP", "s1ap.threshold_RSRP",
21777 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_Threshold_RSRP_fmt), 0,
21778 NULL, HFILL }},
21779 { &hf_s1ap_threshold_RSRQ,
21780 { "threshold-RSRQ", "s1ap.threshold_RSRQ",
21781 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_Threshold_RSRQ_fmt), 0,
21782 NULL, HFILL }},
21783 { &hf_s1ap_global_ENB_ID,
21784 { "global-ENB-ID", "s1ap.global_ENB_ID_element",
21785 FT_NONE, BASE_NONE, NULL, 0,
21786 NULL, HFILL }},
21787 { &hf_s1ap_tAI,
21788 { "tAI", "s1ap.tAI_element",
21789 FT_NONE, BASE_NONE, NULL, 0,
21790 NULL, HFILL }},
21791 { &hf_s1ap_muting_pattern_period,
21792 { "muting-pattern-period", "s1ap.muting_pattern_period",
21793 FT_UINT32, BASE_DEC, VALS(s1ap_T_muting_pattern_period_vals), 0,
21794 NULL, HFILL }},
21795 { &hf_s1ap_muting_pattern_offset,
21796 { "muting-pattern-offset", "s1ap.muting_pattern_offset",
21797 FT_UINT32, BASE_DEC, NULL, 0,
21798 "INTEGER_0_10239_", HFILL }},
21799 { &hf_s1ap_nB_IoT_paging_eDRX_Cycle,
21800 { "nB-IoT-paging-eDRX-Cycle", "s1ap.nB_IoT_paging_eDRX_Cycle",
21801 FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_Paging_eDRX_Cycle_vals), 0,
21802 NULL, HFILL }},
21803 { &hf_s1ap_nB_IoT_pagingTimeWindow,
21804 { "nB-IoT-pagingTimeWindow", "s1ap.nB_IoT_pagingTimeWindow",
21805 FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_PagingTimeWindow_vals), 0,
21806 NULL, HFILL }},
21807 { &hf_s1ap_pLMNIdentity,
21808 { "pLMNIdentity", "s1ap.pLMNIdentity",
21809 FT_BYTES, BASE_NONE, NULL, 0,
21810 NULL, HFILL }},
21811 { &hf_s1ap_nRCellIdentity,
21812 { "nRCellIdentity", "s1ap.nRCellIdentity",
21813 FT_BYTES, BASE_NONE, NULL, 0,
21814 NULL, HFILL }},
21815 { &hf_s1ap_nRencryptionAlgorithms,
21816 { "nRencryptionAlgorithms", "s1ap.nRencryptionAlgorithms",
21817 FT_BYTES, BASE_NONE, NULL, 0,
21818 NULL, HFILL }},
21819 { &hf_s1ap_nRintegrityProtectionAlgorithms,
21820 { "nRintegrityProtectionAlgorithms", "s1ap.nRintegrityProtectionAlgorithms",
21821 FT_BYTES, BASE_NONE, NULL, 0,
21822 NULL, HFILL }},
21823 { &hf_s1ap_vehicleUE,
21824 { "vehicleUE", "s1ap.vehicleUE",
21825 FT_UINT32, BASE_DEC, VALS(s1ap_VehicleUE_vals), 0,
21826 NULL, HFILL }},
21827 { &hf_s1ap_pedestrianUE,
21828 { "pedestrianUE", "s1ap.pedestrianUE",
21829 FT_UINT32, BASE_DEC, VALS(s1ap_PedestrianUE_vals), 0,
21830 NULL, HFILL }},
21831 { &hf_s1ap_uEaggregateMaximumBitRate,
21832 { "uEaggregateMaximumBitRate", "s1ap.uEaggregateMaximumBitRate",
21833 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21834 "BitRate", HFILL }},
21835 { &hf_s1ap_overloadAction,
21836 { "overloadAction", "s1ap.overloadAction",
21837 FT_UINT32, BASE_DEC, VALS(s1ap_OverloadAction_vals), 0,
21838 NULL, HFILL }},
21839 { &hf_s1ap_pagingAttemptCount,
21840 { "pagingAttemptCount", "s1ap.pagingAttemptCount",
21841 FT_UINT32, BASE_DEC, NULL, 0,
21842 NULL, HFILL }},
21843 { &hf_s1ap_intendedNumberOfPagingAttempts,
21844 { "intendedNumberOfPagingAttempts", "s1ap.intendedNumberOfPagingAttempts",
21845 FT_UINT32, BASE_DEC, NULL, 0,
21846 NULL, HFILL }},
21847 { &hf_s1ap_nextPagingAreaScope,
21848 { "nextPagingAreaScope", "s1ap.nextPagingAreaScope",
21849 FT_UINT32, BASE_DEC, VALS(s1ap_NextPagingAreaScope_vals), 0,
21850 NULL, HFILL }},
21851 { &hf_s1ap_paging_eDRX_Cycle,
21852 { "paging-eDRX-Cycle", "s1ap.paging_eDRX_Cycle",
21853 FT_UINT32, BASE_DEC, VALS(s1ap_Paging_eDRX_Cycle_vals), 0,
21854 NULL, HFILL }},
21855 { &hf_s1ap_pagingTimeWindow,
21856 { "pagingTimeWindow", "s1ap.pagingTimeWindow",
21857 FT_UINT32, BASE_DEC, VALS(s1ap_PagingTimeWindow_vals), 0,
21858 NULL, HFILL }},
21859 { &hf_s1ap_pc5QoSFlowList,
21860 { "pc5QoSFlowList", "s1ap.pc5QoSFlowList",
21861 FT_UINT32, BASE_DEC, NULL, 0,
21862 NULL, HFILL }},
21863 { &hf_s1ap_pc5LinkAggregatedBitRates,
21864 { "pc5LinkAggregatedBitRates", "s1ap.pc5LinkAggregatedBitRates",
21865 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21866 "BitRate", HFILL }},
21867 { &hf_s1ap_PC5QoSFlowList_item,
21868 { "PC5QoSFlowItem", "s1ap.PC5QoSFlowItem_element",
21869 FT_NONE, BASE_NONE, NULL, 0,
21870 NULL, HFILL }},
21871 { &hf_s1ap_pQI,
21872 { "pQI", "s1ap.pQI",
21873 FT_UINT32, BASE_DEC, NULL, 0,
21874 "FiveQI", HFILL }},
21875 { &hf_s1ap_pc5FlowBitRates,
21876 { "pc5FlowBitRates", "s1ap.pc5FlowBitRates_element",
21877 FT_NONE, BASE_NONE, NULL, 0,
21878 NULL, HFILL }},
21879 { &hf_s1ap_range,
21880 { "range", "s1ap.range",
21881 FT_UINT32, BASE_DEC, VALS(s1ap_Range_vals), 0,
21882 NULL, HFILL }},
21883 { &hf_s1ap_guaranteedFlowBitRate,
21884 { "guaranteedFlowBitRate", "s1ap.guaranteedFlowBitRate",
21885 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21886 "BitRate", HFILL }},
21887 { &hf_s1ap_maximumFlowBitRate,
21888 { "maximumFlowBitRate", "s1ap.maximumFlowBitRate",
21889 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
21890 "BitRate", HFILL }},
21891 { &hf_s1ap_reportInterval,
21892 { "reportInterval", "s1ap.reportInterval",
21893 FT_UINT32, BASE_DEC, VALS(s1ap_ReportIntervalMDT_vals), 0,
21894 "ReportIntervalMDT", HFILL }},
21895 { &hf_s1ap_reportAmount,
21896 { "reportAmount", "s1ap.reportAmount",
21897 FT_UINT32, BASE_DEC, VALS(s1ap_ReportAmountMDT_vals), 0,
21898 "ReportAmountMDT", HFILL }},
21899 { &hf_s1ap_plmnListforQMC,
21900 { "plmnListforQMC", "s1ap.plmnListforQMC",
21901 FT_UINT32, BASE_DEC, NULL, 0,
21902 NULL, HFILL }},
21903 { &hf_s1ap_PLMNListforQMC_item,
21904 { "PLMNidentity", "s1ap.PLMNidentity",
21905 FT_BYTES, BASE_NONE, NULL, 0,
21906 NULL, HFILL }},
21907 { &hf_s1ap_proSeDirectDiscovery,
21908 { "proSeDirectDiscovery", "s1ap.proSeDirectDiscovery",
21909 FT_UINT32, BASE_DEC, VALS(s1ap_ProSeDirectDiscovery_vals), 0,
21910 NULL, HFILL }},
21911 { &hf_s1ap_proSeDirectCommunication,
21912 { "proSeDirectCommunication", "s1ap.proSeDirectCommunication",
21913 FT_UINT32, BASE_DEC, VALS(s1ap_ProSeDirectCommunication_vals), 0,
21914 NULL, HFILL }},
21915 { &hf_s1ap_nCGI,
21916 { "nCGI", "s1ap.nCGI_element",
21917 FT_NONE, BASE_NONE, NULL, 0,
21918 "NR_CGI", HFILL }},
21919 { &hf_s1ap_recommendedCellList,
21920 { "recommendedCellList", "s1ap.recommendedCellList",
21921 FT_UINT32, BASE_DEC, NULL, 0,
21922 NULL, HFILL }},
21923 { &hf_s1ap_RecommendedCellList_item,
21924 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21925 FT_NONE, BASE_NONE, NULL, 0,
21926 NULL, HFILL }},
21927 { &hf_s1ap_eUTRAN_CGI,
21928 { "eUTRAN-CGI", "s1ap.eUTRAN_CGI_element",
21929 FT_NONE, BASE_NONE, NULL, 0,
21930 NULL, HFILL }},
21931 { &hf_s1ap_timeStayedInCell,
21932 { "timeStayedInCell", "s1ap.timeStayedInCell",
21933 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
21934 "INTEGER_0_4095", HFILL }},
21935 { &hf_s1ap_recommendedENBList,
21936 { "recommendedENBList", "s1ap.recommendedENBList",
21937 FT_UINT32, BASE_DEC, NULL, 0,
21938 NULL, HFILL }},
21939 { &hf_s1ap_RecommendedENBList_item,
21940 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
21941 FT_NONE, BASE_NONE, NULL, 0,
21942 NULL, HFILL }},
21943 { &hf_s1ap_mMEPagingTarget,
21944 { "mMEPagingTarget", "s1ap.mMEPagingTarget",
21945 FT_UINT32, BASE_DEC, VALS(s1ap_MMEPagingTarget_vals), 0,
21946 NULL, HFILL }},
21947 { &hf_s1ap_RAT_Restrictions_item,
21948 { "RAT-RestrictionsItem", "s1ap.RAT_RestrictionsItem_element",
21949 FT_NONE, BASE_NONE, NULL, 0,
21950 NULL, HFILL }},
21951 { &hf_s1ap_rAT_RestrictionInformation,
21952 { "rAT-RestrictionInformation", "s1ap.rAT_RestrictionInformation",
21953 FT_BYTES, BASE_NONE, NULL, 0,
21954 "T_rAT_RestrictionInformation", HFILL }},
21955 { &hf_s1ap_eventType,
21956 { "eventType", "s1ap.eventType",
21957 FT_UINT32, BASE_DEC, VALS(s1ap_EventType_vals), 0,
21958 NULL, HFILL }},
21959 { &hf_s1ap_reportArea,
21960 { "reportArea", "s1ap.reportArea",
21961 FT_UINT32, BASE_DEC, VALS(s1ap_ReportArea_vals), 0,
21962 NULL, HFILL }},
21963 { &hf_s1ap_rIMInformation,
21964 { "rIMInformation", "s1ap.rIMInformation",
21965 FT_BYTES, BASE_NONE, NULL, 0,
21966 NULL, HFILL }},
21967 { &hf_s1ap_rIMRoutingAddress,
21968 { "rIMRoutingAddress", "s1ap.rIMRoutingAddress",
21969 FT_UINT32, BASE_DEC, VALS(s1ap_RIMRoutingAddress_vals), 0,
21970 NULL, HFILL }},
21971 { &hf_s1ap_gERAN_Cell_ID,
21972 { "gERAN-Cell-ID", "s1ap.gERAN_Cell_ID_element",
21973 FT_NONE, BASE_NONE, NULL, 0,
21974 NULL, HFILL }},
21975 { &hf_s1ap_targetRNC_ID,
21976 { "targetRNC-ID", "s1ap.targetRNC_ID_element",
21977 FT_NONE, BASE_NONE, NULL, 0,
21978 NULL, HFILL }},
21979 { &hf_s1ap_eHRPD_Sector_ID,
21980 { "eHRPD-Sector-ID", "s1ap.eHRPD_Sector_ID",
21981 FT_BYTES, BASE_NONE, NULL, 0,
21982 "OCTET_STRING_SIZE_16", HFILL }},
21983 { &hf_s1ap_uE_RLF_Report_Container,
21984 { "uE-RLF-Report-Container", "s1ap.uE_RLF_Report_Container",
21985 FT_BYTES, BASE_NONE, NULL, 0,
21986 NULL, HFILL }},
21987 { &hf_s1ap_uE_RLF_Report_Container_for_extended_bands,
21988 { "uE-RLF-Report-Container-for-extended-bands", "s1ap.uE_RLF_Report_Container_for_extended_bands",
21989 FT_BYTES, BASE_NONE, NULL, 0,
21990 NULL, HFILL }},
21991 { &hf_s1ap_ECGIListForRestart_item,
21992 { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
21993 FT_NONE, BASE_NONE, NULL, 0,
21994 NULL, HFILL }},
21995 { &hf_s1ap_nextHopChainingCount,
21996 { "nextHopChainingCount", "s1ap.nextHopChainingCount",
21997 FT_UINT32, BASE_DEC, NULL, 0,
21998 "INTEGER_0_7", HFILL }},
21999 { &hf_s1ap_nextHopParameter,
22000 { "nextHopParameter", "s1ap.nextHopParameter",
22001 FT_BYTES, BASE_NONE, NULL, 0,
22002 "SecurityKey", HFILL }},
22003 { &hf_s1ap_SecondaryRATDataUsageReportList_item,
22004 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22005 FT_NONE, BASE_NONE, NULL, 0,
22006 NULL, HFILL }},
22007 { &hf_s1ap_secondaryRATType,
22008 { "secondaryRATType", "s1ap.secondaryRATType",
22009 FT_UINT32, BASE_DEC, VALS(s1ap_SecondaryRATType_vals), 0,
22010 NULL, HFILL }},
22011 { &hf_s1ap_e_RABUsageReportList,
22012 { "e-RABUsageReportList", "s1ap.e_RABUsageReportList",
22013 FT_UINT32, BASE_DEC, NULL, 0,
22014 NULL, HFILL }},
22015 { &hf_s1ap_integrityProtectionIndication,
22016 { "integrityProtectionIndication", "s1ap.integrityProtectionIndication",
22017 FT_UINT32, BASE_DEC, VALS(s1ap_IntegrityProtectionIndication_vals), 0,
22018 NULL, HFILL }},
22019 { &hf_s1ap_integrityProtectionResult,
22020 { "integrityProtectionResult", "s1ap.integrityProtectionResult",
22021 FT_UINT32, BASE_DEC, VALS(s1ap_IntegrityProtectionResult_vals), 0,
22022 NULL, HFILL }},
22023 { &hf_s1ap_sensorNameConfig,
22024 { "sensorNameConfig", "s1ap.sensorNameConfig",
22025 FT_UINT32, BASE_DEC, VALS(s1ap_SensorNameConfig_vals), 0,
22026 NULL, HFILL }},
22027 { &hf_s1ap_SensorMeasConfigNameList_item,
22028 { "SensorMeasConfigNameItem", "s1ap.SensorMeasConfigNameItem_element",
22029 FT_NONE, BASE_NONE, NULL, 0,
22030 NULL, HFILL }},
22031 { &hf_s1ap_sensorMeasConfig,
22032 { "sensorMeasConfig", "s1ap.sensorMeasConfig",
22033 FT_UINT32, BASE_DEC, VALS(s1ap_SensorMeasConfig_vals), 0,
22034 NULL, HFILL }},
22035 { &hf_s1ap_sensorMeasConfigNameList,
22036 { "sensorMeasConfigNameList", "s1ap.sensorMeasConfigNameList",
22037 FT_UINT32, BASE_DEC, NULL, 0,
22038 NULL, HFILL }},
22039 { &hf_s1ap_uncompensatedBarometricConfig,
22040 { "uncompensatedBarometricConfig", "s1ap.uncompensatedBarometricConfig",
22041 FT_UINT32, BASE_DEC, VALS(s1ap_T_uncompensatedBarometricConfig_vals), 0,
22042 NULL, HFILL }},
22043 { &hf_s1ap_sONInformationRequest,
22044 { "sONInformationRequest", "s1ap.sONInformationRequest",
22045 FT_UINT32, BASE_DEC, VALS(s1ap_SONInformationRequest_vals), 0,
22046 NULL, HFILL }},
22047 { &hf_s1ap_sONInformationReply,
22048 { "sONInformationReply", "s1ap.sONInformationReply_element",
22049 FT_NONE, BASE_NONE, NULL, 0,
22050 NULL, HFILL }},
22051 { &hf_s1ap_sONInformation_Extension,
22052 { "sONInformation-Extension", "s1ap.sONInformation_Extension_element",
22053 FT_NONE, BASE_NONE, NULL, 0,
22054 NULL, HFILL }},
22055 { &hf_s1ap_x2TNLConfigurationInfo,
22056 { "x2TNLConfigurationInfo", "s1ap.x2TNLConfigurationInfo_element",
22057 FT_NONE, BASE_NONE, NULL, 0,
22058 NULL, HFILL }},
22059 { &hf_s1ap_rLFReportInformation,
22060 { "rLFReportInformation", "s1ap.rLFReportInformation_element",
22061 FT_NONE, BASE_NONE, NULL, 0,
22062 NULL, HFILL }},
22063 { &hf_s1ap_targeteNB_ID,
22064 { "targeteNB-ID", "s1ap.targeteNB_ID_element",
22065 FT_NONE, BASE_NONE, NULL, 0,
22066 NULL, HFILL }},
22067 { &hf_s1ap_sourceeNB_ID,
22068 { "sourceeNB-ID", "s1ap.sourceeNB_ID_element",
22069 FT_NONE, BASE_NONE, NULL, 0,
22070 NULL, HFILL }},
22071 { &hf_s1ap_sourceStratumLevel,
22072 { "sourceStratumLevel", "s1ap.sourceStratumLevel",
22073 FT_UINT32, BASE_DEC, NULL, 0,
22074 "StratumLevel", HFILL }},
22075 { &hf_s1ap_listeningSubframePattern,
22076 { "listeningSubframePattern", "s1ap.listeningSubframePattern_element",
22077 FT_NONE, BASE_NONE, NULL, 0,
22078 NULL, HFILL }},
22079 { &hf_s1ap_aggressoreCGI_List,
22080 { "aggressoreCGI-List", "s1ap.aggressoreCGI_List",
22081 FT_UINT32, BASE_DEC, NULL, 0,
22082 "ECGI_List", HFILL }},
22083 { &hf_s1ap_selected_TAI,
22084 { "selected-TAI", "s1ap.selected_TAI_element",
22085 FT_NONE, BASE_NONE, NULL, 0,
22086 "TAI", HFILL }},
22087 { &hf_s1ap_sourceNgRanNode_ID,
22088 { "sourceNgRanNode-ID", "s1ap.sourceNgRanNode_ID_element",
22089 FT_NONE, BASE_NONE, NULL, 0,
22090 NULL, HFILL }},
22091 { &hf_s1ap_sourceNodeID_Extension,
22092 { "sourceNodeID-Extension", "s1ap.sourceNodeID_Extension_element",
22093 FT_NONE, BASE_NONE, NULL, 0,
22094 NULL, HFILL }},
22095 { &hf_s1ap_rRC_Container,
22096 { "rRC-Container", "s1ap.rRC_Container",
22097 FT_BYTES, BASE_NONE, NULL, 0,
22098 NULL, HFILL }},
22099 { &hf_s1ap_e_RABInformationList,
22100 { "e-RABInformationList", "s1ap.e_RABInformationList",
22101 FT_UINT32, BASE_DEC, NULL, 0,
22102 NULL, HFILL }},
22103 { &hf_s1ap_targetCell_ID,
22104 { "targetCell-ID", "s1ap.targetCell_ID_element",
22105 FT_NONE, BASE_NONE, NULL, 0,
22106 "EUTRAN_CGI", HFILL }},
22107 { &hf_s1ap_subscriberProfileIDforRFP,
22108 { "subscriberProfileIDforRFP", "s1ap.subscriberProfileIDforRFP",
22109 FT_UINT32, BASE_DEC, NULL, 0,
22110 NULL, HFILL }},
22111 { &hf_s1ap_uE_HistoryInformation,
22112 { "uE-HistoryInformation", "s1ap.uE_HistoryInformation",
22113 FT_UINT32, BASE_DEC, NULL, 0,
22114 NULL, HFILL }},
22115 { &hf_s1ap_global_RAN_NODE_ID,
22116 { "global-RAN-NODE-ID", "s1ap.global_RAN_NODE_ID",
22117 FT_UINT32, BASE_DEC, VALS(s1ap_Global_RAN_NODE_ID_vals), 0,
22118 NULL, HFILL }},
22119 { &hf_s1ap_selected_TAI_01,
22120 { "selected-TAI", "s1ap.selected_TAI_element",
22121 FT_NONE, BASE_NONE, NULL, 0,
22122 "FiveGSTAI", HFILL }},
22123 { &hf_s1ap_ServedGUMMEIs_item,
22124 { "ServedGUMMEIsItem", "s1ap.ServedGUMMEIsItem_element",
22125 FT_NONE, BASE_NONE, NULL, 0,
22126 NULL, HFILL }},
22127 { &hf_s1ap_servedPLMNs,
22128 { "servedPLMNs", "s1ap.servedPLMNs",
22129 FT_UINT32, BASE_DEC, NULL, 0,
22130 NULL, HFILL }},
22131 { &hf_s1ap_servedGroupIDs,
22132 { "servedGroupIDs", "s1ap.servedGroupIDs",
22133 FT_UINT32, BASE_DEC, NULL, 0,
22134 NULL, HFILL }},
22135 { &hf_s1ap_servedMMECs,
22136 { "servedMMECs", "s1ap.servedMMECs",
22137 FT_UINT32, BASE_DEC, NULL, 0,
22138 NULL, HFILL }},
22139 { &hf_s1ap_ServedGroupIDs_item,
22140 { "MME-Group-ID", "s1ap.MME_Group_ID",
22141 FT_UINT16, BASE_DEC_HEX, NULL, 0,
22142 NULL, HFILL }},
22143 { &hf_s1ap_ServedMMECs_item,
22144 { "MME-Code", "s1ap.MME_Code",
22145 FT_UINT8, BASE_DEC_HEX, NULL, 0,
22146 NULL, HFILL }},
22147 { &hf_s1ap_ServedPLMNs_item,
22148 { "PLMNidentity", "s1ap.PLMNidentity",
22149 FT_BYTES, BASE_NONE, NULL, 0,
22150 NULL, HFILL }},
22151 { &hf_s1ap_periodicCommunicationIndicator,
22152 { "periodicCommunicationIndicator", "s1ap.periodicCommunicationIndicator",
22153 FT_UINT32, BASE_DEC, VALS(s1ap_T_periodicCommunicationIndicator_vals), 0,
22154 NULL, HFILL }},
22155 { &hf_s1ap_periodicTime,
22156 { "periodicTime", "s1ap.periodicTime",
22157 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
22158 "INTEGER_1_3600_", HFILL }},
22159 { &hf_s1ap_scheduledCommunicationTime,
22160 { "scheduledCommunicationTime", "s1ap.scheduledCommunicationTime_element",
22161 FT_NONE, BASE_NONE, NULL, 0,
22162 NULL, HFILL }},
22163 { &hf_s1ap_stationaryIndication,
22164 { "stationaryIndication", "s1ap.stationaryIndication",
22165 FT_UINT32, BASE_DEC, VALS(s1ap_T_stationaryIndication_vals), 0,
22166 NULL, HFILL }},
22167 { &hf_s1ap_trafficProfile,
22168 { "trafficProfile", "s1ap.trafficProfile",
22169 FT_UINT32, BASE_DEC, VALS(s1ap_T_trafficProfile_vals), 0,
22170 NULL, HFILL }},
22171 { &hf_s1ap_batteryIndication,
22172 { "batteryIndication", "s1ap.batteryIndication",
22173 FT_UINT32, BASE_DEC, VALS(s1ap_T_batteryIndication_vals), 0,
22174 NULL, HFILL }},
22175 { &hf_s1ap_dayofWeek,
22176 { "dayofWeek", "s1ap.dayofWeek",
22177 FT_BYTES, BASE_NONE, NULL, 0,
22178 "BIT_STRING_SIZE_7", HFILL }},
22179 { &hf_s1ap_timeofDayStart,
22180 { "timeofDayStart", "s1ap.timeofDayStart",
22181 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
22182 "INTEGER_0_86399_", HFILL }},
22183 { &hf_s1ap_timeofDayEnd,
22184 { "timeofDayEnd", "s1ap.timeofDayEnd",
22185 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
22186 "INTEGER_0_86399_", HFILL }},
22187 { &hf_s1ap_SupportedTAs_item,
22188 { "SupportedTAs-Item", "s1ap.SupportedTAs_Item_element",
22189 FT_NONE, BASE_NONE, NULL, 0,
22190 NULL, HFILL }},
22191 { &hf_s1ap_tAC,
22192 { "tAC", "s1ap.tAC",
22193 FT_UINT16, BASE_DEC_HEX, NULL, 0,
22194 NULL, HFILL }},
22195 { &hf_s1ap_broadcastPLMNs,
22196 { "broadcastPLMNs", "s1ap.broadcastPLMNs",
22197 FT_UINT32, BASE_DEC, NULL, 0,
22198 "BPLMNs", HFILL }},
22199 { &hf_s1ap_stratumLevel,
22200 { "stratumLevel", "s1ap.stratumLevel",
22201 FT_UINT32, BASE_DEC, NULL, 0,
22202 NULL, HFILL }},
22203 { &hf_s1ap_synchronisationStatus,
22204 { "synchronisationStatus", "s1ap.synchronisationStatus",
22205 FT_UINT32, BASE_DEC, VALS(s1ap_SynchronisationStatus_vals), 0,
22206 NULL, HFILL }},
22207 { &hf_s1ap_mMEC,
22208 { "mMEC", "s1ap.mMEC",
22209 FT_UINT8, BASE_DEC_HEX, NULL, 0,
22210 "MME_Code", HFILL }},
22211 { &hf_s1ap_TACList_In_LTE_NTN_item,
22212 { "TAC", "s1ap.TAC",
22213 FT_UINT16, BASE_DEC_HEX, NULL, 0,
22214 NULL, HFILL }},
22215 { &hf_s1ap_tAIListforMDT,
22216 { "tAIListforMDT", "s1ap.tAIListforMDT",
22217 FT_UINT32, BASE_DEC, NULL, 0,
22218 NULL, HFILL }},
22219 { &hf_s1ap_TAIListforMDT_item,
22220 { "TAI", "s1ap.TAI_element",
22221 FT_NONE, BASE_NONE, NULL, 0,
22222 NULL, HFILL }},
22223 { &hf_s1ap_TAIListforWarning_item,
22224 { "TAI", "s1ap.TAI_element",
22225 FT_NONE, BASE_NONE, NULL, 0,
22226 NULL, HFILL }},
22227 { &hf_s1ap_TAI_Broadcast_item,
22228 { "TAI-Broadcast-Item", "s1ap.TAI_Broadcast_Item_element",
22229 FT_NONE, BASE_NONE, NULL, 0,
22230 NULL, HFILL }},
22231 { &hf_s1ap_completedCellinTAI,
22232 { "completedCellinTAI", "s1ap.completedCellinTAI",
22233 FT_UINT32, BASE_DEC, NULL, 0,
22234 NULL, HFILL }},
22235 { &hf_s1ap_TAI_Cancelled_item,
22236 { "TAI-Cancelled-Item", "s1ap.TAI_Cancelled_Item_element",
22237 FT_NONE, BASE_NONE, NULL, 0,
22238 NULL, HFILL }},
22239 { &hf_s1ap_cancelledCellinTAI,
22240 { "cancelledCellinTAI", "s1ap.cancelledCellinTAI",
22241 FT_UINT32, BASE_DEC, NULL, 0,
22242 NULL, HFILL }},
22243 { &hf_s1ap_tAListforMDT,
22244 { "tAListforMDT", "s1ap.tAListforMDT",
22245 FT_UINT32, BASE_DEC, NULL, 0,
22246 NULL, HFILL }},
22247 { &hf_s1ap_TAListforMDT_item,
22248 { "TAC", "s1ap.TAC",
22249 FT_UINT16, BASE_DEC_HEX, NULL, 0,
22250 NULL, HFILL }},
22251 { &hf_s1ap_tAListforQMC,
22252 { "tAListforQMC", "s1ap.tAListforQMC",
22253 FT_UINT32, BASE_DEC, NULL, 0,
22254 NULL, HFILL }},
22255 { &hf_s1ap_TAListforQMC_item,
22256 { "TAC", "s1ap.TAC",
22257 FT_UINT16, BASE_DEC_HEX, NULL, 0,
22258 NULL, HFILL }},
22259 { &hf_s1ap_tAIListforQMC,
22260 { "tAIListforQMC", "s1ap.tAIListforQMC",
22261 FT_UINT32, BASE_DEC, NULL, 0,
22262 NULL, HFILL }},
22263 { &hf_s1ap_TAIListforQMC_item,
22264 { "TAI", "s1ap.TAI_element",
22265 FT_NONE, BASE_NONE, NULL, 0,
22266 NULL, HFILL }},
22267 { &hf_s1ap_CompletedCellinTAI_item,
22268 { "CompletedCellinTAI-Item", "s1ap.CompletedCellinTAI_Item_element",
22269 FT_NONE, BASE_NONE, NULL, 0,
22270 NULL, HFILL }},
22271 { &hf_s1ap_cGI,
22272 { "cGI", "s1ap.cGI_element",
22273 FT_NONE, BASE_NONE, NULL, 0,
22274 NULL, HFILL }},
22275 { &hf_s1ap_targetgNgRanNode_ID,
22276 { "targetgNgRanNode-ID", "s1ap.targetgNgRanNode_ID_element",
22277 FT_NONE, BASE_NONE, NULL, 0,
22278 "TargetNgRanNode_ID", HFILL }},
22279 { &hf_s1ap_rNC_ID,
22280 { "rNC-ID", "s1ap.rNC_ID",
22281 FT_UINT32, BASE_DEC, NULL, 0,
22282 NULL, HFILL }},
22283 { &hf_s1ap_extendedRNC_ID,
22284 { "extendedRNC-ID", "s1ap.extendedRNC_ID",
22285 FT_UINT32, BASE_DEC, NULL, 0,
22286 NULL, HFILL }},
22287 { &hf_s1ap_gNB,
22288 { "gNB", "s1ap.gNB_element",
22289 FT_NONE, BASE_NONE, NULL, 0,
22290 NULL, HFILL }},
22291 { &hf_s1ap_ng_eNB,
22292 { "ng-eNB", "s1ap.ng_eNB_element",
22293 FT_NONE, BASE_NONE, NULL, 0,
22294 NULL, HFILL }},
22295 { &hf_s1ap_global_gNB_ID,
22296 { "global-gNB-ID", "s1ap.global_gNB_ID_element",
22297 FT_NONE, BASE_NONE, NULL, 0,
22298 NULL, HFILL }},
22299 { &hf_s1ap_gNB_ID,
22300 { "gNB-ID", "s1ap.gNB_ID",
22301 FT_UINT32, BASE_DEC, VALS(s1ap_GNB_Identity_vals), 0,
22302 "GNB_Identity", HFILL }},
22303 { &hf_s1ap_gNB_ID_01,
22304 { "gNB-ID", "s1ap.gNB_ID",
22305 FT_BYTES, BASE_NONE, NULL, 0,
22306 NULL, HFILL }},
22307 { &hf_s1ap_global_ng_eNB_ID,
22308 { "global-ng-eNB-ID", "s1ap.global_ng_eNB_ID_element",
22309 FT_NONE, BASE_NONE, NULL, 0,
22310 "Global_ENB_ID", HFILL }},
22311 { &hf_s1ap_measurementThreshold,
22312 { "measurementThreshold", "s1ap.measurementThreshold",
22313 FT_UINT32, BASE_DEC, VALS(s1ap_MeasurementThresholdA2_vals), 0,
22314 "MeasurementThresholdA2", HFILL }},
22315 { &hf_s1ap_hOWindowStart,
22316 { "hOWindowStart", "s1ap.hOWindowStart",
22317 FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
22318 "HandoverWindowStart", HFILL }},
22319 { &hf_s1ap_hOWindowDuration,
22320 { "hOWindowDuration", "s1ap.hOWindowDuration",
22321 FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_handover_window_duration_fmt), 0,
22322 "HandoverWindowDuration", HFILL }},
22323 { &hf_s1ap_transportLayerAddress,
22324 { "transportLayerAddress", "s1ap.transportLayerAddress",
22325 FT_BYTES, BASE_NONE, NULL, 0,
22326 NULL, HFILL }},
22327 { &hf_s1ap_uL_GTP_TEID,
22328 { "uL-GTP-TEID", "s1ap.uL_GTP_TEID",
22329 FT_BYTES, BASE_NONE, NULL, 0,
22330 "GTP_TEID", HFILL }},
22331 { &hf_s1ap_e_UTRAN_Trace_ID,
22332 { "e-UTRAN-Trace-ID", "s1ap.e_UTRAN_Trace_ID",
22333 FT_BYTES, BASE_NONE, NULL, 0,
22334 NULL, HFILL }},
22335 { &hf_s1ap_interfacesToTrace,
22336 { "interfacesToTrace", "s1ap.interfacesToTrace",
22337 FT_BYTES, BASE_NONE, NULL, 0,
22338 NULL, HFILL }},
22339 { &hf_s1ap_traceDepth,
22340 { "traceDepth", "s1ap.traceDepth",
22341 FT_UINT32, BASE_DEC, VALS(s1ap_TraceDepth_vals), 0,
22342 NULL, HFILL }},
22343 { &hf_s1ap_traceCollectionEntityIPAddress,
22344 { "traceCollectionEntityIPAddress", "s1ap.traceCollectionEntityIPAddress",
22345 FT_BYTES, BASE_NONE, NULL, 0,
22346 "TransportLayerAddress", HFILL }},
22347 { &hf_s1ap_uDP_Port_Number,
22348 { "uDP-Port-Number", "s1ap.uDP_Port_Number",
22349 FT_UINT16, BASE_DEC, NULL, 0,
22350 "Port_Number", HFILL }},
22351 { &hf_s1ap_TAIListForRestart_item,
22352 { "TAI", "s1ap.TAI_element",
22353 FT_NONE, BASE_NONE, NULL, 0,
22354 NULL, HFILL }},
22355 { &hf_s1ap_uEaggregateMaximumBitRateDL,
22356 { "uEaggregateMaximumBitRateDL", "s1ap.uEaggregateMaximumBitRateDL",
22357 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
22358 "BitRate", HFILL }},
22359 { &hf_s1ap_uEaggregateMaximumBitRateUL,
22360 { "uEaggregateMaximumBitRateUL", "s1ap.uEaggregateMaximumBitRateUL",
22361 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
22362 "BitRate", HFILL }},
22363 { &hf_s1ap_containerForAppLayerMeasConfig,
22364 { "containerForAppLayerMeasConfig", "s1ap.containerForAppLayerMeasConfig",
22365 FT_BYTES, BASE_NONE, NULL, 0,
22366 "OCTET_STRING_SIZE_1_1000", HFILL }},
22367 { &hf_s1ap_areaScopeOfQMC,
22368 { "areaScopeOfQMC", "s1ap.areaScopeOfQMC",
22369 FT_UINT32, BASE_DEC, VALS(s1ap_AreaScopeOfQMC_vals), 0,
22370 NULL, HFILL }},
22371 { &hf_s1ap_uE_S1AP_ID_pair,
22372 { "uE-S1AP-ID-pair", "s1ap.uE_S1AP_ID_pair_element",
22373 FT_NONE, BASE_NONE, NULL, 0,
22374 NULL, HFILL }},
22375 { &hf_s1ap_mME_UE_S1AP_ID,
22376 { "mME-UE-S1AP-ID", "s1ap.MME_UE_S1AP_ID",
22377 FT_UINT32, BASE_DEC, NULL, 0,
22378 NULL, HFILL }},
22379 { &hf_s1ap_eNB_UE_S1AP_ID,
22380 { "eNB-UE-S1AP-ID", "s1ap.ENB_UE_S1AP_ID",
22381 FT_UINT32, BASE_DEC, NULL, 0,
22382 NULL, HFILL }},
22383 { &hf_s1ap_UE_HistoryInformation_item,
22384 { "LastVisitedCell-Item", "s1ap.LastVisitedCell_Item",
22385 FT_UINT32, BASE_DEC, VALS(s1ap_LastVisitedCell_Item_vals), 0,
22386 NULL, HFILL }},
22387 { &hf_s1ap_s_TMSI,
22388 { "s-TMSI", "s1ap.s_TMSI_element",
22389 FT_NONE, BASE_NONE, NULL, 0,
22390 NULL, HFILL }},
22391 { &hf_s1ap_iMSI,
22392 { "iMSI", "s1ap.iMSI",
22393 FT_BYTES, BASE_NONE, NULL, 0,
22394 NULL, HFILL }},
22395 { &hf_s1ap_encryptionAlgorithms,
22396 { "encryptionAlgorithms", "s1ap.encryptionAlgorithms",
22397 FT_BYTES, BASE_NONE, NULL, 0,
22398 NULL, HFILL }},
22399 { &hf_s1ap_integrityProtectionAlgorithms,
22400 { "integrityProtectionAlgorithms", "s1ap.integrityProtectionAlgorithms",
22401 FT_BYTES, BASE_NONE, NULL, 0,
22402 NULL, HFILL }},
22403 { &hf_s1ap_uESidelinkAggregateMaximumBitRate,
22404 { "uESidelinkAggregateMaximumBitRate", "s1ap.uESidelinkAggregateMaximumBitRate",
22405 FT_UINT64, BASE_DEC|BASE_UNIT_STRING, UNS(&units_bit_sec), 0,
22406 "BitRate", HFILL }},
22407 { &hf_s1ap_ul_NAS_MAC,
22408 { "ul-NAS-MAC", "s1ap.ul_NAS_MAC",
22409 FT_BYTES, BASE_NONE, NULL, 0,
22410 NULL, HFILL }},
22411 { &hf_s1ap_ul_NAS_Count,
22412 { "ul-NAS-Count", "s1ap.ul_NAS_Count",
22413 FT_BYTES, BASE_NONE, NULL, 0,
22414 NULL, HFILL }},
22415 { &hf_s1ap_eutran_cgi,
22416 { "eutran-cgi", "s1ap.eutran_cgi_element",
22417 FT_NONE, BASE_NONE, NULL, 0,
22418 NULL, HFILL }},
22419 { &hf_s1ap_tai,
22420 { "tai", "s1ap.tai_element",
22421 FT_NONE, BASE_NONE, NULL, 0,
22422 NULL, HFILL }},
22423 { &hf_s1ap_cellIDList,
22424 { "cellIDList", "s1ap.cellIDList",
22425 FT_UINT32, BASE_DEC, NULL, 0,
22426 "ECGIList", HFILL }},
22427 { &hf_s1ap_trackingAreaListforWarning,
22428 { "trackingAreaListforWarning", "s1ap.trackingAreaListforWarning",
22429 FT_UINT32, BASE_DEC, NULL, 0,
22430 "TAIListforWarning", HFILL }},
22431 { &hf_s1ap_emergencyAreaIDList,
22432 { "emergencyAreaIDList", "s1ap.emergencyAreaIDList",
22433 FT_UINT32, BASE_DEC, NULL, 0,
22434 NULL, HFILL }},
22435 { &hf_s1ap_wlanMeasConfig,
22436 { "wlanMeasConfig", "s1ap.wlanMeasConfig",
22437 FT_UINT32, BASE_DEC, VALS(s1ap_WLANMeasConfig_vals), 0,
22438 NULL, HFILL }},
22439 { &hf_s1ap_wlanMeasConfigNameList,
22440 { "wlanMeasConfigNameList", "s1ap.wlanMeasConfigNameList",
22441 FT_UINT32, BASE_DEC, NULL, 0,
22442 NULL, HFILL }},
22443 { &hf_s1ap_wlan_rssi,
22444 { "wlan-rssi", "s1ap.wlan_rssi",
22445 FT_UINT32, BASE_DEC, VALS(s1ap_T_wlan_rssi_vals), 0,
22446 NULL, HFILL }},
22447 { &hf_s1ap_wlan_rtt,
22448 { "wlan-rtt", "s1ap.wlan_rtt",
22449 FT_UINT32, BASE_DEC, VALS(s1ap_T_wlan_rtt_vals), 0,
22450 NULL, HFILL }},
22451 { &hf_s1ap_WLANMeasConfigNameList_item,
22452 { "WLANName", "s1ap.WLANName",
22453 FT_STRING, BASE_NONE, NULL, 0,
22454 NULL, HFILL }},
22455 { &hf_s1ap_pagingProbabilityInformation,
22456 { "pagingProbabilityInformation", "s1ap.pagingProbabilityInformation",
22457 FT_UINT32, BASE_DEC, VALS(s1ap_PagingProbabilityInformation_vals), 0,
22458 NULL, HFILL }},
22459 { &hf_s1ap_eNBX2TransportLayerAddresses,
22460 { "eNBX2TransportLayerAddresses", "s1ap.eNBX2TransportLayerAddresses",
22461 FT_UINT32, BASE_DEC, NULL, 0,
22462 "ENBX2TLAs", HFILL }},
22463 { &hf_s1ap_ENBX2ExtTLAs_item,
22464 { "ENBX2ExtTLA", "s1ap.ENBX2ExtTLA_element",
22465 FT_NONE, BASE_NONE, NULL, 0,
22466 NULL, HFILL }},
22467 { &hf_s1ap_iPsecTLA,
22468 { "iPsecTLA", "s1ap.iPsecTLA",
22469 FT_BYTES, BASE_NONE, NULL, 0,
22470 "TransportLayerAddress", HFILL }},
22471 { &hf_s1ap_gTPTLAa,
22472 { "gTPTLAa", "s1ap.gTPTLAa",
22473 FT_UINT32, BASE_DEC, NULL, 0,
22474 "ENBX2GTPTLAs", HFILL }},
22475 { &hf_s1ap_ENBX2GTPTLAs_item,
22476 { "TransportLayerAddress", "s1ap.TransportLayerAddress",
22477 FT_BYTES, BASE_NONE, NULL, 0,
22478 NULL, HFILL }},
22479 { &hf_s1ap_ENBIndirectX2TransportLayerAddresses_item,
22480 { "TransportLayerAddress", "s1ap.TransportLayerAddress",
22481 FT_BYTES, BASE_NONE, NULL, 0,
22482 NULL, HFILL }},
22483 { &hf_s1ap_protocolIEs,
22484 { "protocolIEs", "s1ap.protocolIEs",
22485 FT_UINT32, BASE_DEC, NULL, 0,
22486 "ProtocolIE_Container", HFILL }},
22487 { &hf_s1ap_dL_transportLayerAddress,
22488 { "dL-transportLayerAddress", "s1ap.dL_transportLayerAddress",
22489 FT_BYTES, BASE_NONE, NULL, 0,
22490 "TransportLayerAddress", HFILL }},
22491 { &hf_s1ap_dL_gTP_TEID,
22492 { "dL-gTP-TEID", "s1ap.dL_gTP_TEID",
22493 FT_BYTES, BASE_NONE, NULL, 0,
22494 "GTP_TEID", HFILL }},
22495 { &hf_s1ap_uL_TransportLayerAddress,
22496 { "uL-TransportLayerAddress", "s1ap.uL_TransportLayerAddress",
22497 FT_BYTES, BASE_NONE, NULL, 0,
22498 "TransportLayerAddress", HFILL }},
22499 { &hf_s1ap_gTP_TEID,
22500 { "gTP-TEID", "s1ap.gTP_TEID",
22501 FT_BYTES, BASE_NONE, NULL, 0,
22502 NULL, HFILL }},
22503 { &hf_s1ap_e_RABlevelQosParameters,
22504 { "e-RABlevelQosParameters", "s1ap.e_RABlevelQosParameters_element",
22505 FT_NONE, BASE_NONE, NULL, 0,
22506 NULL, HFILL }},
22507 { &hf_s1ap_securityIndication,
22508 { "securityIndication", "s1ap.securityIndication_element",
22509 FT_NONE, BASE_NONE, NULL, 0,
22510 NULL, HFILL }},
22511 { &hf_s1ap_E_RABToBeSetupListBearerSUReq_item,
22512 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22513 FT_NONE, BASE_NONE, NULL, 0,
22514 NULL, HFILL }},
22515 { &hf_s1ap_e_RABlevelQoSParameters,
22516 { "e-RABlevelQoSParameters", "s1ap.e_RABlevelQoSParameters_element",
22517 FT_NONE, BASE_NONE, NULL, 0,
22518 NULL, HFILL }},
22519 { &hf_s1ap_nAS_PDU,
22520 { "nAS-PDU", "s1ap.nAS_PDU",
22521 FT_BYTES, BASE_NONE, NULL, 0,
22522 NULL, HFILL }},
22523 { &hf_s1ap_E_RABSetupListBearerSURes_item,
22524 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22525 FT_NONE, BASE_NONE, NULL, 0,
22526 NULL, HFILL }},
22527 { &hf_s1ap_E_RABToBeModifiedListBearerModReq_item,
22528 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22529 FT_NONE, BASE_NONE, NULL, 0,
22530 NULL, HFILL }},
22531 { &hf_s1ap_e_RABLevelQoSParameters,
22532 { "e-RABLevelQoSParameters", "s1ap.e_RABLevelQoSParameters_element",
22533 FT_NONE, BASE_NONE, NULL, 0,
22534 NULL, HFILL }},
22535 { &hf_s1ap_E_RABModifyListBearerModRes_item,
22536 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22537 FT_NONE, BASE_NONE, NULL, 0,
22538 NULL, HFILL }},
22539 { &hf_s1ap_E_RABReleaseListBearerRelComp_item,
22540 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22541 FT_NONE, BASE_NONE, NULL, 0,
22542 NULL, HFILL }},
22543 { &hf_s1ap_E_RABToBeSetupListCtxtSUReq_item,
22544 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22545 FT_NONE, BASE_NONE, NULL, 0,
22546 NULL, HFILL }},
22547 { &hf_s1ap_E_RABSetupListCtxtSURes_item,
22548 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22549 FT_NONE, BASE_NONE, NULL, 0,
22550 NULL, HFILL }},
22551 { &hf_s1ap_TAIList_item,
22552 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22553 FT_NONE, BASE_NONE, NULL, 0,
22554 NULL, HFILL }},
22555 { &hf_s1ap_s1_Interface,
22556 { "s1-Interface", "s1ap.s1_Interface",
22557 FT_UINT32, BASE_DEC, VALS(s1ap_ResetAll_vals), 0,
22558 "ResetAll", HFILL }},
22559 { &hf_s1ap_partOfS1_Interface,
22560 { "partOfS1-Interface", "s1ap.partOfS1_Interface",
22561 FT_UINT32, BASE_DEC, NULL, 0,
22562 "UE_associatedLogicalS1_ConnectionListRes", HFILL }},
22563 { &hf_s1ap_UE_associatedLogicalS1_ConnectionListRes_item,
22564 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22565 FT_NONE, BASE_NONE, NULL, 0,
22566 NULL, HFILL }},
22567 { &hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_item,
22568 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22569 FT_NONE, BASE_NONE, NULL, 0,
22570 NULL, HFILL }},
22571 { &hf_s1ap_rIMTransfer,
22572 { "rIMTransfer", "s1ap.rIMTransfer_element",
22573 FT_NONE, BASE_NONE, NULL, 0,
22574 NULL, HFILL }},
22575 { &hf_s1ap_privateIEs,
22576 { "privateIEs", "s1ap.privateIEs",
22577 FT_UINT32, BASE_DEC, NULL, 0,
22578 "PrivateIE_Container", HFILL }},
22579 { &hf_s1ap_dL_GTP_TEID,
22580 { "dL-GTP-TEID", "s1ap.dL_GTP_TEID",
22581 FT_BYTES, BASE_NONE, NULL, 0,
22582 "GTP_TEID", HFILL }},
22583 { &hf_s1ap_cSGMembershipStatus,
22584 { "cSGMembershipStatus", "s1ap.cSGMembershipStatus",
22585 FT_UINT32, BASE_DEC, VALS(s1ap_CSGMembershipStatus_vals), 0,
22586 NULL, HFILL }},
22587 { &hf_s1ap_cellAccessMode,
22588 { "cellAccessMode", "s1ap.cellAccessMode",
22589 FT_UINT32, BASE_DEC, VALS(s1ap_CellAccessMode_vals), 0,
22590 NULL, HFILL }},
22591 { &hf_s1ap_E_RABModifyListBearerModConf_item,
22592 { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element",
22593 FT_NONE, BASE_NONE, NULL, 0,
22594 NULL, HFILL }},
22595 { &hf_s1ap_initiatingMessage,
22596 { "initiatingMessage", "s1ap.initiatingMessage_element",
22597 FT_NONE, BASE_NONE, NULL, 0,
22598 NULL, HFILL }},
22599 { &hf_s1ap_successfulOutcome,
22600 { "successfulOutcome", "s1ap.successfulOutcome_element",
22601 FT_NONE, BASE_NONE, NULL, 0,
22602 NULL, HFILL }},
22603 { &hf_s1ap_unsuccessfulOutcome,
22604 { "unsuccessfulOutcome", "s1ap.unsuccessfulOutcome_element",
22605 FT_NONE, BASE_NONE, NULL, 0,
22606 NULL, HFILL }},
22607 { &hf_s1ap_initiatingMessagevalue,
22608 { "value", "s1ap.value_element",
22609 FT_NONE, BASE_NONE, NULL, 0,
22610 "InitiatingMessage_value", HFILL }},
22611 { &hf_s1ap_successfulOutcome_value,
22612 { "value", "s1ap.value_element",
22613 FT_NONE, BASE_NONE, NULL, 0,
22614 "SuccessfulOutcome_value", HFILL }},
22615 { &hf_s1ap_unsuccessfulOutcome_value,
22616 { "value", "s1ap.value_element",
22617 FT_NONE, BASE_NONE, NULL, 0,
22618 "UnsuccessfulOutcome_value", HFILL }},
22619 { &hf_s1ap_cellLoadReporting,
22620 { "cellLoadReporting", "s1ap.cellLoadReporting_element",
22621 FT_NONE, BASE_NONE, NULL, 0,
22622 NULL, HFILL }},
22623 { &hf_s1ap_multiCellLoadReporting,
22624 { "multiCellLoadReporting", "s1ap.multiCellLoadReporting_element",
22625 FT_NONE, BASE_NONE, NULL, 0,
22626 "MultiCellLoadReportingRequest", HFILL }},
22627 { &hf_s1ap_eventTriggeredCellLoadReporting,
22628 { "eventTriggeredCellLoadReporting", "s1ap.eventTriggeredCellLoadReporting_element",
22629 FT_NONE, BASE_NONE, NULL, 0,
22630 "EventTriggeredCellLoadReportingRequest", HFILL }},
22631 { &hf_s1ap_hOReporting,
22632 { "hOReporting", "s1ap.hOReporting_element",
22633 FT_NONE, BASE_NONE, NULL, 0,
22634 "HOReport", HFILL }},
22635 { &hf_s1ap_eutranCellActivation,
22636 { "eutranCellActivation", "s1ap.eutranCellActivation_element",
22637 FT_NONE, BASE_NONE, NULL, 0,
22638 "CellActivationRequest", HFILL }},
22639 { &hf_s1ap_energySavingsIndication,
22640 { "energySavingsIndication", "s1ap.energySavingsIndication_element",
22641 FT_NONE, BASE_NONE, NULL, 0,
22642 "CellStateIndication", HFILL }},
22643 { &hf_s1ap_failureEventReporting,
22644 { "failureEventReporting", "s1ap.failureEventReporting",
22645 FT_UINT32, BASE_DEC, VALS(s1ap_FailureEventReport_vals), 0,
22646 "FailureEventReport", HFILL }},
22647 { &hf_s1ap_cellLoadReporting_01,
22648 { "cellLoadReporting", "s1ap.cellLoadReporting",
22649 FT_UINT32, BASE_DEC, VALS(s1ap_CellLoadReportingResponse_vals), 0,
22650 "CellLoadReportingResponse", HFILL }},
22651 { &hf_s1ap_multiCellLoadReporting_01,
22652 { "multiCellLoadReporting", "s1ap.multiCellLoadReporting",
22653 FT_UINT32, BASE_DEC, NULL, 0,
22654 "MultiCellLoadReportingResponse", HFILL }},
22655 { &hf_s1ap_eventTriggeredCellLoadReporting_01,
22656 { "eventTriggeredCellLoadReporting", "s1ap.eventTriggeredCellLoadReporting_element",
22657 FT_NONE, BASE_NONE, NULL, 0,
22658 "EventTriggeredCellLoadReportingResponse", HFILL }},
22659 { &hf_s1ap_hOReporting_01,
22660 { "hOReporting", "s1ap.hOReporting_element",
22661 FT_NONE, BASE_NONE, NULL, 0,
22662 NULL, HFILL }},
22663 { &hf_s1ap_eutranCellActivation_01,
22664 { "eutranCellActivation", "s1ap.eutranCellActivation_element",
22665 FT_NONE, BASE_NONE, NULL, 0,
22666 "CellActivationResponse", HFILL }},
22667 { &hf_s1ap_energySavingsIndication_01,
22668 { "energySavingsIndication", "s1ap.energySavingsIndication_element",
22669 FT_NONE, BASE_NONE, NULL, 0,
22670 NULL, HFILL }},
22671 { &hf_s1ap_failureEventReporting_01,
22672 { "failureEventReporting", "s1ap.failureEventReporting_element",
22673 FT_NONE, BASE_NONE, NULL, 0,
22674 NULL, HFILL }},
22675 { &hf_s1ap_cellLoadReporting_02,
22676 { "cellLoadReporting", "s1ap.cellLoadReporting",
22677 FT_UINT32, BASE_DEC, VALS(s1ap_CellLoadReportingCause_vals), 0,
22678 "CellLoadReportingCause", HFILL }},
22679 { &hf_s1ap_multiCellLoadReporting_02,
22680 { "multiCellLoadReporting", "s1ap.multiCellLoadReporting",
22681 FT_UINT32, BASE_DEC, VALS(s1ap_CellLoadReportingCause_vals), 0,
22682 "CellLoadReportingCause", HFILL }},
22683 { &hf_s1ap_eventTriggeredCellLoadReporting_02,
22684 { "eventTriggeredCellLoadReporting", "s1ap.eventTriggeredCellLoadReporting",
22685 FT_UINT32, BASE_DEC, VALS(s1ap_CellLoadReportingCause_vals), 0,
22686 "CellLoadReportingCause", HFILL }},
22687 { &hf_s1ap_hOReporting_02,
22688 { "hOReporting", "s1ap.hOReporting",
22689 FT_UINT32, BASE_DEC, VALS(s1ap_HOReportingCause_vals), 0,
22690 "HOReportingCause", HFILL }},
22691 { &hf_s1ap_eutranCellActivation_02,
22692 { "eutranCellActivation", "s1ap.eutranCellActivation",
22693 FT_UINT32, BASE_DEC, VALS(s1ap_CellActivationCause_vals), 0,
22694 "CellActivationCause", HFILL }},
22695 { &hf_s1ap_energySavingsIndication_02,
22696 { "energySavingsIndication", "s1ap.energySavingsIndication",
22697 FT_UINT32, BASE_DEC, VALS(s1ap_CellStateIndicationCause_vals), 0,
22698 "CellStateIndicationCause", HFILL }},
22699 { &hf_s1ap_failureEventReporting_02,
22700 { "failureEventReporting", "s1ap.failureEventReporting",
22701 FT_UINT32, BASE_DEC, VALS(s1ap_FailureEventReportingCause_vals), 0,
22702 "FailureEventReportingCause", HFILL }},
22703 { &hf_s1ap_eUTRAN,
22704 { "eUTRAN", "s1ap.eUTRAN_element",
22705 FT_NONE, BASE_NONE, NULL, 0,
22706 "EUTRANcellLoadReportingResponse", HFILL }},
22707 { &hf_s1ap_uTRAN,
22708 { "uTRAN", "s1ap.uTRAN",
22709 FT_BYTES, BASE_NONE, NULL, 0,
22710 "OCTET_STRING", HFILL }},
22711 { &hf_s1ap_gERAN,
22712 { "gERAN", "s1ap.gERAN",
22713 FT_BYTES, BASE_NONE, NULL, 0,
22714 "OCTET_STRING", HFILL }},
22715 { &hf_s1ap_eHRPD,
22716 { "eHRPD", "s1ap.eHRPD_element",
22717 FT_NONE, BASE_NONE, NULL, 0,
22718 "EHRPDSectorLoadReportingResponse", HFILL }},
22719 { &hf_s1ap_compositeAvailableCapacityGroup,
22720 { "compositeAvailableCapacityGroup", "s1ap.compositeAvailableCapacityGroup",
22721 FT_BYTES, BASE_NONE, NULL, 0,
22722 NULL, HFILL }},
22723 { &hf_s1ap_cell_ID_01,
22724 { "cell-ID", "s1ap.cell_ID",
22725 FT_BYTES, BASE_NONE, NULL, 0,
22726 "OCTET_STRING", HFILL }},
22727 { &hf_s1ap_eUTRANcellLoadReportingResponse,
22728 { "eUTRANcellLoadReportingResponse", "s1ap.eUTRANcellLoadReportingResponse_element",
22729 FT_NONE, BASE_NONE, NULL, 0,
22730 NULL, HFILL }},
22731 { &hf_s1ap_eUTRAN_01,
22732 { "eUTRAN", "s1ap.eUTRAN",
22733 FT_BYTES, BASE_NONE, NULL, 0,
22734 "OCTET_STRING", HFILL }},
22735 { &hf_s1ap_eHRPD_01,
22736 { "eHRPD", "s1ap.eHRPD",
22737 FT_BYTES, BASE_NONE, NULL, 0,
22738 "EHRPD_Sector_ID", HFILL }},
22739 { &hf_s1ap_RequestedCellList_item,
22740 { "IRAT-Cell-ID", "s1ap.IRAT_Cell_ID",
22741 FT_UINT32, BASE_DEC, VALS(s1ap_IRAT_Cell_ID_vals), 0,
22742 NULL, HFILL }},
22743 { &hf_s1ap_requestedCellList,
22744 { "requestedCellList", "s1ap.requestedCellList",
22745 FT_UINT32, BASE_DEC, NULL, 0,
22746 NULL, HFILL }},
22747 { &hf_s1ap_cell_ID_02,
22748 { "cell-ID", "s1ap.cell_ID",
22749 FT_UINT32, BASE_DEC, VALS(s1ap_IRAT_Cell_ID_vals), 0,
22750 "IRAT_Cell_ID", HFILL }},
22751 { &hf_s1ap_ReportingCellList_item,
22752 { "ReportingCellList-Item", "s1ap.ReportingCellList_Item_element",
22753 FT_NONE, BASE_NONE, NULL, 0,
22754 NULL, HFILL }},
22755 { &hf_s1ap_MultiCellLoadReportingResponse_item,
22756 { "MultiCellLoadReportingResponse-Item", "s1ap.MultiCellLoadReportingResponse_Item",
22757 FT_UINT32, BASE_DEC, VALS(s1ap_MultiCellLoadReportingResponse_Item_vals), 0,
22758 NULL, HFILL }},
22759 { &hf_s1ap_eUTRANResponse,
22760 { "eUTRANResponse", "s1ap.eUTRANResponse_element",
22761 FT_NONE, BASE_NONE, NULL, 0,
22762 NULL, HFILL }},
22763 { &hf_s1ap_uTRANResponse,
22764 { "uTRANResponse", "s1ap.uTRANResponse",
22765 FT_BYTES, BASE_NONE, NULL, 0,
22766 "OCTET_STRING", HFILL }},
22767 { &hf_s1ap_gERANResponse,
22768 { "gERANResponse", "s1ap.gERANResponse",
22769 FT_BYTES, BASE_NONE, NULL, 0,
22770 "OCTET_STRING", HFILL }},
22771 { &hf_s1ap_eHRPD_02,
22772 { "eHRPD", "s1ap.eHRPD_element",
22773 FT_NONE, BASE_NONE, NULL, 0,
22774 "EHRPDMultiSectorLoadReportingResponseItem", HFILL }},
22775 { &hf_s1ap_numberOfMeasurementReportingLevels,
22776 { "numberOfMeasurementReportingLevels", "s1ap.numberOfMeasurementReportingLevels",
22777 FT_UINT32, BASE_DEC, VALS(s1ap_NumberOfMeasurementReportingLevels_vals), 0,
22778 NULL, HFILL }},
22779 { &hf_s1ap_cellLoadReportingResponse,
22780 { "cellLoadReportingResponse", "s1ap.cellLoadReportingResponse",
22781 FT_UINT32, BASE_DEC, VALS(s1ap_CellLoadReportingResponse_vals), 0,
22782 NULL, HFILL }},
22783 { &hf_s1ap_overloadFlag,
22784 { "overloadFlag", "s1ap.overloadFlag",
22785 FT_UINT32, BASE_DEC, VALS(s1ap_OverloadFlag_vals), 0,
22786 NULL, HFILL }},
22787 { &hf_s1ap_hoType,
22788 { "hoType", "s1ap.hoType",
22789 FT_UINT32, BASE_DEC, VALS(s1ap_HoType_vals), 0,
22790 NULL, HFILL }},
22791 { &hf_s1ap_hoReportType,
22792 { "hoReportType", "s1ap.hoReportType",
22793 FT_UINT32, BASE_DEC, VALS(s1ap_HoReportType_vals), 0,
22794 NULL, HFILL }},
22795 { &hf_s1ap_hosourceID,
22796 { "hosourceID", "s1ap.hosourceID",
22797 FT_UINT32, BASE_DEC, VALS(s1ap_IRAT_Cell_ID_vals), 0,
22798 "IRAT_Cell_ID", HFILL }},
22799 { &hf_s1ap_hoTargetID,
22800 { "hoTargetID", "s1ap.hoTargetID",
22801 FT_UINT32, BASE_DEC, VALS(s1ap_IRAT_Cell_ID_vals), 0,
22802 "IRAT_Cell_ID", HFILL }},
22803 { &hf_s1ap_candidateCellList,
22804 { "candidateCellList", "s1ap.candidateCellList",
22805 FT_UINT32, BASE_DEC, NULL, 0,
22806 NULL, HFILL }},
22807 { &hf_s1ap_candidatePCIList,
22808 { "candidatePCIList", "s1ap.candidatePCIList",
22809 FT_UINT32, BASE_DEC, NULL, 0,
22810 NULL, HFILL }},
22811 { &hf_s1ap_CandidateCellList_item,
22812 { "IRAT-Cell-ID", "s1ap.IRAT_Cell_ID",
22813 FT_UINT32, BASE_DEC, VALS(s1ap_IRAT_Cell_ID_vals), 0,
22814 NULL, HFILL }},
22815 { &hf_s1ap_CandidatePCIList_item,
22816 { "CandidatePCI", "s1ap.CandidatePCI_element",
22817 FT_NONE, BASE_NONE, NULL, 0,
22818 NULL, HFILL }},
22819 { &hf_s1ap_pCI,
22820 { "pCI", "s1ap.pCI",
22821 FT_UINT32, BASE_DEC, NULL, 0,
22822 "INTEGER_0_503", HFILL }},
22823 { &hf_s1ap_eARFCN,
22824 { "eARFCN", "s1ap.eARFCN",
22825 FT_BYTES, BASE_NONE, NULL, 0,
22826 "OCTET_STRING", HFILL }},
22827 { &hf_s1ap_cellsToActivateList,
22828 { "cellsToActivateList", "s1ap.cellsToActivateList",
22829 FT_UINT32, BASE_DEC, NULL, 0,
22830 NULL, HFILL }},
22831 { &hf_s1ap_minimumActivationTime,
22832 { "minimumActivationTime", "s1ap.minimumActivationTime",
22833 FT_UINT32, BASE_DEC, NULL, 0,
22834 "INTEGER_1_60", HFILL }},
22835 { &hf_s1ap_CellsToActivateList_item,
22836 { "CellsToActivateList-Item", "s1ap.CellsToActivateList_Item_element",
22837 FT_NONE, BASE_NONE, NULL, 0,
22838 NULL, HFILL }},
22839 { &hf_s1ap_activatedCellsList,
22840 { "activatedCellsList", "s1ap.activatedCellsList",
22841 FT_UINT32, BASE_DEC, NULL, 0,
22842 NULL, HFILL }},
22843 { &hf_s1ap_ActivatedCellsList_item,
22844 { "ActivatedCellsList-Item", "s1ap.ActivatedCellsList_Item_element",
22845 FT_NONE, BASE_NONE, NULL, 0,
22846 NULL, HFILL }},
22847 { &hf_s1ap_notificationCellList,
22848 { "notificationCellList", "s1ap.notificationCellList",
22849 FT_UINT32, BASE_DEC, NULL, 0,
22850 NULL, HFILL }},
22851 { &hf_s1ap_NotificationCellList_item,
22852 { "NotificationCellList-Item", "s1ap.NotificationCellList_Item_element",
22853 FT_NONE, BASE_NONE, NULL, 0,
22854 NULL, HFILL }},
22855 { &hf_s1ap_notifyFlag,
22856 { "notifyFlag", "s1ap.notifyFlag",
22857 FT_UINT32, BASE_DEC, VALS(s1ap_NotifyFlag_vals), 0,
22858 NULL, HFILL }},
22859 { &hf_s1ap_tooEarlyInterRATHOReportFromEUTRAN,
22860 { "tooEarlyInterRATHOReportFromEUTRAN", "s1ap.tooEarlyInterRATHOReportFromEUTRAN_element",
22861 FT_NONE, BASE_NONE, NULL, 0,
22862 "TooEarlyInterRATHOReportReportFromEUTRAN", HFILL }},
22863 { &hf_s1ap_uERLFReportContainer,
22864 { "uERLFReportContainer", "s1ap.uERLFReportContainer",
22865 FT_BYTES, BASE_NONE, NULL, 0,
22866 NULL, HFILL }},
22867 { &hf_s1ap_mobilityInformation,
22868 { "mobilityInformation", "s1ap.mobilityInformation",
22869 FT_BYTES, BASE_NONE, NULL, 0,
22870 NULL, HFILL }},
22871 { &hf_s1ap_dL_EHRPD_CompositeAvailableCapacity,
22872 { "dL-EHRPD-CompositeAvailableCapacity", "s1ap.dL_EHRPD_CompositeAvailableCapacity_element",
22873 FT_NONE, BASE_NONE, NULL, 0,
22874 "EHRPDCompositeAvailableCapacity", HFILL }},
22875 { &hf_s1ap_uL_EHRPD_CompositeAvailableCapacity,
22876 { "uL-EHRPD-CompositeAvailableCapacity", "s1ap.uL_EHRPD_CompositeAvailableCapacity_element",
22877 FT_NONE, BASE_NONE, NULL, 0,
22878 "EHRPDCompositeAvailableCapacity", HFILL }},
22879 { &hf_s1ap_eHRPDSectorCapacityClassValue,
22880 { "eHRPDSectorCapacityClassValue", "s1ap.eHRPDSectorCapacityClassValue",
22881 FT_UINT32, BASE_DEC, NULL, 0,
22882 NULL, HFILL }},
22883 { &hf_s1ap_eHRPDCapacityValue,
22884 { "eHRPDCapacityValue", "s1ap.eHRPDCapacityValue",
22885 FT_UINT32, BASE_DEC, NULL, 0,
22886 NULL, HFILL }},
22887 { &hf_s1ap_eHRPD_Sector_ID_01,
22888 { "eHRPD-Sector-ID", "s1ap.eHRPD_Sector_ID",
22889 FT_BYTES, BASE_NONE, NULL, 0,
22890 NULL, HFILL }},
22891 { &hf_s1ap_eHRPDSectorLoadReportingResponse,
22892 { "eHRPDSectorLoadReportingResponse", "s1ap.eHRPDSectorLoadReportingResponse_element",
22893 FT_NONE, BASE_NONE, NULL, 0,
22894 NULL, HFILL }},
22897 /* List of subtrees */
22898 static int *ett[] = {
22899 &ett_s1ap,
22900 &ett_s1ap_TransportLayerAddress,
22901 &ett_s1ap_ToTargetTransparentContainer,
22902 &ett_s1ap_ToSourceTransparentContainer,
22903 &ett_s1ap_RRCContainer,
22904 &ett_s1ap_UERadioCapability,
22905 &ett_s1ap_RIMInformation,
22906 &ett_s1ap_Cdma2000PDU,
22907 &ett_s1ap_Cdma2000SectorID,
22908 &ett_s1ap_UERadioPagingInformation,
22909 &ett_s1ap_UE_HistoryInformationFromTheUE,
22910 &ett_s1ap_CELevel,
22911 &ett_s1ap_UE_RLF_Report_Container,
22912 &ett_s1ap_UE_RLF_Report_Container_for_extended_bands,
22913 &ett_s1ap_S1_Message,
22914 &ett_s1ap_E_UTRAN_Trace_ID,
22915 &ett_s1ap_InterfacesToTrace,
22916 &ett_s1ap_EncryptionAlgorithms,
22917 &ett_s1ap_IntegrityProtectionAlgorithms,
22918 &ett_s1ap_LastVisitedNGRANCellInformation,
22919 &ett_s1ap_LastVisitedUTRANCellInformation,
22920 &ett_s1ap_SerialNumber,
22921 &ett_s1ap_WarningType,
22922 &ett_s1ap_DataCodingScheme,
22923 &ett_s1ap_WarningMessageContents,
22924 &ett_s1ap_MSClassmark,
22925 &ett_s1ap_MeasurementsToActivate,
22926 &ett_s1ap_MDT_Location_Info,
22927 &ett_s1ap_IMSI,
22928 &ett_s1ap_NASSecurityParameters,
22929 &ett_s1ap_NRencryptionAlgorithms,
22930 &ett_s1ap_NRintegrityProtectionAlgorithms,
22931 &ett_s1ap_UE_Application_Layer_Measurement_Capability,
22932 &ett_s1ap_sMTC,
22933 &ett_s1ap_threshRS_Index_r15,
22934 &ett_s1ap_sSBToMeasure,
22935 &ett_s1ap_sSRSSIMeasurement,
22936 &ett_s1ap_quantityConfigNR_R15,
22937 &ett_s1ap_excludedCellsToAddModList,
22938 &ett_s1ap_NB_IoT_RLF_Report_Container,
22939 &ett_s1ap_MDT_ConfigurationNR,
22940 &ett_s1ap_IntersystemSONConfigurationTransfer,
22941 &ett_s1ap_rAT_RestrictionInformation,
22942 &ett_s1ap_PrivateIE_ID,
22943 &ett_s1ap_ProtocolIE_Container,
22944 &ett_s1ap_ProtocolIE_Field,
22945 &ett_s1ap_ProtocolIE_ContainerList,
22946 &ett_s1ap_ProtocolExtensionContainer,
22947 &ett_s1ap_ProtocolExtensionField,
22948 &ett_s1ap_PrivateIE_Container,
22949 &ett_s1ap_PrivateIE_Field,
22950 &ett_s1ap_Additional_GUTI,
22951 &ett_s1ap_AreaScopeOfMDT,
22952 &ett_s1ap_AreaScopeOfQMC,
22953 &ett_s1ap_AllocationAndRetentionPriority,
22954 &ett_s1ap_AssistanceDataForCECapableUEs,
22955 &ett_s1ap_AssistanceDataForPaging,
22956 &ett_s1ap_AssistanceDataForRecommendedCells,
22957 &ett_s1ap_Bearers_SubjectToStatusTransferList,
22958 &ett_s1ap_Bearers_SubjectToStatusTransfer_Item,
22959 &ett_s1ap_Bearers_SubjectToEarlyStatusTransferList,
22960 &ett_s1ap_Bearers_SubjectToEarlyStatusTransfer_Item,
22961 &ett_s1ap_Bearers_SubjectToDLDiscardingList,
22962 &ett_s1ap_Bearers_SubjectToDLDiscarding_Item,
22963 &ett_s1ap_BluetoothMeasurementConfiguration,
22964 &ett_s1ap_BluetoothMeasConfigNameList,
22965 &ett_s1ap_BPLMNs,
22966 &ett_s1ap_BroadcastCancelledAreaList,
22967 &ett_s1ap_BroadcastCompletedAreaList,
22968 &ett_s1ap_CancelledCellinEAI,
22969 &ett_s1ap_CancelledCellinEAI_Item,
22970 &ett_s1ap_CancelledCellinTAI,
22971 &ett_s1ap_CancelledCellinTAI_Item,
22972 &ett_s1ap_Cause,
22973 &ett_s1ap_CellIdentifierAndCELevelForCECapableUEs,
22974 &ett_s1ap_CellID_Broadcast,
22975 &ett_s1ap_CellID_Broadcast_Item,
22976 &ett_s1ap_CellID_Cancelled,
22977 &ett_s1ap_CellID_Cancelled_Item,
22978 &ett_s1ap_CellBasedMDT,
22979 &ett_s1ap_CellIdListforMDT,
22980 &ett_s1ap_CellBasedQMC,
22981 &ett_s1ap_CellIdListforQMC,
22982 &ett_s1ap_Cdma2000OneXSRVCCInfo,
22983 &ett_s1ap_CellType,
22984 &ett_s1ap_CGI,
22985 &ett_s1ap_CNTypeRestrictions,
22986 &ett_s1ap_CNTypeRestrictions_Item,
22987 &ett_s1ap_ConnectedengNBList,
22988 &ett_s1ap_ConnectedengNBItem,
22989 &ett_s1ap_ContextatSource,
22990 &ett_s1ap_CSG_IdList,
22991 &ett_s1ap_CSG_IdList_Item,
22992 &ett_s1ap_COUNTvalue,
22993 &ett_s1ap_COUNTValueExtended,
22994 &ett_s1ap_COUNTvaluePDCP_SNlength18,
22995 &ett_s1ap_CriticalityDiagnostics,
22996 &ett_s1ap_CriticalityDiagnostics_IE_List,
22997 &ett_s1ap_CriticalityDiagnostics_IE_Item,
22998 &ett_s1ap_DAPSRequestInfo,
22999 &ett_s1ap_DAPSResponseInfoList,
23000 &ett_s1ap_DAPSResponseInfoItem,
23001 &ett_s1ap_DAPSResponseInfo,
23002 &ett_s1ap_ServedDCNs,
23003 &ett_s1ap_ServedDCNsItem,
23004 &ett_s1ap_DL_CP_SecurityInformation,
23005 &ett_s1ap_DLCOUNT_PDCP_SNlength,
23006 &ett_s1ap_DLDiscarding,
23007 &ett_s1ap_ECGIList,
23008 &ett_s1ap_PWSfailedECGIList,
23009 &ett_s1ap_EmergencyAreaIDList,
23010 &ett_s1ap_EmergencyAreaID_Broadcast,
23011 &ett_s1ap_EmergencyAreaID_Broadcast_Item,
23012 &ett_s1ap_EmergencyAreaID_Cancelled,
23013 &ett_s1ap_EmergencyAreaID_Cancelled_Item,
23014 &ett_s1ap_CompletedCellinEAI,
23015 &ett_s1ap_CompletedCellinEAI_Item,
23016 &ett_s1ap_ECGI_List,
23017 &ett_s1ap_EmergencyAreaIDListForRestart,
23018 &ett_s1ap_ENB_EarlyStatusTransfer_TransparentContainer,
23019 &ett_s1ap_ENB_ID,
23020 &ett_s1ap_GERAN_Cell_ID,
23021 &ett_s1ap_Global_ENB_ID,
23022 &ett_s1ap_Global_en_gNB_ID,
23023 &ett_s1ap_GUMMEIList,
23024 &ett_s1ap_ENB_StatusTransfer_TransparentContainer,
23025 &ett_s1ap_ENBX2TLAs,
23026 &ett_s1ap_EN_DCSONConfigurationTransfer,
23027 &ett_s1ap_EN_DCSONTransferType,
23028 &ett_s1ap_EN_DCTransferTypeRequest,
23029 &ett_s1ap_EN_DCTransferTypeReply,
23030 &ett_s1ap_EN_DCSONeNBIdentification,
23031 &ett_s1ap_EN_DCSONengNBIdentification,
23032 &ett_s1ap_EPLMNs,
23033 &ett_s1ap_E_RABInformationList,
23034 &ett_s1ap_E_RABInformationListItem,
23035 &ett_s1ap_E_RABList,
23036 &ett_s1ap_E_RABItem,
23037 &ett_s1ap_E_RABLevelQoSParameters,
23038 &ett_s1ap_E_RABSecurityResultList,
23039 &ett_s1ap_E_RABSecurityResultItem,
23040 &ett_s1ap_E_RABUsageReportList,
23041 &ett_s1ap_E_RABUsageReportItem,
23042 &ett_s1ap_EUTRAN_CGI,
23043 &ett_s1ap_EventL1LoggedMDTConfig,
23044 &ett_s1ap_EventTrigger,
23045 &ett_s1ap_ExpectedUEBehaviour,
23046 &ett_s1ap_ExpectedUEActivityBehaviour,
23047 &ett_s1ap_FiveGSTAI,
23048 &ett_s1ap_ForbiddenTAs,
23049 &ett_s1ap_ForbiddenTAs_Item,
23050 &ett_s1ap_ForbiddenTACs,
23051 &ett_s1ap_ForbiddenLAs,
23052 &ett_s1ap_ForbiddenLAs_Item,
23053 &ett_s1ap_ForbiddenLACs,
23054 &ett_s1ap_GBR_QosInformation,
23055 &ett_s1ap_GUMMEI,
23056 &ett_s1ap_HandoverRestrictionList,
23057 &ett_s1ap_ImmediateMDT,
23058 &ett_s1ap_InformationOnRecommendedCellsAndENBsForPaging,
23059 &ett_s1ap_IntersystemMeasurementConfiguration,
23060 &ett_s1ap_InterSystemMeasurementParameters,
23061 &ett_s1ap_InterSystemMeasurementList,
23062 &ett_s1ap_InterSystemMeasurementItem,
23063 &ett_s1ap_LAI,
23064 &ett_s1ap_LastVisitedCell_Item,
23065 &ett_s1ap_LastVisitedEUTRANCellInformation,
23066 &ett_s1ap_LastVisitedPSCellList,
23067 &ett_s1ap_LastVisitedPSCellInformation,
23068 &ett_s1ap_LastVisitedGERANCellInformation,
23069 &ett_s1ap_ListeningSubframePattern,
23070 &ett_s1ap_LoggedMDT,
23071 &ett_s1ap_LoggedMBSFNMDT,
23072 &ett_s1ap_LoggedMDTTrigger,
23073 &ett_s1ap_LTE_NTN_TAI_Information,
23074 &ett_s1ap_M3Configuration,
23075 &ett_s1ap_M4Configuration,
23076 &ett_s1ap_M5Configuration,
23077 &ett_s1ap_M6Configuration,
23078 &ett_s1ap_M7Configuration,
23079 &ett_s1ap_MDT_Configuration,
23080 &ett_s1ap_MBSFN_ResultToLog,
23081 &ett_s1ap_MBSFN_ResultToLogInfo,
23082 &ett_s1ap_MDTPLMNList,
23083 &ett_s1ap_MDTMode,
23084 &ett_s1ap_MeasurementThresholdA2,
23085 &ett_s1ap_MeasurementThresholdL1LoggedMDT,
23086 &ett_s1ap_MMEPagingTarget,
23087 &ett_s1ap_MutingPatternInformation,
23088 &ett_s1ap_NB_IoT_Paging_eDRXInformation,
23089 &ett_s1ap_NR_CGI,
23090 &ett_s1ap_NRUESecurityCapabilities,
23091 &ett_s1ap_NRV2XServicesAuthorized,
23092 &ett_s1ap_NRUESidelinkAggregateMaximumBitrate,
23093 &ett_s1ap_OverloadResponse,
23094 &ett_s1ap_PagingAttemptInformation,
23095 &ett_s1ap_Paging_eDRXInformation,
23096 &ett_s1ap_PC5QoSParameters,
23097 &ett_s1ap_PC5QoSFlowList,
23098 &ett_s1ap_PC5QoSFlowItem,
23099 &ett_s1ap_PC5FlowBitRates,
23100 &ett_s1ap_M1PeriodicReporting,
23101 &ett_s1ap_PLMNAreaBasedQMC,
23102 &ett_s1ap_PLMNListforQMC,
23103 &ett_s1ap_ProSeAuthorized,
23104 &ett_s1ap_PSCellInformation,
23105 &ett_s1ap_RecommendedCellsForPaging,
23106 &ett_s1ap_RecommendedCellList,
23107 &ett_s1ap_RecommendedCellItem,
23108 &ett_s1ap_RecommendedENBsForPaging,
23109 &ett_s1ap_RecommendedENBList,
23110 &ett_s1ap_RecommendedENBItem,
23111 &ett_s1ap_RAT_Restrictions,
23112 &ett_s1ap_RAT_RestrictionsItem,
23113 &ett_s1ap_RequestType,
23114 &ett_s1ap_RIMTransfer,
23115 &ett_s1ap_RIMRoutingAddress,
23116 &ett_s1ap_RLFReportInformation,
23117 &ett_s1ap_ECGIListForRestart,
23118 &ett_s1ap_SecurityContext,
23119 &ett_s1ap_SecondaryRATDataUsageReportList,
23120 &ett_s1ap_SecondaryRATDataUsageReportItem,
23121 &ett_s1ap_SecurityIndication,
23122 &ett_s1ap_SecurityResult,
23123 &ett_s1ap_SensorMeasConfigNameItem,
23124 &ett_s1ap_SensorMeasConfigNameList,
23125 &ett_s1ap_SensorMeasurementConfiguration,
23126 &ett_s1ap_SensorNameConfig,
23127 &ett_s1ap_SONInformation,
23128 &ett_s1ap_SONInformationReply,
23129 &ett_s1ap_SONInformationReport,
23130 &ett_s1ap_SONConfigurationTransfer,
23131 &ett_s1ap_SynchronisationInformation,
23132 &ett_s1ap_SourceeNB_ID,
23133 &ett_s1ap_SourceNodeID,
23134 &ett_s1ap_SourceeNB_ToTargeteNB_TransparentContainer,
23135 &ett_s1ap_SourceNgRanNode_ID,
23136 &ett_s1ap_ServedGUMMEIs,
23137 &ett_s1ap_ServedGUMMEIsItem,
23138 &ett_s1ap_ServedGroupIDs,
23139 &ett_s1ap_ServedMMECs,
23140 &ett_s1ap_ServedPLMNs,
23141 &ett_s1ap_Subscription_Based_UE_DifferentiationInfo,
23142 &ett_s1ap_ScheduledCommunicationTime,
23143 &ett_s1ap_SupportedTAs,
23144 &ett_s1ap_SupportedTAs_Item,
23145 &ett_s1ap_TimeSynchronisationInfo,
23146 &ett_s1ap_S_TMSI,
23147 &ett_s1ap_TACList_In_LTE_NTN,
23148 &ett_s1ap_TAIBasedMDT,
23149 &ett_s1ap_TAIListforMDT,
23150 &ett_s1ap_TAIListforWarning,
23151 &ett_s1ap_TAI,
23152 &ett_s1ap_TAI_Broadcast,
23153 &ett_s1ap_TAI_Broadcast_Item,
23154 &ett_s1ap_TAI_Cancelled,
23155 &ett_s1ap_TAI_Cancelled_Item,
23156 &ett_s1ap_TABasedMDT,
23157 &ett_s1ap_TAListforMDT,
23158 &ett_s1ap_TABasedQMC,
23159 &ett_s1ap_TAListforQMC,
23160 &ett_s1ap_TAIBasedQMC,
23161 &ett_s1ap_TAIListforQMC,
23162 &ett_s1ap_CompletedCellinTAI,
23163 &ett_s1ap_CompletedCellinTAI_Item,
23164 &ett_s1ap_TargetID,
23165 &ett_s1ap_TargeteNB_ID,
23166 &ett_s1ap_TargetRNC_ID,
23167 &ett_s1ap_TargetNgRanNode_ID,
23168 &ett_s1ap_Global_RAN_NODE_ID,
23169 &ett_s1ap_GNB,
23170 &ett_s1ap_Global_GNB_ID,
23171 &ett_s1ap_GNB_Identity,
23172 &ett_s1ap_NG_eNB,
23173 &ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer,
23174 &ett_s1ap_M1ThresholdEventA2,
23175 &ett_s1ap_TimeBasedHandoverInformation,
23176 &ett_s1ap_TransportInformation,
23177 &ett_s1ap_TraceActivation,
23178 &ett_s1ap_TunnelInformation,
23179 &ett_s1ap_TAIListForRestart,
23180 &ett_s1ap_UEAggregateMaximumBitrate,
23181 &ett_s1ap_UEAppLayerMeasConfig,
23182 &ett_s1ap_UE_S1AP_IDs,
23183 &ett_s1ap_UE_S1AP_ID_pair,
23184 &ett_s1ap_UE_associatedLogicalS1_ConnectionItem,
23185 &ett_s1ap_UE_HistoryInformation,
23186 &ett_s1ap_UEPagingID,
23187 &ett_s1ap_UESecurityCapabilities,
23188 &ett_s1ap_UESidelinkAggregateMaximumBitrate,
23189 &ett_s1ap_UL_CP_SecurityInformation,
23190 &ett_s1ap_UserLocationInformation,
23191 &ett_s1ap_V2XServicesAuthorized,
23192 &ett_s1ap_WarningAreaList,
23193 &ett_s1ap_WLANMeasurementConfiguration,
23194 &ett_s1ap_WLANMeasConfigNameList,
23195 &ett_s1ap_WUS_Assistance_Information,
23196 &ett_s1ap_X2TNLConfigurationInfo,
23197 &ett_s1ap_ENBX2ExtTLAs,
23198 &ett_s1ap_ENBX2ExtTLA,
23199 &ett_s1ap_ENBX2GTPTLAs,
23200 &ett_s1ap_ENBIndirectX2TransportLayerAddresses,
23201 &ett_s1ap_HandoverRequired,
23202 &ett_s1ap_HandoverCommand,
23203 &ett_s1ap_E_RABDataForwardingItem,
23204 &ett_s1ap_HandoverPreparationFailure,
23205 &ett_s1ap_HandoverRequest,
23206 &ett_s1ap_E_RABToBeSetupItemHOReq,
23207 &ett_s1ap_HandoverRequestAcknowledge,
23208 &ett_s1ap_E_RABAdmittedItem,
23209 &ett_s1ap_E_RABFailedToSetupItemHOReqAck,
23210 &ett_s1ap_HandoverFailure,
23211 &ett_s1ap_HandoverNotify,
23212 &ett_s1ap_PathSwitchRequest,
23213 &ett_s1ap_E_RABToBeSwitchedDLItem,
23214 &ett_s1ap_PathSwitchRequestAcknowledge,
23215 &ett_s1ap_E_RABToBeSwitchedULItem,
23216 &ett_s1ap_E_RABToBeUpdatedItem,
23217 &ett_s1ap_PathSwitchRequestFailure,
23218 &ett_s1ap_HandoverCancel,
23219 &ett_s1ap_HandoverCancelAcknowledge,
23220 &ett_s1ap_HandoverSuccess,
23221 &ett_s1ap_ENBEarlyStatusTransfer,
23222 &ett_s1ap_MMEEarlyStatusTransfer,
23223 &ett_s1ap_E_RABSetupRequest,
23224 &ett_s1ap_E_RABToBeSetupListBearerSUReq,
23225 &ett_s1ap_E_RABToBeSetupItemBearerSUReq,
23226 &ett_s1ap_E_RABSetupResponse,
23227 &ett_s1ap_E_RABSetupListBearerSURes,
23228 &ett_s1ap_E_RABSetupItemBearerSURes,
23229 &ett_s1ap_E_RABModifyRequest,
23230 &ett_s1ap_E_RABToBeModifiedListBearerModReq,
23231 &ett_s1ap_E_RABToBeModifiedItemBearerModReq,
23232 &ett_s1ap_E_RABModifyResponse,
23233 &ett_s1ap_E_RABModifyListBearerModRes,
23234 &ett_s1ap_E_RABModifyItemBearerModRes,
23235 &ett_s1ap_E_RABReleaseCommand,
23236 &ett_s1ap_E_RABReleaseResponse,
23237 &ett_s1ap_E_RABReleaseListBearerRelComp,
23238 &ett_s1ap_E_RABReleaseItemBearerRelComp,
23239 &ett_s1ap_E_RABReleaseIndication,
23240 &ett_s1ap_InitialContextSetupRequest,
23241 &ett_s1ap_E_RABToBeSetupListCtxtSUReq,
23242 &ett_s1ap_E_RABToBeSetupItemCtxtSUReq,
23243 &ett_s1ap_InitialContextSetupResponse,
23244 &ett_s1ap_E_RABSetupListCtxtSURes,
23245 &ett_s1ap_E_RABSetupItemCtxtSURes,
23246 &ett_s1ap_InitialContextSetupFailure,
23247 &ett_s1ap_Paging,
23248 &ett_s1ap_TAIList,
23249 &ett_s1ap_TAIItem,
23250 &ett_s1ap_UEContextReleaseRequest,
23251 &ett_s1ap_UEContextReleaseCommand,
23252 &ett_s1ap_UEContextReleaseComplete,
23253 &ett_s1ap_UEContextModificationRequest,
23254 &ett_s1ap_UEContextModificationResponse,
23255 &ett_s1ap_UEContextModificationFailure,
23256 &ett_s1ap_UERadioCapabilityMatchRequest,
23257 &ett_s1ap_UERadioCapabilityMatchResponse,
23258 &ett_s1ap_DownlinkNASTransport,
23259 &ett_s1ap_InitialUEMessage,
23260 &ett_s1ap_UplinkNASTransport,
23261 &ett_s1ap_NASNonDeliveryIndication,
23262 &ett_s1ap_RerouteNASRequest,
23263 &ett_s1ap_NASDeliveryIndication,
23264 &ett_s1ap_Reset,
23265 &ett_s1ap_ResetType,
23266 &ett_s1ap_UE_associatedLogicalS1_ConnectionListRes,
23267 &ett_s1ap_ResetAcknowledge,
23268 &ett_s1ap_UE_associatedLogicalS1_ConnectionListResAck,
23269 &ett_s1ap_ErrorIndication,
23270 &ett_s1ap_S1SetupRequest,
23271 &ett_s1ap_S1SetupResponse,
23272 &ett_s1ap_S1SetupFailure,
23273 &ett_s1ap_ENBConfigurationUpdate,
23274 &ett_s1ap_ENBConfigurationUpdateAcknowledge,
23275 &ett_s1ap_ENBConfigurationUpdateFailure,
23276 &ett_s1ap_MMEConfigurationUpdate,
23277 &ett_s1ap_MMEConfigurationUpdateAcknowledge,
23278 &ett_s1ap_MMEConfigurationUpdateFailure,
23279 &ett_s1ap_DownlinkS1cdma2000tunnelling,
23280 &ett_s1ap_UplinkS1cdma2000tunnelling,
23281 &ett_s1ap_UECapabilityInfoIndication,
23282 &ett_s1ap_ENBStatusTransfer,
23283 &ett_s1ap_MMEStatusTransfer,
23284 &ett_s1ap_TraceStart,
23285 &ett_s1ap_TraceFailureIndication,
23286 &ett_s1ap_DeactivateTrace,
23287 &ett_s1ap_CellTrafficTrace,
23288 &ett_s1ap_LocationReportingControl,
23289 &ett_s1ap_LocationReportingFailureIndication,
23290 &ett_s1ap_LocationReport,
23291 &ett_s1ap_OverloadStart,
23292 &ett_s1ap_OverloadStop,
23293 &ett_s1ap_WriteReplaceWarningRequest,
23294 &ett_s1ap_WriteReplaceWarningResponse,
23295 &ett_s1ap_ENBDirectInformationTransfer,
23296 &ett_s1ap_Inter_SystemInformationTransferType,
23297 &ett_s1ap_MMEDirectInformationTransfer,
23298 &ett_s1ap_ENBConfigurationTransfer,
23299 &ett_s1ap_MMEConfigurationTransfer,
23300 &ett_s1ap_PrivateMessage,
23301 &ett_s1ap_KillRequest,
23302 &ett_s1ap_KillResponse,
23303 &ett_s1ap_PWSRestartIndication,
23304 &ett_s1ap_PWSFailureIndication,
23305 &ett_s1ap_DownlinkUEAssociatedLPPaTransport,
23306 &ett_s1ap_UplinkUEAssociatedLPPaTransport,
23307 &ett_s1ap_DownlinkNonUEAssociatedLPPaTransport,
23308 &ett_s1ap_UplinkNonUEAssociatedLPPaTransport,
23309 &ett_s1ap_E_RABModificationIndication,
23310 &ett_s1ap_E_RABToBeModifiedItemBearerModInd,
23311 &ett_s1ap_E_RABNotToBeModifiedItemBearerModInd,
23312 &ett_s1ap_CSGMembershipInfo,
23313 &ett_s1ap_E_RABModificationConfirm,
23314 &ett_s1ap_E_RABModifyListBearerModConf,
23315 &ett_s1ap_E_RABModifyItemBearerModConf,
23316 &ett_s1ap_UEContextModificationIndication,
23317 &ett_s1ap_UEContextModificationConfirm,
23318 &ett_s1ap_UEContextSuspendRequest,
23319 &ett_s1ap_UEContextSuspendResponse,
23320 &ett_s1ap_UEContextResumeRequest,
23321 &ett_s1ap_E_RABFailedToResumeItemResumeReq,
23322 &ett_s1ap_UEContextResumeResponse,
23323 &ett_s1ap_E_RABFailedToResumeItemResumeRes,
23324 &ett_s1ap_UEContextResumeFailure,
23325 &ett_s1ap_ConnectionEstablishmentIndication,
23326 &ett_s1ap_RetrieveUEInformation,
23327 &ett_s1ap_UEInformationTransfer,
23328 &ett_s1ap_ENBCPRelocationIndication,
23329 &ett_s1ap_MMECPRelocationIndication,
23330 &ett_s1ap_SecondaryRATDataUsageReport,
23331 &ett_s1ap_UERadioCapabilityIDMappingRequest,
23332 &ett_s1ap_UERadioCapabilityIDMappingResponse,
23333 &ett_s1ap_S1AP_PDU,
23334 &ett_s1ap_InitiatingMessage,
23335 &ett_s1ap_SuccessfulOutcome,
23336 &ett_s1ap_UnsuccessfulOutcome,
23337 &ett_s1ap_SONtransferRequestContainer,
23338 &ett_s1ap_SONtransferResponseContainer,
23339 &ett_s1ap_SONtransferCause,
23340 &ett_s1ap_CellLoadReportingResponse,
23341 &ett_s1ap_EUTRANcellLoadReportingResponse,
23342 &ett_s1ap_EUTRANResponse,
23343 &ett_s1ap_IRAT_Cell_ID,
23344 &ett_s1ap_RequestedCellList,
23345 &ett_s1ap_MultiCellLoadReportingRequest,
23346 &ett_s1ap_ReportingCellList_Item,
23347 &ett_s1ap_ReportingCellList,
23348 &ett_s1ap_MultiCellLoadReportingResponse,
23349 &ett_s1ap_MultiCellLoadReportingResponse_Item,
23350 &ett_s1ap_EventTriggeredCellLoadReportingRequest,
23351 &ett_s1ap_EventTriggeredCellLoadReportingResponse,
23352 &ett_s1ap_HOReport,
23353 &ett_s1ap_CandidateCellList,
23354 &ett_s1ap_CandidatePCIList,
23355 &ett_s1ap_CandidatePCI,
23356 &ett_s1ap_CellActivationRequest,
23357 &ett_s1ap_CellsToActivateList,
23358 &ett_s1ap_CellsToActivateList_Item,
23359 &ett_s1ap_CellActivationResponse,
23360 &ett_s1ap_ActivatedCellsList,
23361 &ett_s1ap_ActivatedCellsList_Item,
23362 &ett_s1ap_CellStateIndication,
23363 &ett_s1ap_NotificationCellList,
23364 &ett_s1ap_NotificationCellList_Item,
23365 &ett_s1ap_FailureEventReport,
23366 &ett_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN,
23367 &ett_s1ap_EHRPDSectorLoadReportingResponse,
23368 &ett_s1ap_EHRPDCompositeAvailableCapacity,
23369 &ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem,
23372 static ei_register_info ei[] = {
23373 { &ei_s1ap_number_pages_le15, { "s1ap.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}
23376 module_t *s1ap_module;
23377 expert_module_t* expert_s1ap;
23379 /* Register protocol */
23380 proto_s1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
23381 /* Register fields and subtrees */
23382 proto_register_field_array(proto_s1ap, hf, array_length(hf));
23383 proto_register_subtree_array(ett, array_length(ett));
23384 expert_s1ap = expert_register_protocol(proto_s1ap);
23385 expert_register_field_array(expert_s1ap, ei, array_length(ei));
23387 /* Register dissector */
23388 s1ap_handle = register_dissector("s1ap", dissect_s1ap, proto_s1ap);
23390 /* Register dissector tables */
23391 s1ap_ies_dissector_table = register_dissector_table("s1ap.ies", "S1AP-PROTOCOL-IES", proto_s1ap, FT_UINT32, BASE_DEC);
23392 s1ap_ies_p1_dissector_table = register_dissector_table("s1ap.ies.pair.first", "S1AP-PROTOCOL-IES-PAIR FirstValue", proto_s1ap, FT_UINT32, BASE_DEC);
23393 s1ap_ies_p2_dissector_table = register_dissector_table("s1ap.ies.pair.second", "S1AP-PROTOCOL-IES-PAIR SecondValue", proto_s1ap, FT_UINT32, BASE_DEC);
23394 s1ap_extension_dissector_table = register_dissector_table("s1ap.extension", "S1AP-PROTOCOL-EXTENSION", proto_s1ap, FT_UINT32, BASE_DEC);
23395 s1ap_proc_imsg_dissector_table = register_dissector_table("s1ap.proc.imsg", "S1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_s1ap, FT_UINT32, BASE_DEC);
23396 s1ap_proc_sout_dissector_table = register_dissector_table("s1ap.proc.sout", "S1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_s1ap, FT_UINT32, BASE_DEC);
23397 s1ap_proc_uout_dissector_table = register_dissector_table("s1ap.proc.uout", "S1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_s1ap, FT_UINT32, BASE_DEC);
23399 /* Register configuration options for ports */
23400 s1ap_module = prefs_register_protocol(proto_s1ap, NULL);
23402 prefs_register_bool_preference(s1ap_module, "dissect_container", "Dissect TransparentContainer", "Dissect TransparentContainers that are opaque to S1AP", &g_s1ap_dissect_container);
23403 prefs_register_enum_preference(s1ap_module, "dissect_lte_container_as", "Dissect LTE TransparentContainer as",
23404 "Select whether LTE TransparentContainer should be dissected as NB-IOT or legacy LTE",
23405 &g_s1ap_dissect_lte_container_as, s1ap_lte_container_vals, false);
23409 * Editor modelines
23411 * Local Variables:
23412 * c-basic-offset: 2
23413 * tab-width: 8
23414 * indent-tabs-mode: nil
23415 * End:
23417 * ex: set shiftwidth=2 tabstop=8 expandtab:
23418 * :indentSize=2:tabSize=8:noTabs=true: