Add missing IE id
[obnox/wireshark/wip.git] / epan / dissectors / packet-s1ap.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-s1ap.c                                                              */
4 /* ../../tools/asn2wrs.py -p s1ap -c s1ap.cnf -s packet-s1ap-template S1AP-CommonDataTypes.asn S1AP-Constants.asn S1AP-Containers.asn S1AP-IEs.asn S1AP-PDU-Contents.asn S1AP-PDU-Descriptions.asn */
5
6 /* Input file: packet-s1ap-template.c */
7
8 #line 1 "packet-s1ap-template.c"
9 /* packet-s1ap.c
10  * Routines for E-UTRAN S1 Application Protocol (S1AP) packet dissection
11  * Copyright 2007-2008, Anders Broman <anders.broman@ericsson.com>
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32  *
33  * Based on the RANAP dissector
34  *
35  * References: 3GPP TS 25.413 version 6.6.0 Release
36  */
37
38 #ifdef HAVE_CONFIG_H
39 # include "config.h"
40 #endif
41
42 #include <glib.h>
43 #include <epan/packet.h>
44 #include <epan/conversation.h>
45
46 #include <stdio.h>
47 #include <string.h>
48 #include <epan/emem.h>
49 #include <epan/strutil.h>
50 #include <epan/asn1.h>
51
52 #include "packet-ber.h"
53 #include "packet-per.h"
54 #include "packet-e212.h"
55 #include "packet-sccp.h"
56
57 #ifdef _MSC_VER
58 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
59 #pragma warning(disable:4146)
60 #endif
61
62 #define PNAME  "S1 Application Protocol "
63 #define PSNAME "S1AP"
64 #define PFNAME "s1ap"
65
66
67 /*--- Included file: packet-s1ap-val.h ---*/
68 #line 1 "packet-s1ap-val.h"
69 #define maxPrivateIEs                  65535
70 #define maxProtocolExtensions          65535
71 #define maxProtocolIEs                 65535
72 #define maxNrOfSAEBs                   256
73 #define maxNrOfInterfaces              3
74 #define maxnoofTAI                     256
75 #define maxnoofTACs                    256
76 #define maxNrOfErrors                  256
77 #define maxnoofBPLMNs                  6
78 #define maxnoofPLMNsPerMME             32
79 #define maxnoofEPLMNs                  15
80 #define maxnoofEPLMNsPlusOne           16
81 #define maxnoofForbLACs                256
82 #define maxnoofForbTACs                256
83 #define maxNrOfIndividualS1ConnectionsToReset 256
84
85 typedef enum _ProcedureCode_enum {
86   id_HandoverPreparation =   0,
87   id_HandoverResourceAllocation =   1,
88   id_HandoverNotification =   2,
89   id_PathSwitchRequest =   3,
90   id_HandoverCancel =   4,
91   id_SAEBearerSetup =   5,
92   id_SAEBearerModify =   6,
93   id_SAEBearerRelease =   7,
94   id_SAEBearerReleaseRequest =   8,
95   id_InitialContextSetup =   9,
96   id_Paging    =  10,
97   id_downlinkNASTransport =  11,
98   id_initialUEMessage =  12,
99   id_uplinkNASTransport =  13,
100   id_Reset     =  14,
101   id_ErrorIndication =  15,
102   id_NASNonDeliveryIndication =  16,
103   id_S1Setup   =  17,
104   id_UEContextReleaseRequest =  18,
105   id_DownlinkS1cdma2000tunneling =  19,
106   id_UplinkS1cdma2000tunneling =  20,
107   id_UEContextModification =  21,
108   id_UECapabilityInfoIndication =  22,
109   id_UEContextRelease =  23,
110   id_eNBStatusTransfer =  24,
111   id_MMEStatusTransfer =  25,
112   id_DeactivateTrace =  26,
113   id_TraceStart =  27,
114   id_TraceFailureIndication =  28,
115   id_ENBConfigurationUpdate =  29,
116   id_MMEConfigurationUpdate =  30,
117   id_LocationReportingControl =  31,
118   id_LocationReportingFailureIndication =  32,
119   id_LocationReport =  33
120 } ProcedureCode_enum;
121
122 typedef enum _ProtocolIE_ID_enum {
123   id_MME_UE_S1AP_ID =   0,
124   id_HandoverType =   1,
125   id_Cause     =   2,
126   id_SourceID  =   3,
127   id_TargetID  =   4,
128   id_Intra_LTEHOInformationReq =   5,
129   id_LTEtoUTRANHOInformationReq =   6,
130   id_LTEtoGERANHOInformationReq =   7,
131   id_eNB_UE_S1AP_ID =   8,
132   id_Intra_LTEHOInformationRes =   9,
133   id_LTEtoUTRANHOInformationRes =  10,
134   id_LTEtoGERANHOInformationRes =  11,
135   id_SAEBearerSubjecttoDataForwardingList =  12,
136   id_SAEBearertoReleaseListHOCmd =  13,
137   id_SAEBearerDataForwardingItem =  14,
138   id_SAEBearerReleaseItemBearerRelComp =  15,
139   id_SAEBearerToBeSetupListBearerSUReq =  16,
140   id_SAEBearerToBeSetupItemBearerSUReq =  17,
141   id_SAEBearerAdmittedList =  18,
142   id_SAEBearerFailedToSetupListHOReqAck =  19,
143   id_SAEBearerAdmittedItem =  20,
144   id_SAEBearerFailedtoSetupItemHOReqAck =  21,
145   id_SAEBearerToBeSwitchedDLList =  22,
146   id_SAEBearerToBeSwitchedDLItem =  23,
147   id_SAEBearerToBeSetupListCtxtSUReq =  24,
148   id_TraceActivation =  25,
149   id_NAS_PDU   =  26,
150   id_SAEBearerToBeSetupItemHOReq =  27,
151   id_SAEBearerSetupListBearerSURes =  28,
152   id_SAEBearerFailedToSetupListBearerSURes =  29,
153   id_SAEBearerToBeModifiedListBearerModReq =  30,
154   id_SAEBearerModifyListBearerModRes =  31,
155   id_SAEBearerFailedToModifyList =  32,
156   id_SAEBearerToBeReleasedList =  33,
157   id_SAEBearerFailedToReleaseList =  34,
158   id_SAEBearerItem =  35,
159   id_SAEBearerToBeModifiedItemBearerModReq =  36,
160   id_SAEBearerModifyItemBearerModRes =  37,
161   id_SAEBearerReleaseItem =  38,
162   id_SAEBearerSetupItemBearerSURes =  39,
163   id_Security_Information =  40,
164   id_HandoverRestrictionList =  41,
165   id_UEPagingID =  43,
166   id_pagingDRX =  44,
167   id_pagingCause =  45,
168   id_TAIList   =  46,
169   id_TAIItem   =  47,
170   id_SAEBearerFailedToSetupListCtxtSURes =  48,
171   id_SAEBearerReleaseItemHOCmd =  49,
172   id_SAEBearerSetupItemCtxtSURes =  50,
173   id_SAEBearerSetupListCtxtSURes =  51,
174   id_SAEBearerToBeSetupItemCtxtSUReq =  52,
175   id_SAEBearerToBeSetupListHOReq =  53,
176   id_GERANtoLTEHOInformationReq =  54,
177   id_GERANtoLTEHOInformationRes =  55,
178   id_UTRANtoLTEHOInformationReq =  56,
179   id_UTRANtoLTEHOInformationRes =  57,
180   id_CriticalityDiagnostics =  58,
181   id_ENB_Global_ID =  59,
182   id_eNBname   =  60,
183   id_MMEname   =  61,
184   id_ServedPLMNs =  63,
185   id_SupportedTAs =  64,
186   id_TimeToWait =  65,
187   id_aggregateMaximumBitrate =  66,
188   id_TAI       =  67,
189   id_SAEBearerReleaseListBearerRelComp =  69,
190   id_cdma2000PDU =  70,
191   id_cdma2000RATType =  71,
192   id_cdma2000SectorID =  72,
193   id_SecurityInfo =  73,
194   id_UERadioCapability =  74,
195   id_GUMMEI_ID =  75,
196   id_SAEBearerInformationListItem =  78,
197   id_Direct_Forwarding_Path_Availability =  79,
198   id_UEIdentityIndexValue =  80,
199   id_cdma2000HOStatus =  83,
200   id_cdma2000HORequiredIndication =  84,
201   id_cdma2000OneXMEID =  85,
202   id_TraceReference =  86,
203   id_RelativeMMECapacity =  87,
204   id_SourceMME_UE_S1AP_ID =  88,
205   id_Bearers_SubjectToStatusTransfer_Item =  89,
206   id_eNB_StatusTransfer_TransparentContainer =  90,
207   id_UE_associatedLogicalS1_ConnectionItem =  91,
208   id_ResetType =  92,
209   id_UE_associatedLogicalS1_ConnectionListResAck =  93,
210   id_SAEBearerToBeSwitchedULItem =  94,
211   id_SAEBearerToBeSwitchedULList =  95,
212   id_S_TMSI    =  96,
213   id_cdma2000OneXRAND =  97,
214   id_RequestType =  98,
215   id_UE_S1AP_IDs =  99,
216   id_EUTRAN_CGI_ID = 100
217 } ProtocolIE_ID_enum;
218
219 /*--- End of included file: packet-s1ap-val.h ---*/
220 #line 59 "packet-s1ap-template.c"
221
222 static dissector_handle_t s1ap_handle = NULL;
223
224 /* Initialize the protocol and registered fields */
225 static int proto_s1ap = -1;
226
227
228 /*--- Included file: packet-s1ap-hf.c ---*/
229 #line 1 "packet-s1ap-hf.c"
230 static int hf_s1ap_AggregateMaximumBitrate_PDU = -1;  /* AggregateMaximumBitrate */
231 static int hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU = -1;  /* Bearers_SubjectToStatusTransfer_Item */
232 static int hf_s1ap_Cause_PDU = -1;                /* Cause */
233 static int hf_s1ap_Cdma2000PDU_PDU = -1;          /* Cdma2000PDU */
234 static int hf_s1ap_Cdma2000RATType_PDU = -1;      /* Cdma2000RATType */
235 static int hf_s1ap_Cdma2000SectorID_PDU = -1;     /* Cdma2000SectorID */
236 static int hf_s1ap_Cdma2000HOStatus_PDU = -1;     /* Cdma2000HOStatus */
237 static int hf_s1ap_Cdma2000HORequiredIndication_PDU = -1;  /* Cdma2000HORequiredIndication */
238 static int hf_s1ap_Cdma2000OneXMEID_PDU = -1;     /* Cdma2000OneXMEID */
239 static int hf_s1ap_Cdma2000OneXRAND_PDU = -1;     /* Cdma2000OneXRAND */
240 static int hf_s1ap_CriticalityDiagnostics_PDU = -1;  /* CriticalityDiagnostics */
241 static int hf_s1ap_Direct_Forwarding_Path_Availability_PDU = -1;  /* Direct_Forwarding_Path_Availability */
242 static int hf_s1ap_ENB_StatusTransfer_TransparentContainer_PDU = -1;  /* ENB_StatusTransfer_TransparentContainer */
243 static int hf_s1ap_ENB_UE_S1AP_ID_PDU = -1;       /* ENB_UE_S1AP_ID */
244 static int hf_s1ap_ENB_Global_ID_PDU = -1;        /* ENB_Global_ID */
245 static int hf_s1ap_ENBname_PDU = -1;              /* ENBname */
246 static int hf_s1ap_EUTRAN_CGI_ID_PDU = -1;        /* EUTRAN_CGI_ID */
247 static int hf_s1ap_GUMMEI_PDU = -1;               /* GUMMEI */
248 static int hf_s1ap_HandoverRestrictionList_PDU = -1;  /* HandoverRestrictionList */
249 static int hf_s1ap_HandoverType_PDU = -1;         /* HandoverType */
250 static int hf_s1ap_MMEname_PDU = -1;              /* MMEname */
251 static int hf_s1ap_MME_UE_S1AP_ID_PDU = -1;       /* MME_UE_S1AP_ID */
252 static int hf_s1ap_NAS_PDU_PDU = -1;              /* NAS_PDU */
253 static int hf_s1ap_PagingDRX_PDU = -1;            /* PagingDRX */
254 static int hf_s1ap_PagingCause_PDU = -1;          /* PagingCause */
255 static int hf_s1ap_RelativeMMECapacity_PDU = -1;  /* RelativeMMECapacity */
256 static int hf_s1ap_RequestType_PDU = -1;          /* RequestType */
257 static int hf_s1ap_SAEBearerList_PDU = -1;        /* SAEBearerList */
258 static int hf_s1ap_SAEBearerItem_PDU = -1;        /* SAEBearerItem */
259 static int hf_s1ap_SecurityInfo_PDU = -1;         /* SecurityInfo */
260 static int hf_s1ap_SecurityInformation_PDU = -1;  /* SecurityInformation */
261 static int hf_s1ap_SourceID_PDU = -1;             /* SourceID */
262 static int hf_s1ap_ServedPLMNs_PDU = -1;          /* ServedPLMNs */
263 static int hf_s1ap_SupportedTAs_PDU = -1;         /* SupportedTAs */
264 static int hf_s1ap_S_TMSI_PDU = -1;               /* S_TMSI */
265 static int hf_s1ap_TAI_PDU = -1;                  /* TAI */
266 static int hf_s1ap_TargetID_PDU = -1;             /* TargetID */
267 static int hf_s1ap_TimeToWait_PDU = -1;           /* TimeToWait */
268 static int hf_s1ap_TraceActivation_PDU = -1;      /* TraceActivation */
269 static int hf_s1ap_TraceReference_PDU = -1;       /* TraceReference */
270 static int hf_s1ap_UE_S1AP_IDs_PDU = -1;          /* UE_S1AP_IDs */
271 static int hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU = -1;  /* UE_associatedLogicalS1_ConnectionItem */
272 static int hf_s1ap_UEIdentityIndexValue_PDU = -1;  /* UEIdentityIndexValue */
273 static int hf_s1ap_UERadioCapability_PDU = -1;    /* UERadioCapability */
274 static int hf_s1ap_HandoverRequired_PDU = -1;     /* HandoverRequired */
275 static int hf_s1ap_Intra_LTEHOInformationReq_PDU = -1;  /* Intra_LTEHOInformationReq */
276 static int hf_s1ap_LTEtoUTRANHOInformationReq_PDU = -1;  /* LTEtoUTRANHOInformationReq */
277 static int hf_s1ap_LTEtoGERANHOInformationReq_PDU = -1;  /* LTEtoGERANHOInformationReq */
278 static int hf_s1ap_HandoverCommand_PDU = -1;      /* HandoverCommand */
279 static int hf_s1ap_SAEBearerSubjecttoDataForwardingList_PDU = -1;  /* SAEBearerSubjecttoDataForwardingList */
280 static int hf_s1ap_SAEBearerDataForwardingItem_PDU = -1;  /* SAEBearerDataForwardingItem */
281 static int hf_s1ap_SAEBearertoReleaseListHOCmd_PDU = -1;  /* SAEBearertoReleaseListHOCmd */
282 static int hf_s1ap_SAEBearerReleaseItemHOCmd_PDU = -1;  /* SAEBearerReleaseItemHOCmd */
283 static int hf_s1ap_Intra_LTEHOInformationRes_PDU = -1;  /* Intra_LTEHOInformationRes */
284 static int hf_s1ap_LTEtoUTRANHOInformationRes_PDU = -1;  /* LTEtoUTRANHOInformationRes */
285 static int hf_s1ap_LTEtoGERANHOInformationRes_PDU = -1;  /* LTEtoGERANHOInformationRes */
286 static int hf_s1ap_HandoverPreparationFailure_PDU = -1;  /* HandoverPreparationFailure */
287 static int hf_s1ap_HandoverRequest_PDU = -1;      /* HandoverRequest */
288 static int hf_s1ap_SAEBearerToBeSetupListHOReq_PDU = -1;  /* SAEBearerToBeSetupListHOReq */
289 static int hf_s1ap_SAEBearerToBeSetupItemHOReq_PDU = -1;  /* SAEBearerToBeSetupItemHOReq */
290 static int hf_s1ap_UTRANtoLTEHOInformationReq_PDU = -1;  /* UTRANtoLTEHOInformationReq */
291 static int hf_s1ap_GERANtoLTEHOInformationReq_PDU = -1;  /* GERANtoLTEHOInformationReq */
292 static int hf_s1ap_HandoverRequestAcknowledge_PDU = -1;  /* HandoverRequestAcknowledge */
293 static int hf_s1ap_SAEBearerAdmittedList_PDU = -1;  /* SAEBearerAdmittedList */
294 static int hf_s1ap_SAEBearerAdmittedItem_PDU = -1;  /* SAEBearerAdmittedItem */
295 static int hf_s1ap_SAEBearerFailedtoSetupListHOReqAck_PDU = -1;  /* SAEBearerFailedtoSetupListHOReqAck */
296 static int hf_s1ap_SAEBearerFailedToSetupItemHOReqAck_PDU = -1;  /* SAEBearerFailedToSetupItemHOReqAck */
297 static int hf_s1ap_UTRANtoLTEHOInformationRes_PDU = -1;  /* UTRANtoLTEHOInformationRes */
298 static int hf_s1ap_GERANtoLTEHOInformationRes_PDU = -1;  /* GERANtoLTEHOInformationRes */
299 static int hf_s1ap_HandoverFailure_PDU = -1;      /* HandoverFailure */
300 static int hf_s1ap_HandoverNotify_PDU = -1;       /* HandoverNotify */
301 static int hf_s1ap_PathSwitchRequest_PDU = -1;    /* PathSwitchRequest */
302 static int hf_s1ap_SAEBearerToBeSwitchedDLList_PDU = -1;  /* SAEBearerToBeSwitchedDLList */
303 static int hf_s1ap_SAEBearerToBeSwitchedDLItem_PDU = -1;  /* SAEBearerToBeSwitchedDLItem */
304 static int hf_s1ap_PathSwitchRequestAcknowledge_PDU = -1;  /* PathSwitchRequestAcknowledge */
305 static int hf_s1ap_SAEBearerToBeSwitchedULList_PDU = -1;  /* SAEBearerToBeSwitchedULList */
306 static int hf_s1ap_SAEBearerToBeSwitchedULItem_PDU = -1;  /* SAEBearerToBeSwitchedULItem */
307 static int hf_s1ap_PathSwitchRequestFailure_PDU = -1;  /* PathSwitchRequestFailure */
308 static int hf_s1ap_HandoverCancel_PDU = -1;       /* HandoverCancel */
309 static int hf_s1ap_HandoverCancelAcknowledge_PDU = -1;  /* HandoverCancelAcknowledge */
310 static int hf_s1ap_SAEBearerSetupRequest_PDU = -1;  /* SAEBearerSetupRequest */
311 static int hf_s1ap_SAEBearerToBeSetupListBearerSUReq_PDU = -1;  /* SAEBearerToBeSetupListBearerSUReq */
312 static int hf_s1ap_SAEBearerToBeSetupItemBearerSUReq_PDU = -1;  /* SAEBearerToBeSetupItemBearerSUReq */
313 static int hf_s1ap_SAEBearerSetupResponse_PDU = -1;  /* SAEBearerSetupResponse */
314 static int hf_s1ap_SAEBearerSetupListBearerSURes_PDU = -1;  /* SAEBearerSetupListBearerSURes */
315 static int hf_s1ap_SAEBearerSetupItemBearerSURes_PDU = -1;  /* SAEBearerSetupItemBearerSURes */
316 static int hf_s1ap_SAEBearerModifyRequest_PDU = -1;  /* SAEBearerModifyRequest */
317 static int hf_s1ap_SAEBearerToBeModifiedListBearerModReq_PDU = -1;  /* SAEBearerToBeModifiedListBearerModReq */
318 static int hf_s1ap_SAEBearerToBeModifiedItemBearerModReq_PDU = -1;  /* SAEBearerToBeModifiedItemBearerModReq */
319 static int hf_s1ap_SAEBearerModifyResponse_PDU = -1;  /* SAEBearerModifyResponse */
320 static int hf_s1ap_SAEBearerModifyListBearerModRes_PDU = -1;  /* SAEBearerModifyListBearerModRes */
321 static int hf_s1ap_SAEBearerModifyItemBearerModRes_PDU = -1;  /* SAEBearerModifyItemBearerModRes */
322 static int hf_s1ap_SAEBearerReleaseCommand_PDU = -1;  /* SAEBearerReleaseCommand */
323 static int hf_s1ap_SAEBearerReleaseResponse_PDU = -1;  /* SAEBearerReleaseResponse */
324 static int hf_s1ap_SAEBearerReleaseListBearerRelComp_PDU = -1;  /* SAEBearerReleaseListBearerRelComp */
325 static int hf_s1ap_SAEBearerReleaseItemBearerRelComp_PDU = -1;  /* SAEBearerReleaseItemBearerRelComp */
326 static int hf_s1ap_SAEBearerReleaseRequest_PDU = -1;  /* SAEBearerReleaseRequest */
327 static int hf_s1ap_InitialContextSetupRequest_PDU = -1;  /* InitialContextSetupRequest */
328 static int hf_s1ap_UEContextReleaseRequest_PDU = -1;  /* UEContextReleaseRequest */
329 static int hf_s1ap_SAEBearerToBeSetupListCtxtSUReq_PDU = -1;  /* SAEBearerToBeSetupListCtxtSUReq */
330 static int hf_s1ap_SAEBearerToBeSetupItemCtxtSUReq_PDU = -1;  /* SAEBearerToBeSetupItemCtxtSUReq */
331 static int hf_s1ap_InitialContextSetupResponse_PDU = -1;  /* InitialContextSetupResponse */
332 static int hf_s1ap_SAEBearerSetupListCtxtSURes_PDU = -1;  /* SAEBearerSetupListCtxtSURes */
333 static int hf_s1ap_SAEBearerSetupItemCtxtSURes_PDU = -1;  /* SAEBearerSetupItemCtxtSURes */
334 static int hf_s1ap_InitialContextSetupFailure_PDU = -1;  /* InitialContextSetupFailure */
335 static int hf_s1ap_Paging_PDU = -1;               /* Paging */
336 static int hf_s1ap_TAIList_PDU = -1;              /* TAIList */
337 static int hf_s1ap_TAIItem_PDU = -1;              /* TAIItem */
338 static int hf_s1ap_UEContextReleaseCommand_PDU = -1;  /* UEContextReleaseCommand */
339 static int hf_s1ap_UEContextReleaseComplete_PDU = -1;  /* UEContextReleaseComplete */
340 static int hf_s1ap_UEContextModificationRequest_PDU = -1;  /* UEContextModificationRequest */
341 static int hf_s1ap_UEContextModificationResponse_PDU = -1;  /* UEContextModificationResponse */
342 static int hf_s1ap_UEContextModificationFailure_PDU = -1;  /* UEContextModificationFailure */
343 static int hf_s1ap_DownlinkNASTransport_PDU = -1;  /* DownlinkNASTransport */
344 static int hf_s1ap_InitialUEMessage_PDU = -1;     /* InitialUEMessage */
345 static int hf_s1ap_UplinkNASTransport_PDU = -1;   /* UplinkNASTransport */
346 static int hf_s1ap_NASNonDeliveryIndication_PDU = -1;  /* NASNonDeliveryIndication */
347 static int hf_s1ap_Reset_PDU = -1;                /* Reset */
348 static int hf_s1ap_ResetType_PDU = -1;            /* ResetType */
349 static int hf_s1ap_ResetAcknowledge_PDU = -1;     /* ResetAcknowledge */
350 static int hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_PDU = -1;  /* UE_associatedLogicalS1_ConnectionListResAck */
351 static int hf_s1ap_ErrorIndication_PDU = -1;      /* ErrorIndication */
352 static int hf_s1ap_S1SetupRequest_PDU = -1;       /* S1SetupRequest */
353 static int hf_s1ap_S1SetupResponse_PDU = -1;      /* S1SetupResponse */
354 static int hf_s1ap_S1SetupFailure_PDU = -1;       /* S1SetupFailure */
355 static int hf_s1ap_ENBConfigurationUpdate_PDU = -1;  /* ENBConfigurationUpdate */
356 static int hf_s1ap_ENBConfigurationUpdateAcknowledge_PDU = -1;  /* ENBConfigurationUpdateAcknowledge */
357 static int hf_s1ap_ENBConfigurationUpdateFailure_PDU = -1;  /* ENBConfigurationUpdateFailure */
358 static int hf_s1ap_MMEConfigurationUpdate_PDU = -1;  /* MMEConfigurationUpdate */
359 static int hf_s1ap_MMEConfigurationUpdateAcknowledge_PDU = -1;  /* MMEConfigurationUpdateAcknowledge */
360 static int hf_s1ap_MMEConfigurationUpdateFailure_PDU = -1;  /* MMEConfigurationUpdateFailure */
361 static int hf_s1ap_DownlinkS1cdma2000tunneling_PDU = -1;  /* DownlinkS1cdma2000tunneling */
362 static int hf_s1ap_UplinkS1cdma2000tunneling_PDU = -1;  /* UplinkS1cdma2000tunneling */
363 static int hf_s1ap_UECapabilityInfoIndication_PDU = -1;  /* UECapabilityInfoIndication */
364 static int hf_s1ap_ENBStatusTransfer_PDU = -1;    /* ENBStatusTransfer */
365 static int hf_s1ap_MMEStatusTransfer_PDU = -1;    /* MMEStatusTransfer */
366 static int hf_s1ap_TraceStart_PDU = -1;           /* TraceStart */
367 static int hf_s1ap_TraceFailureIndication_PDU = -1;  /* TraceFailureIndication */
368 static int hf_s1ap_DeactivateTrace_PDU = -1;      /* DeactivateTrace */
369 static int hf_s1ap_LocationReportingControl_PDU = -1;  /* LocationReportingControl */
370 static int hf_s1ap_LocationReportingFailureIndication_PDU = -1;  /* LocationReportingFailureIndication */
371 static int hf_s1ap_LocationReport_PDU = -1;       /* LocationReport */
372 static int hf_s1ap_S1AP_PDU_PDU = -1;             /* S1AP_PDU */
373 static int hf_s1ap_local = -1;                    /* INTEGER_0_65535 */
374 static int hf_s1ap_global = -1;                   /* OBJECT_IDENTIFIER */
375 static int hf_s1ap_ProtocolIE_Container_item = -1;  /* ProtocolIE_Field */
376 static int hf_s1ap_id = -1;                       /* ProtocolIE_ID */
377 static int hf_s1ap_criticality = -1;              /* Criticality */
378 static int hf_s1ap_ie_field_value = -1;           /* T_ie_field_value */
379 static int hf_s1ap_ProtocolIE_ContainerPair_item = -1;  /* ProtocolIE_FieldPair */
380 static int hf_s1ap_firstCriticality = -1;         /* Criticality */
381 static int hf_s1ap_firstValue = -1;               /* T_firstValue */
382 static int hf_s1ap_secondCriticality = -1;        /* Criticality */
383 static int hf_s1ap_secondValue = -1;              /* T_secondValue */
384 static int hf_s1ap_ProtocolIE_ContainerList_item = -1;  /* ProtocolIE_SingleContainer */
385 static int hf_s1ap_ProtocolIE_ContainerPairList_item = -1;  /* ProtocolIE_ContainerPair */
386 static int hf_s1ap_ProtocolExtensionContainer_item = -1;  /* ProtocolExtensionField */
387 static int hf_s1ap_ext_id = -1;                   /* ProtocolExtensionID */
388 static int hf_s1ap_extensionValue = -1;           /* T_extensionValue */
389 static int hf_s1ap_PrivateIE_Container_item = -1;  /* PrivateIE_Field */
390 static int hf_s1ap_private_id = -1;               /* PrivateIE_ID */
391 static int hf_s1ap_private_value = -1;            /* T_private_value */
392 static int hf_s1ap_priorityLevel = -1;            /* PriorityLevel */
393 static int hf_s1ap_iE_Extensions = -1;            /* ProtocolExtensionContainer */
394 static int hf_s1ap_aggregateMaximumBitRateDL = -1;  /* SAE_Bearer_BitRate */
395 static int hf_s1ap_aggregateMaximumBitRateUL = -1;  /* SAE_Bearer_BitRate */
396 static int hf_s1ap_Bearers_SubjectToStatusTransferList_item = -1;  /* ProtocolIE_SingleContainer */
397 static int hf_s1ap_sAE_Bearer_ID = -1;            /* SAE_Bearer_ID */
398 static int hf_s1ap_uL_COUNTvalue = -1;            /* COUNTvalue */
399 static int hf_s1ap_dL_COUNTvalue = -1;            /* COUNTvalue */
400 static int hf_s1ap_BPLMNs_item = -1;              /* PLMNidentity */
401 static int hf_s1ap_radioNetwork = -1;             /* CauseRadioNetwork */
402 static int hf_s1ap_transport = -1;                /* CauseTransport */
403 static int hf_s1ap_nas = -1;                      /* CauseNas */
404 static int hf_s1ap_protocol = -1;                 /* CauseProtocol */
405 static int hf_s1ap_misc = -1;                     /* CauseMisc */
406 static int hf_s1ap_pLMNidentity = -1;             /* PLMNidentity */
407 static int hf_s1ap_lAC = -1;                      /* LAC */
408 static int hf_s1ap_cI = -1;                       /* CI */
409 static int hf_s1ap_pDCP_SN = -1;                  /* PDCP_SN */
410 static int hf_s1ap_hFN = -1;                      /* HFN */
411 static int hf_s1ap_procedureCode = -1;            /* ProcedureCode */
412 static int hf_s1ap_triggeringMessage = -1;        /* TriggeringMessage */
413 static int hf_s1ap_procedureCriticality = -1;     /* Criticality */
414 static int hf_s1ap_iEsCriticalityDiagnostics = -1;  /* CriticalityDiagnostics_IE_List */
415 static int hf_s1ap_CriticalityDiagnostics_IE_List_item = -1;  /* CriticalityDiagnostics_IE_Item */
416 static int hf_s1ap_iECriticality = -1;            /* Criticality */
417 static int hf_s1ap_iE_ID = -1;                    /* ProtocolIE_ID */
418 static int hf_s1ap_typeOfError = -1;              /* TypeOfError */
419 static int hf_s1ap_bearers_SubjectToStatusTransferList = -1;  /* Bearers_SubjectToStatusTransferList */
420 static int hf_s1ap_EPLMNs_item = -1;              /* PLMNidentity */
421 static int hf_s1ap_ForbiddenTAs_item = -1;        /* ForbiddenTAs_Item */
422 static int hf_s1ap_pLMN_Identity = -1;            /* PLMNidentity */
423 static int hf_s1ap_forbiddenTACs = -1;            /* ForbiddenTACs */
424 static int hf_s1ap_ForbiddenTACs_item = -1;       /* TAC */
425 static int hf_s1ap_ForbiddenLAs_item = -1;        /* ForbiddenLAs_Item */
426 static int hf_s1ap_forbiddenLACs = -1;            /* ForbiddenLACs */
427 static int hf_s1ap_ForbiddenLACs_item = -1;       /* LAC */
428 static int hf_s1ap_mME_Group_ID = -1;             /* MME_Group_ID */
429 static int hf_s1ap_mME_Code = -1;                 /* MME_Code */
430 static int hf_s1ap_servingPLMN = -1;              /* PLMNidentity */
431 static int hf_s1ap_equivalentPLMNs = -1;          /* EPLMNs */
432 static int hf_s1ap_forbiddenTAs = -1;             /* ForbiddenTAs */
433 static int hf_s1ap_forbiddenLAs = -1;             /* ForbiddenLAs */
434 static int hf_s1ap_forbiddenInterRATs = -1;       /* ForbiddenInterRATs */
435 static int hf_s1ap_InterfacesToTraceList_item = -1;  /* InterfacesToTraceItem */
436 static int hf_s1ap_interfaceType = -1;            /* InterfaceType */
437 static int hf_s1ap_traceDepth = -1;               /* TraceDepth */
438 static int hf_s1ap_eventType = -1;                /* EventType */
439 static int hf_s1ap_reportArea = -1;               /* ReportArea */
440 static int hf_s1ap_SAEBearerInformationList_item = -1;  /* ProtocolIE_SingleContainer */
441 static int hf_s1ap_dL_Forwarding = -1;            /* DL_Forwarding */
442 static int hf_s1ap_SAEBearerList_item = -1;       /* ProtocolIE_SingleContainer */
443 static int hf_s1ap_cause = -1;                    /* Cause */
444 static int hf_s1ap_qCI = -1;                      /* QCI */
445 static int hf_s1ap_allocationRetentionPriority = -1;  /* AllocationRetentionPriority */
446 static int hf_s1ap_sAE_BearerType = -1;           /* SAE_Bearer_Type */
447 static int hf_s1ap_sAE_GBR_Bearer = -1;           /* SAE_GBR_Bearer */
448 static int hf_s1ap_sAE_non_GBR_Bearer = -1;       /* SAE_non_GBR_Bearer */
449 static int hf_s1ap_sAE_Bearer_MaximumBitrateDL = -1;  /* SAE_Bearer_BitRate */
450 static int hf_s1ap_sAE_Bearer_MaximumBitrateUL = -1;  /* SAE_Bearer_BitRate */
451 static int hf_s1ap_sAE_Bearer_GuaranteedBitrateDL = -1;  /* SAE_Bearer_BitRate */
452 static int hf_s1ap_sAE_Bearer_GuaranteedBitrateUL = -1;  /* SAE_Bearer_BitRate */
453 static int hf_s1ap_sAE_non_GBR_Bearer_Type = -1;  /* SAE_non_GBR_Bearer_Type */
454 static int hf_s1ap_securityKey = -1;              /* SecurityKey */
455 static int hf_s1ap_securityPlaceHolder = -1;      /* SecurityPlaceHolder */
456 static int hf_s1ap_sourceeNB_ID = -1;             /* SourceeNB_ID */
457 static int hf_s1ap_eNB_Global_ID = -1;            /* ENB_Global_ID */
458 static int hf_s1ap_rRC_Container = -1;            /* RRC_Container */
459 static int hf_s1ap_sAEBearerInformationList = -1;  /* SAEBearerInformationList */
460 static int hf_s1ap_ServedPLMNs_item = -1;         /* PLMNidentity */
461 static int hf_s1ap_SupportedTAs_item = -1;        /* SupportedTAs_Item */
462 static int hf_s1ap_tAC = -1;                      /* TAC */
463 static int hf_s1ap_broadcastPLMNs = -1;           /* BPLMNs */
464 static int hf_s1ap_mMEC = -1;                     /* MME_Code */
465 static int hf_s1ap_m_TMSI = -1;                   /* M_TMSI */
466 static int hf_s1ap_targeteNB_ID = -1;             /* TargeteNB_ID */
467 static int hf_s1ap_targetRNC_ID = -1;             /* TargetRNC_ID */
468 static int hf_s1ap_cGI = -1;                      /* CGI */
469 static int hf_s1ap_lAI = -1;                      /* LAI */
470 static int hf_s1ap_rAC = -1;                      /* RAC */
471 static int hf_s1ap_rNC_ID = -1;                   /* RNC_ID */
472 static int hf_s1ap_traceReference = -1;           /* TraceReference */
473 static int hf_s1ap_interfacesToTraceList = -1;    /* InterfacesToTraceList */
474 static int hf_s1ap_uE_S1AP_ID_pair = -1;          /* UE_S1AP_ID_pair */
475 static int hf_s1ap_mME_UE_S1AP_ID = -1;           /* MME_UE_S1AP_ID */
476 static int hf_s1ap_eNB_UE_S1AP_ID = -1;           /* ENB_UE_S1AP_ID */
477 static int hf_s1ap_s_TMSI = -1;                   /* S_TMSI */
478 static int hf_s1ap_iMSI = -1;                     /* IMSI */
479 static int hf_s1ap_protocolIEs = -1;              /* ProtocolIE_Container */
480 static int hf_s1ap_sourceeNodeB_ToTargeteNodeB_TransparentContainer = -1;  /* SourceeNodeB_ToTargeteNodeB_TransparentContainer */
481 static int hf_s1ap_sourceRNC_ToTargetRNC_TransparentContainer = -1;  /* SourceRNC_ToTargetRNC_TransparentContainer */
482 static int hf_s1ap_sourceBSS_ToTargetBSS_TransparentContainer = -1;  /* SourceBSS_ToTargetBSS_TransparentContainer */
483 static int hf_s1ap_dL_transportLayerAddress = -1;  /* TransportLayerAddress */
484 static int hf_s1ap_dL_gTP_TEID = -1;              /* GTP_TEID */
485 static int hf_s1ap_targeteNodeB_ToSourceeNodeB_TransparentContainer = -1;  /* TargeteNodeB_ToSourceeNodeB_TransparentContainer */
486 static int hf_s1ap_targetRNC_ToSourceRNC_TransparentContainer = -1;  /* TargetRNC_ToSourceRNC_TransparentContainer */
487 static int hf_s1ap_targetBSS_ToSourceBSS_TransparentContainer = -1;  /* TargetBSS_ToSourceBSS_TransparentContainer */
488 static int hf_s1ap_transportLayerAddress = -1;    /* TransportLayerAddress */
489 static int hf_s1ap_gTP_TEID = -1;                 /* GTP_TEID */
490 static int hf_s1ap_sAE_BearerlevelQosParameters = -1;  /* SAE_BearerLevelQoSParameters */
491 static int hf_s1ap_SAEBearerToBeSetupListBearerSUReq_item = -1;  /* ProtocolIE_SingleContainer */
492 static int hf_s1ap_sAE_BearerlevelQoSParameters = -1;  /* SAE_BearerLevelQoSParameters */
493 static int hf_s1ap_SAEBearerSetupListBearerSURes_item = -1;  /* ProtocolIE_SingleContainer */
494 static int hf_s1ap_SAEBearerToBeModifiedListBearerModReq_item = -1;  /* ProtocolIE_SingleContainer */
495 static int hf_s1ap_sAE_BearerLevelQoSParameters = -1;  /* SAE_BearerLevelQoSParameters */
496 static int hf_s1ap_SAEBearerModifyListBearerModRes_item = -1;  /* ProtocolIE_SingleContainer */
497 static int hf_s1ap_SAEBearerReleaseListBearerRelComp_item = -1;  /* ProtocolIE_SingleContainer */
498 static int hf_s1ap_SAEBearerToBeSetupListCtxtSUReq_item = -1;  /* ProtocolIE_SingleContainer */
499 static int hf_s1ap_SAEBearerSetupListCtxtSURes_item = -1;  /* ProtocolIE_SingleContainer */
500 static int hf_s1ap_TAIList_item = -1;             /* ProtocolIE_SingleContainer */
501 static int hf_s1ap_tAI = -1;                      /* TAI */
502 static int hf_s1ap_s1_Interface = -1;             /* ResetAll */
503 static int hf_s1ap_partOfS1_Interface = -1;       /* UE_associatedLogicalS1_ConnectionListRes */
504 static int hf_s1ap_UE_associatedLogicalS1_ConnectionListRes_item = -1;  /* ProtocolIE_SingleContainer */
505 static int hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_item = -1;  /* ProtocolIE_SingleContainer */
506 static int hf_s1ap_initiatingMessage = -1;        /* InitiatingMessage */
507 static int hf_s1ap_successfulOutcome = -1;        /* SuccessfulOutcome */
508 static int hf_s1ap_unsuccessfulOutcome = -1;      /* UnsuccessfulOutcome */
509 static int hf_s1ap_initiatingMessagevalue = -1;   /* InitiatingMessage_value */
510 static int hf_s1ap_successfulOutcome_value = -1;  /* SuccessfulOutcome_value */
511 static int hf_s1ap_unsuccessfulOutcome_value = -1;  /* UnsuccessfulOutcome_value */
512
513 /*--- End of included file: packet-s1ap-hf.c ---*/
514 #line 66 "packet-s1ap-template.c"
515
516 /* Initialize the subtree pointers */
517 static int ett_s1ap = -1;
518
519
520 /*--- Included file: packet-s1ap-ett.c ---*/
521 #line 1 "packet-s1ap-ett.c"
522 static gint ett_s1ap_PrivateIE_ID = -1;
523 static gint ett_s1ap_ProtocolIE_Container = -1;
524 static gint ett_s1ap_ProtocolIE_Field = -1;
525 static gint ett_s1ap_ProtocolIE_ContainerPair = -1;
526 static gint ett_s1ap_ProtocolIE_FieldPair = -1;
527 static gint ett_s1ap_ProtocolIE_ContainerList = -1;
528 static gint ett_s1ap_ProtocolIE_ContainerPairList = -1;
529 static gint ett_s1ap_ProtocolExtensionContainer = -1;
530 static gint ett_s1ap_ProtocolExtensionField = -1;
531 static gint ett_s1ap_PrivateIE_Container = -1;
532 static gint ett_s1ap_PrivateIE_Field = -1;
533 static gint ett_s1ap_AllocationRetentionPriority = -1;
534 static gint ett_s1ap_AggregateMaximumBitrate = -1;
535 static gint ett_s1ap_Bearers_SubjectToStatusTransferList = -1;
536 static gint ett_s1ap_Bearers_SubjectToStatusTransfer_Item = -1;
537 static gint ett_s1ap_BPLMNs = -1;
538 static gint ett_s1ap_Cause = -1;
539 static gint ett_s1ap_CGI = -1;
540 static gint ett_s1ap_COUNTvalue = -1;
541 static gint ett_s1ap_CriticalityDiagnostics = -1;
542 static gint ett_s1ap_CriticalityDiagnostics_IE_List = -1;
543 static gint ett_s1ap_CriticalityDiagnostics_IE_Item = -1;
544 static gint ett_s1ap_ENB_StatusTransfer_TransparentContainer = -1;
545 static gint ett_s1ap_EPLMNs = -1;
546 static gint ett_s1ap_ForbiddenTAs = -1;
547 static gint ett_s1ap_ForbiddenTAs_Item = -1;
548 static gint ett_s1ap_ForbiddenTACs = -1;
549 static gint ett_s1ap_ForbiddenLAs = -1;
550 static gint ett_s1ap_ForbiddenLAs_Item = -1;
551 static gint ett_s1ap_ForbiddenLACs = -1;
552 static gint ett_s1ap_GUMMEI = -1;
553 static gint ett_s1ap_HandoverRestrictionList = -1;
554 static gint ett_s1ap_InterfacesToTraceList = -1;
555 static gint ett_s1ap_InterfacesToTraceItem = -1;
556 static gint ett_s1ap_LAI = -1;
557 static gint ett_s1ap_RequestType = -1;
558 static gint ett_s1ap_SAEBearerInformationList = -1;
559 static gint ett_s1ap_SAEBearerInformationListItem = -1;
560 static gint ett_s1ap_SAEBearerList = -1;
561 static gint ett_s1ap_SAEBearerItem = -1;
562 static gint ett_s1ap_SAE_BearerLevelQoSParameters = -1;
563 static gint ett_s1ap_SAE_Bearer_Type = -1;
564 static gint ett_s1ap_SAE_GBR_Bearer = -1;
565 static gint ett_s1ap_SAE_non_GBR_Bearer = -1;
566 static gint ett_s1ap_SecurityInfo = -1;
567 static gint ett_s1ap_SecurityInformation = -1;
568 static gint ett_s1ap_SourceID = -1;
569 static gint ett_s1ap_SourceeNB_ID = -1;
570 static gint ett_s1ap_SourceeNodeB_ToTargeteNodeB_TransparentContainer = -1;
571 static gint ett_s1ap_ServedPLMNs = -1;
572 static gint ett_s1ap_SupportedTAs = -1;
573 static gint ett_s1ap_SupportedTAs_Item = -1;
574 static gint ett_s1ap_S_TMSI = -1;
575 static gint ett_s1ap_TAI = -1;
576 static gint ett_s1ap_TargetID = -1;
577 static gint ett_s1ap_TargeteNB_ID = -1;
578 static gint ett_s1ap_TargetRNC_ID = -1;
579 static gint ett_s1ap_TargeteNodeB_ToSourceeNodeB_TransparentContainer = -1;
580 static gint ett_s1ap_TraceActivation = -1;
581 static gint ett_s1ap_UE_S1AP_IDs = -1;
582 static gint ett_s1ap_UE_S1AP_ID_pair = -1;
583 static gint ett_s1ap_UE_associatedLogicalS1_ConnectionItem = -1;
584 static gint ett_s1ap_UEPagingID = -1;
585 static gint ett_s1ap_HandoverRequired = -1;
586 static gint ett_s1ap_Intra_LTEHOInformationReq = -1;
587 static gint ett_s1ap_LTEtoUTRANHOInformationReq = -1;
588 static gint ett_s1ap_LTEtoGERANHOInformationReq = -1;
589 static gint ett_s1ap_HandoverCommand = -1;
590 static gint ett_s1ap_SAEBearerDataForwardingItem = -1;
591 static gint ett_s1ap_SAEBearerReleaseItemHOCmd = -1;
592 static gint ett_s1ap_Intra_LTEHOInformationRes = -1;
593 static gint ett_s1ap_LTEtoUTRANHOInformationRes = -1;
594 static gint ett_s1ap_LTEtoGERANHOInformationRes = -1;
595 static gint ett_s1ap_HandoverPreparationFailure = -1;
596 static gint ett_s1ap_HandoverRequest = -1;
597 static gint ett_s1ap_SAEBearerToBeSetupItemHOReq = -1;
598 static gint ett_s1ap_UTRANtoLTEHOInformationReq = -1;
599 static gint ett_s1ap_GERANtoLTEHOInformationReq = -1;
600 static gint ett_s1ap_HandoverRequestAcknowledge = -1;
601 static gint ett_s1ap_SAEBearerAdmittedItem = -1;
602 static gint ett_s1ap_SAEBearerFailedToSetupItemHOReqAck = -1;
603 static gint ett_s1ap_UTRANtoLTEHOInformationRes = -1;
604 static gint ett_s1ap_GERANtoLTEHOInformationRes = -1;
605 static gint ett_s1ap_HandoverFailure = -1;
606 static gint ett_s1ap_HandoverNotify = -1;
607 static gint ett_s1ap_PathSwitchRequest = -1;
608 static gint ett_s1ap_SAEBearerToBeSwitchedDLItem = -1;
609 static gint ett_s1ap_PathSwitchRequestAcknowledge = -1;
610 static gint ett_s1ap_SAEBearerToBeSwitchedULItem = -1;
611 static gint ett_s1ap_PathSwitchRequestFailure = -1;
612 static gint ett_s1ap_HandoverCancel = -1;
613 static gint ett_s1ap_HandoverCancelAcknowledge = -1;
614 static gint ett_s1ap_SAEBearerSetupRequest = -1;
615 static gint ett_s1ap_SAEBearerToBeSetupListBearerSUReq = -1;
616 static gint ett_s1ap_SAEBearerToBeSetupItemBearerSUReq = -1;
617 static gint ett_s1ap_SAEBearerSetupResponse = -1;
618 static gint ett_s1ap_SAEBearerSetupListBearerSURes = -1;
619 static gint ett_s1ap_SAEBearerSetupItemBearerSURes = -1;
620 static gint ett_s1ap_SAEBearerModifyRequest = -1;
621 static gint ett_s1ap_SAEBearerToBeModifiedListBearerModReq = -1;
622 static gint ett_s1ap_SAEBearerToBeModifiedItemBearerModReq = -1;
623 static gint ett_s1ap_SAEBearerModifyResponse = -1;
624 static gint ett_s1ap_SAEBearerModifyListBearerModRes = -1;
625 static gint ett_s1ap_SAEBearerModifyItemBearerModRes = -1;
626 static gint ett_s1ap_SAEBearerReleaseCommand = -1;
627 static gint ett_s1ap_SAEBearerReleaseResponse = -1;
628 static gint ett_s1ap_SAEBearerReleaseListBearerRelComp = -1;
629 static gint ett_s1ap_SAEBearerReleaseItemBearerRelComp = -1;
630 static gint ett_s1ap_SAEBearerReleaseRequest = -1;
631 static gint ett_s1ap_InitialContextSetupRequest = -1;
632 static gint ett_s1ap_UEContextReleaseRequest = -1;
633 static gint ett_s1ap_SAEBearerToBeSetupListCtxtSUReq = -1;
634 static gint ett_s1ap_SAEBearerToBeSetupItemCtxtSUReq = -1;
635 static gint ett_s1ap_InitialContextSetupResponse = -1;
636 static gint ett_s1ap_SAEBearerSetupListCtxtSURes = -1;
637 static gint ett_s1ap_SAEBearerSetupItemCtxtSURes = -1;
638 static gint ett_s1ap_InitialContextSetupFailure = -1;
639 static gint ett_s1ap_Paging = -1;
640 static gint ett_s1ap_TAIList = -1;
641 static gint ett_s1ap_TAIItem = -1;
642 static gint ett_s1ap_UEContextReleaseCommand = -1;
643 static gint ett_s1ap_UEContextReleaseComplete = -1;
644 static gint ett_s1ap_UEContextModificationRequest = -1;
645 static gint ett_s1ap_UEContextModificationResponse = -1;
646 static gint ett_s1ap_UEContextModificationFailure = -1;
647 static gint ett_s1ap_DownlinkNASTransport = -1;
648 static gint ett_s1ap_InitialUEMessage = -1;
649 static gint ett_s1ap_UplinkNASTransport = -1;
650 static gint ett_s1ap_NASNonDeliveryIndication = -1;
651 static gint ett_s1ap_Reset = -1;
652 static gint ett_s1ap_ResetType = -1;
653 static gint ett_s1ap_UE_associatedLogicalS1_ConnectionListRes = -1;
654 static gint ett_s1ap_ResetAcknowledge = -1;
655 static gint ett_s1ap_UE_associatedLogicalS1_ConnectionListResAck = -1;
656 static gint ett_s1ap_ErrorIndication = -1;
657 static gint ett_s1ap_S1SetupRequest = -1;
658 static gint ett_s1ap_S1SetupResponse = -1;
659 static gint ett_s1ap_S1SetupFailure = -1;
660 static gint ett_s1ap_ENBConfigurationUpdate = -1;
661 static gint ett_s1ap_ENBConfigurationUpdateAcknowledge = -1;
662 static gint ett_s1ap_ENBConfigurationUpdateFailure = -1;
663 static gint ett_s1ap_MMEConfigurationUpdate = -1;
664 static gint ett_s1ap_MMEConfigurationUpdateAcknowledge = -1;
665 static gint ett_s1ap_MMEConfigurationUpdateFailure = -1;
666 static gint ett_s1ap_DownlinkS1cdma2000tunneling = -1;
667 static gint ett_s1ap_UplinkS1cdma2000tunneling = -1;
668 static gint ett_s1ap_UECapabilityInfoIndication = -1;
669 static gint ett_s1ap_ENBStatusTransfer = -1;
670 static gint ett_s1ap_MMEStatusTransfer = -1;
671 static gint ett_s1ap_TraceStart = -1;
672 static gint ett_s1ap_TraceFailureIndication = -1;
673 static gint ett_s1ap_DeactivateTrace = -1;
674 static gint ett_s1ap_LocationReportingControl = -1;
675 static gint ett_s1ap_LocationReportingFailureIndication = -1;
676 static gint ett_s1ap_LocationReport = -1;
677 static gint ett_s1ap_S1AP_PDU = -1;
678 static gint ett_s1ap_InitiatingMessage = -1;
679 static gint ett_s1ap_SuccessfulOutcome = -1;
680 static gint ett_s1ap_UnsuccessfulOutcome = -1;
681
682 /*--- End of included file: packet-s1ap-ett.c ---*/
683 #line 71 "packet-s1ap-template.c"
684
685 /* Global variables */
686 static guint32 ProcedureCode;
687 static guint32 ProtocolIE_ID;
688 static guint32 ProtocolExtensionID;
689
690 /* Dissector tables */
691 static dissector_table_t s1ap_ies_dissector_table;
692 static dissector_table_t s1ap_ies_p1_dissector_table;
693 static dissector_table_t s1ap_ies_p2_dissector_table;
694 static dissector_table_t s1ap_extension_dissector_table;
695 static dissector_table_t s1ap_proc_imsg_dissector_table;
696 static dissector_table_t s1ap_proc_sout_dissector_table;
697 static dissector_table_t s1ap_proc_uout_dissector_table;
698 static dissector_table_t s1ap_proc_out_dissector_table;
699
700 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
701 static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
702 static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
703 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
704 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
705 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
706 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
707 static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
708
709
710 /*--- Included file: packet-s1ap-fn.c ---*/
711 #line 1 "packet-s1ap-fn.c"
712
713 static const value_string s1ap_Criticality_vals[] = {
714   {   0, "reject" },
715   {   1, "ignore" },
716   {   2, "notify" },
717   { 0, NULL }
718 };
719
720
721 static int
722 dissect_s1ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
723   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
724                                      3, NULL, FALSE, 0, NULL);
725
726   return offset;
727 }
728
729
730 static const value_string s1ap_Presence_vals[] = {
731   {   0, "optional" },
732   {   1, "conditional" },
733   {   2, "mandatory" },
734   { 0, NULL }
735 };
736
737
738 static int
739 dissect_s1ap_Presence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
740   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
741                                      3, NULL, FALSE, 0, NULL);
742
743   return offset;
744 }
745
746
747
748 static int
749 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_) {
750   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
751                                                             0U, 65535U, NULL, FALSE);
752
753   return offset;
754 }
755
756
757
758 static int
759 dissect_s1ap_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
760   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
761
762   return offset;
763 }
764
765
766 static const value_string s1ap_PrivateIE_ID_vals[] = {
767   {   0, "local" },
768   {   1, "global" },
769   { 0, NULL }
770 };
771
772 static const per_choice_t PrivateIE_ID_choice[] = {
773   {   0, &hf_s1ap_local          , ASN1_NO_EXTENSIONS     , dissect_s1ap_INTEGER_0_65535 },
774   {   1, &hf_s1ap_global         , ASN1_NO_EXTENSIONS     , dissect_s1ap_OBJECT_IDENTIFIER },
775   { 0, NULL, 0, NULL }
776 };
777
778 static int
779 dissect_s1ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
780   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
781                                  ett_s1ap_PrivateIE_ID, PrivateIE_ID_choice,
782                                  NULL);
783
784   return offset;
785 }
786
787
788 static const value_string s1ap_ProcedureCode_vals[] = {
789   { id_HandoverPreparation, "id-HandoverPreparation" },
790   { id_HandoverResourceAllocation, "id-HandoverResourceAllocation" },
791   { id_HandoverNotification, "id-HandoverNotification" },
792   { id_PathSwitchRequest, "id-PathSwitchRequest" },
793   { id_HandoverCancel, "id-HandoverCancel" },
794   { id_SAEBearerSetup, "id-SAEBearerSetup" },
795   { id_SAEBearerModify, "id-SAEBearerModify" },
796   { id_SAEBearerRelease, "id-SAEBearerRelease" },
797   { id_SAEBearerReleaseRequest, "id-SAEBearerReleaseRequest" },
798   { id_InitialContextSetup, "id-InitialContextSetup" },
799   { id_Paging, "id-Paging" },
800   { id_downlinkNASTransport, "id-downlinkNASTransport" },
801   { id_initialUEMessage, "id-initialUEMessage" },
802   { id_uplinkNASTransport, "id-uplinkNASTransport" },
803   { id_Reset, "id-Reset" },
804   { id_ErrorIndication, "id-ErrorIndication" },
805   { id_NASNonDeliveryIndication, "id-NASNonDeliveryIndication" },
806   { id_S1Setup, "id-S1Setup" },
807   { id_UEContextReleaseRequest, "id-UEContextReleaseRequest" },
808   { id_DownlinkS1cdma2000tunneling, "id-DownlinkS1cdma2000tunneling" },
809   { id_UplinkS1cdma2000tunneling, "id-UplinkS1cdma2000tunneling" },
810   { id_UEContextModification, "id-UEContextModification" },
811   { id_UECapabilityInfoIndication, "id-UECapabilityInfoIndication" },
812   { id_UEContextRelease, "id-UEContextRelease" },
813   { id_eNBStatusTransfer, "id-eNBStatusTransfer" },
814   { id_MMEStatusTransfer, "id-MMEStatusTransfer" },
815   { id_DeactivateTrace, "id-DeactivateTrace" },
816   { id_TraceStart, "id-TraceStart" },
817   { id_TraceFailureIndication, "id-TraceFailureIndication" },
818   { id_ENBConfigurationUpdate, "id-ENBConfigurationUpdate" },
819   { id_MMEConfigurationUpdate, "id-MMEConfigurationUpdate" },
820   { id_LocationReportingControl, "id-LocationReportingControl" },
821   { id_LocationReportingFailureIndication, "id-LocationReportingFailureIndication" },
822   { id_LocationReport, "id-LocationReport" },
823   { 0, NULL }
824 };
825
826
827 static int
828 dissect_s1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
829   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
830                                                             0U, 255U, &ProcedureCode, FALSE);
831
832 #line 59 "s1ap.cnf"
833         if (check_col(actx->pinfo->cinfo, COL_INFO))
834        col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
835                    val_to_str(ProcedureCode, s1ap_ProcedureCode_vals,
836                               "unknown message"));
837
838   return offset;
839 }
840
841
842
843 static int
844 dissect_s1ap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
845   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
846                                                             0U, 65535U, &ProtocolExtensionID, FALSE);
847
848   return offset;
849 }
850
851
852 static const value_string s1ap_ProtocolIE_ID_vals[] = {
853   { id_MME_UE_S1AP_ID, "id-MME-UE-S1AP-ID" },
854   { id_HandoverType, "id-HandoverType" },
855   { id_Cause, "id-Cause" },
856   { id_SourceID, "id-SourceID" },
857   { id_TargetID, "id-TargetID" },
858   { id_Intra_LTEHOInformationReq, "id-Intra-LTEHOInformationReq" },
859   { id_LTEtoUTRANHOInformationReq, "id-LTEtoUTRANHOInformationReq" },
860   { id_LTEtoGERANHOInformationReq, "id-LTEtoGERANHOInformationReq" },
861   { id_eNB_UE_S1AP_ID, "id-eNB-UE-S1AP-ID" },
862   { id_Intra_LTEHOInformationRes, "id-Intra-LTEHOInformationRes" },
863   { id_LTEtoUTRANHOInformationRes, "id-LTEtoUTRANHOInformationRes" },
864   { id_LTEtoGERANHOInformationRes, "id-LTEtoGERANHOInformationRes" },
865   { id_SAEBearerSubjecttoDataForwardingList, "id-SAEBearerSubjecttoDataForwardingList" },
866   { id_SAEBearertoReleaseListHOCmd, "id-SAEBearertoReleaseListHOCmd" },
867   { id_SAEBearerDataForwardingItem, "id-SAEBearerDataForwardingItem" },
868   { id_SAEBearerReleaseItemBearerRelComp, "id-SAEBearerReleaseItemBearerRelComp" },
869   { id_SAEBearerToBeSetupListBearerSUReq, "id-SAEBearerToBeSetupListBearerSUReq" },
870   { id_SAEBearerToBeSetupItemBearerSUReq, "id-SAEBearerToBeSetupItemBearerSUReq" },
871   { id_SAEBearerAdmittedList, "id-SAEBearerAdmittedList" },
872   { id_SAEBearerFailedToSetupListHOReqAck, "id-SAEBearerFailedToSetupListHOReqAck" },
873   { id_SAEBearerAdmittedItem, "id-SAEBearerAdmittedItem" },
874   { id_SAEBearerFailedtoSetupItemHOReqAck, "id-SAEBearerFailedtoSetupItemHOReqAck" },
875   { id_SAEBearerToBeSwitchedDLList, "id-SAEBearerToBeSwitchedDLList" },
876   { id_SAEBearerToBeSwitchedDLItem, "id-SAEBearerToBeSwitchedDLItem" },
877   { id_SAEBearerToBeSetupListCtxtSUReq, "id-SAEBearerToBeSetupListCtxtSUReq" },
878   { id_TraceActivation, "id-TraceActivation" },
879   { id_NAS_PDU, "id-NAS-PDU" },
880   { id_SAEBearerToBeSetupItemHOReq, "id-SAEBearerToBeSetupItemHOReq" },
881   { id_SAEBearerSetupListBearerSURes, "id-SAEBearerSetupListBearerSURes" },
882   { id_SAEBearerFailedToSetupListBearerSURes, "id-SAEBearerFailedToSetupListBearerSURes" },
883   { id_SAEBearerToBeModifiedListBearerModReq, "id-SAEBearerToBeModifiedListBearerModReq" },
884   { id_SAEBearerModifyListBearerModRes, "id-SAEBearerModifyListBearerModRes" },
885   { id_SAEBearerFailedToModifyList, "id-SAEBearerFailedToModifyList" },
886   { id_SAEBearerToBeReleasedList, "id-SAEBearerToBeReleasedList" },
887   { id_SAEBearerFailedToReleaseList, "id-SAEBearerFailedToReleaseList" },
888   { id_SAEBearerItem, "id-SAEBearerItem" },
889   { id_SAEBearerToBeModifiedItemBearerModReq, "id-SAEBearerToBeModifiedItemBearerModReq" },
890   { id_SAEBearerModifyItemBearerModRes, "id-SAEBearerModifyItemBearerModRes" },
891   { id_SAEBearerReleaseItem, "id-SAEBearerReleaseItem" },
892   { id_SAEBearerSetupItemBearerSURes, "id-SAEBearerSetupItemBearerSURes" },
893   { id_Security_Information, "id-Security-Information" },
894   { id_HandoverRestrictionList, "id-HandoverRestrictionList" },
895   { id_UEPagingID, "id-UEPagingID" },
896   { id_pagingDRX, "id-pagingDRX" },
897   { id_pagingCause, "id-pagingCause" },
898   { id_TAIList, "id-TAIList" },
899   { id_TAIItem, "id-TAIItem" },
900   { id_SAEBearerFailedToSetupListCtxtSURes, "id-SAEBearerFailedToSetupListCtxtSURes" },
901   { id_SAEBearerReleaseItemHOCmd, "id-SAEBearerReleaseItemHOCmd" },
902   { id_SAEBearerSetupItemCtxtSURes, "id-SAEBearerSetupItemCtxtSURes" },
903   { id_SAEBearerSetupListCtxtSURes, "id-SAEBearerSetupListCtxtSURes" },
904   { id_SAEBearerToBeSetupItemCtxtSUReq, "id-SAEBearerToBeSetupItemCtxtSUReq" },
905   { id_SAEBearerToBeSetupListHOReq, "id-SAEBearerToBeSetupListHOReq" },
906   { id_GERANtoLTEHOInformationReq, "id-GERANtoLTEHOInformationReq" },
907   { id_GERANtoLTEHOInformationRes, "id-GERANtoLTEHOInformationRes" },
908   { id_UTRANtoLTEHOInformationReq, "id-UTRANtoLTEHOInformationReq" },
909   { id_UTRANtoLTEHOInformationRes, "id-UTRANtoLTEHOInformationRes" },
910   { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
911   { id_ENB_Global_ID, "id-ENB-Global-ID" },
912   { id_eNBname, "id-eNBname" },
913   { id_MMEname, "id-MMEname" },
914   { id_ServedPLMNs, "id-ServedPLMNs" },
915   { id_SupportedTAs, "id-SupportedTAs" },
916   { id_TimeToWait, "id-TimeToWait" },
917   { id_aggregateMaximumBitrate, "id-aggregateMaximumBitrate" },
918   { id_TAI, "id-TAI" },
919   { id_SAEBearerReleaseListBearerRelComp, "id-SAEBearerReleaseListBearerRelComp" },
920   { id_cdma2000PDU, "id-cdma2000PDU" },
921   { id_cdma2000RATType, "id-cdma2000RATType" },
922   { id_cdma2000SectorID, "id-cdma2000SectorID" },
923   { id_SecurityInfo, "id-SecurityInfo" },
924   { id_UERadioCapability, "id-UERadioCapability" },
925   { id_GUMMEI_ID, "id-GUMMEI-ID" },
926   { id_SAEBearerInformationListItem, "id-SAEBearerInformationListItem" },
927   { id_Direct_Forwarding_Path_Availability, "id-Direct-Forwarding-Path-Availability" },
928   { id_UEIdentityIndexValue, "id-UEIdentityIndexValue" },
929   { id_cdma2000HOStatus, "id-cdma2000HOStatus" },
930   { id_cdma2000HORequiredIndication, "id-cdma2000HORequiredIndication" },
931   { id_cdma2000OneXMEID, "id-cdma2000OneXMEID" },
932   { id_TraceReference, "id-TraceReference" },
933   { id_RelativeMMECapacity, "id-RelativeMMECapacity" },
934   { id_SourceMME_UE_S1AP_ID, "id-SourceMME-UE-S1AP-ID" },
935   { id_Bearers_SubjectToStatusTransfer_Item, "id-Bearers-SubjectToStatusTransfer-Item" },
936   { id_eNB_StatusTransfer_TransparentContainer, "id-eNB-StatusTransfer-TransparentContainer" },
937   { id_UE_associatedLogicalS1_ConnectionItem, "id-UE-associatedLogicalS1-ConnectionItem" },
938   { id_ResetType, "id-ResetType" },
939   { id_UE_associatedLogicalS1_ConnectionListResAck, "id-UE-associatedLogicalS1-ConnectionListResAck" },
940   { id_SAEBearerToBeSwitchedULItem, "id-SAEBearerToBeSwitchedULItem" },
941   { id_SAEBearerToBeSwitchedULList, "id-SAEBearerToBeSwitchedULList" },
942   { id_S_TMSI, "id-S-TMSI" },
943   { id_cdma2000OneXRAND, "id-cdma2000OneXRAND" },
944   { id_RequestType, "id-RequestType" },
945   { id_UE_S1AP_IDs, "id-UE-S1AP-IDs" },
946   { id_EUTRAN_CGI_ID, "id-EUTRAN-CGI-ID" },
947   { 0, NULL }
948 };
949
950
951 static int
952 dissect_s1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
953   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
954                                                             0U, 65535U, &ProtocolIE_ID, FALSE);
955
956 #line 43 "s1ap.cnf"
957   if (tree) {
958     proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(s1ap_ProtocolIE_ID_vals), "unknown (%d)"));
959   }
960
961   return offset;
962 }
963
964
965 static const value_string s1ap_TriggeringMessage_vals[] = {
966   {   0, "initiating-message" },
967   {   1, "successful-outcome" },
968   {   2, "unsuccessfull-outcome" },
969   { 0, NULL }
970 };
971
972
973 static int
974 dissect_s1ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
975   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
976                                      3, NULL, FALSE, 0, NULL);
977
978   return offset;
979 }
980
981
982
983 static int
984 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_) {
985   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
986
987   return offset;
988 }
989
990
991 static const per_sequence_t ProtocolIE_Field_sequence[] = {
992   { &hf_s1ap_id             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_ID },
993   { &hf_s1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
994   { &hf_s1ap_ie_field_value , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_T_ie_field_value },
995   { NULL, 0, 0, NULL }
996 };
997
998 static int
999 dissect_s1ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1000   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1001                                    ett_s1ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
1002
1003   return offset;
1004 }
1005
1006
1007 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
1008   { &hf_s1ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Field },
1009 };
1010
1011 static int
1012 dissect_s1ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1013   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1014                                                   ett_s1ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
1015                                                   0, maxProtocolIEs);
1016
1017   return offset;
1018 }
1019
1020
1021
1022 static int
1023 dissect_s1ap_ProtocolIE_SingleContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1024   offset = dissect_s1ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
1025
1026   return offset;
1027 }
1028
1029
1030
1031 static int
1032 dissect_s1ap_T_firstValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1033   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldPairFirstValue);
1034
1035   return offset;
1036 }
1037
1038
1039
1040 static int
1041 dissect_s1ap_T_secondValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1042   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldPairSecondValue);
1043
1044   return offset;
1045 }
1046
1047
1048 static const per_sequence_t ProtocolIE_FieldPair_sequence[] = {
1049   { &hf_s1ap_id             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_ID },
1050   { &hf_s1ap_firstCriticality, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
1051   { &hf_s1ap_firstValue     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_T_firstValue },
1052   { &hf_s1ap_secondCriticality, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
1053   { &hf_s1ap_secondValue    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_T_secondValue },
1054   { NULL, 0, 0, NULL }
1055 };
1056
1057 static int
1058 dissect_s1ap_ProtocolIE_FieldPair(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1059   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1060                                    ett_s1ap_ProtocolIE_FieldPair, ProtocolIE_FieldPair_sequence);
1061
1062   return offset;
1063 }
1064
1065
1066 static const per_sequence_t ProtocolIE_ContainerPair_sequence_of[1] = {
1067   { &hf_s1ap_ProtocolIE_ContainerPair_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_FieldPair },
1068 };
1069
1070 static int
1071 dissect_s1ap_ProtocolIE_ContainerPair(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1072   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1073                                                   ett_s1ap_ProtocolIE_ContainerPair, ProtocolIE_ContainerPair_sequence_of,
1074                                                   0, maxProtocolIEs);
1075
1076   return offset;
1077 }
1078
1079
1080 static const per_sequence_t ProtocolIE_ContainerList_sequence_of[1] = {
1081   { &hf_s1ap_ProtocolIE_ContainerList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
1082 };
1083
1084 static int
1085 dissect_s1ap_ProtocolIE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1086 #line 81 "s1ap.cnf"
1087   static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
1088     { "lowerBound", ASN1_PAR_INTEGER },
1089     { "upperBound", ASN1_PAR_INTEGER },
1090     { NULL, 0 }
1091   };
1092   asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
1093
1094   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1095                                                   ett_s1ap_ProtocolIE_ContainerList, ProtocolIE_ContainerList_sequence_of,
1096                                                   asn1_param_get_integer(actx,"lowerBound"), asn1_param_get_integer(actx,"upperBound"));
1097
1098   return offset;
1099 }
1100
1101
1102 static const per_sequence_t ProtocolIE_ContainerPairList_sequence_of[1] = {
1103   { &hf_s1ap_ProtocolIE_ContainerPairList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_ContainerPair },
1104 };
1105
1106 static int
1107 dissect_s1ap_ProtocolIE_ContainerPairList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1108 #line 97 "s1ap.cnf"
1109   static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
1110     { "lowerBound", ASN1_PAR_INTEGER },
1111     { "upperBound", ASN1_PAR_INTEGER },
1112     { NULL, 0 }
1113   };
1114   asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
1115
1116   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1117                                                   ett_s1ap_ProtocolIE_ContainerPairList, ProtocolIE_ContainerPairList_sequence_of,
1118                                                   asn1_param_get_integer(actx,"lowerBound"), asn1_param_get_integer(actx,"upperBound"));
1119
1120   return offset;
1121 }
1122
1123
1124
1125 static int
1126 dissect_s1ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1127   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
1128
1129   return offset;
1130 }
1131
1132
1133 static const per_sequence_t ProtocolExtensionField_sequence[] = {
1134   { &hf_s1ap_ext_id         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolExtensionID },
1135   { &hf_s1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
1136   { &hf_s1ap_extensionValue , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_T_extensionValue },
1137   { NULL, 0, 0, NULL }
1138 };
1139
1140 static int
1141 dissect_s1ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1142   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1143                                    ett_s1ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
1144
1145   return offset;
1146 }
1147
1148
1149 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
1150   { &hf_s1ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolExtensionField },
1151 };
1152
1153 static int
1154 dissect_s1ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1155   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1156                                                   ett_s1ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
1157                                                   1, maxProtocolExtensions);
1158
1159   return offset;
1160 }
1161
1162
1163
1164 static int
1165 dissect_s1ap_T_private_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1166   offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
1167
1168   return offset;
1169 }
1170
1171
1172 static const per_sequence_t PrivateIE_Field_sequence[] = {
1173   { &hf_s1ap_private_id     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PrivateIE_ID },
1174   { &hf_s1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
1175   { &hf_s1ap_private_value  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_T_private_value },
1176   { NULL, 0, 0, NULL }
1177 };
1178
1179 static int
1180 dissect_s1ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1181   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1182                                    ett_s1ap_PrivateIE_Field, PrivateIE_Field_sequence);
1183
1184   return offset;
1185 }
1186
1187
1188 static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
1189   { &hf_s1ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PrivateIE_Field },
1190 };
1191
1192 static int
1193 dissect_s1ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1194   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1195                                                   ett_s1ap_PrivateIE_Container, PrivateIE_Container_sequence_of,
1196                                                   1, maxPrivateIEs);
1197
1198   return offset;
1199 }
1200
1201
1202
1203 static int
1204 dissect_s1ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1205   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1206                                                             0U, 15U, NULL, FALSE);
1207
1208   return offset;
1209 }
1210
1211
1212 static const per_sequence_t AllocationRetentionPriority_sequence[] = {
1213   { &hf_s1ap_priorityLevel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_PriorityLevel },
1214   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1215   { NULL, 0, 0, NULL }
1216 };
1217
1218 static int
1219 dissect_s1ap_AllocationRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1220   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1221                                    ett_s1ap_AllocationRetentionPriority, AllocationRetentionPriority_sequence);
1222
1223   return offset;
1224 }
1225
1226
1227
1228 static int
1229 dissect_s1ap_SAE_Bearer_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1230   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1231                                                             0U, 10000000U, NULL, FALSE);
1232
1233   return offset;
1234 }
1235
1236
1237 static const per_sequence_t AggregateMaximumBitrate_sequence[] = {
1238   { &hf_s1ap_aggregateMaximumBitRateDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_BitRate },
1239   { &hf_s1ap_aggregateMaximumBitRateUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_BitRate },
1240   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1241   { NULL, 0, 0, NULL }
1242 };
1243
1244 static int
1245 dissect_s1ap_AggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1246   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1247                                    ett_s1ap_AggregateMaximumBitrate, AggregateMaximumBitrate_sequence);
1248
1249   return offset;
1250 }
1251
1252
1253 static const per_sequence_t Bearers_SubjectToStatusTransferList_sequence_of[1] = {
1254   { &hf_s1ap_Bearers_SubjectToStatusTransferList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
1255 };
1256
1257 static int
1258 dissect_s1ap_Bearers_SubjectToStatusTransferList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1259   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1260                                                   ett_s1ap_Bearers_SubjectToStatusTransferList, Bearers_SubjectToStatusTransferList_sequence_of,
1261                                                   0, maxNrOfSAEBs);
1262
1263   return offset;
1264 }
1265
1266
1267
1268 static int
1269 dissect_s1ap_SAE_Bearer_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1270   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1271                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1272
1273   return offset;
1274 }
1275
1276
1277
1278 static int
1279 dissect_s1ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1281                                                             0U, 4095U, NULL, FALSE);
1282
1283   return offset;
1284 }
1285
1286
1287
1288 static int
1289 dissect_s1ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1290   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1291                                                             0U, 1048575U, NULL, FALSE);
1292
1293   return offset;
1294 }
1295
1296
1297 static const per_sequence_t COUNTvalue_sequence[] = {
1298   { &hf_s1ap_pDCP_SN        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_PDCP_SN },
1299   { &hf_s1ap_hFN            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_HFN },
1300   { NULL, 0, 0, NULL }
1301 };
1302
1303 static int
1304 dissect_s1ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1305   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1306                                    ett_s1ap_COUNTvalue, COUNTvalue_sequence);
1307
1308   return offset;
1309 }
1310
1311
1312 static const per_sequence_t Bearers_SubjectToStatusTransfer_Item_sequence[] = {
1313   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
1314   { &hf_s1ap_uL_COUNTvalue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_COUNTvalue },
1315   { &hf_s1ap_dL_COUNTvalue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_COUNTvalue },
1316   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1317   { NULL, 0, 0, NULL }
1318 };
1319
1320 static int
1321 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_) {
1322   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1323                                    ett_s1ap_Bearers_SubjectToStatusTransfer_Item, Bearers_SubjectToStatusTransfer_Item_sequence);
1324
1325   return offset;
1326 }
1327
1328
1329
1330 static int
1331 dissect_s1ap_TBCD_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1332   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1333                                        3, 3, FALSE, NULL);
1334
1335   return offset;
1336 }
1337
1338
1339
1340 static int
1341 dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1342 #line 138 "s1ap.cnf"
1343   tvbuff_t *parameter_tvb=NULL;
1344
1345   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1346                                        3, 3, FALSE, &parameter_tvb);
1347
1348          if (!parameter_tvb)
1349                 return offset;
1350         dissect_e212_mcc_mnc(parameter_tvb, tree, 0);
1351
1352
1353   return offset;
1354 }
1355
1356
1357 static const per_sequence_t BPLMNs_sequence_of[1] = {
1358   { &hf_s1ap_BPLMNs_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1359 };
1360
1361 static int
1362 dissect_s1ap_BPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1363   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1364                                                   ett_s1ap_BPLMNs, BPLMNs_sequence_of,
1365                                                   1, maxnoofBPLMNs);
1366
1367   return offset;
1368 }
1369
1370
1371 static const value_string s1ap_CauseRadioNetwork_vals[] = {
1372   {   0, "unspecified" },
1373   {   1, "handover-triggered" },
1374   {   2, "tx2relocoverall-expiry" },
1375   {   3, "successful-handover" },
1376   {   4, "release-due-to-eutran-generated-reason" },
1377   {   5, "handover-cancelled" },
1378   {   6, "partial-handover" },
1379   {   7, "ho-failure-in-target-EPC-eNB-or-target-system" },
1380   {   8, "ho-target-not-allowed" },
1381   {   9, "tS1relocoverall-expiry" },
1382   {  10, "tS1relocprep-expiry" },
1383   {  11, "cell-not-available" },
1384   {  12, "unknown-targetID" },
1385   {  13, "no-radio-resources-available-in-target-cell" },
1386   {  14, "unknown-mme-ue-s1ap-id" },
1387   {  15, "unknown-enb-ue-s1ap-id" },
1388   {  16, "unknown-pair-ue-s1ap-id" },
1389   { 0, NULL }
1390 };
1391
1392
1393 static int
1394 dissect_s1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1395   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1396                                      17, NULL, TRUE, 0, NULL);
1397
1398   return offset;
1399 }
1400
1401
1402 static const value_string s1ap_CauseTransport_vals[] = {
1403   {   0, "transport-resource-unavailable" },
1404   {   1, "unspecified" },
1405   { 0, NULL }
1406 };
1407
1408
1409 static int
1410 dissect_s1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1411   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1412                                      2, NULL, TRUE, 0, NULL);
1413
1414   return offset;
1415 }
1416
1417
1418 static const value_string s1ap_CauseNas_vals[] = {
1419   {   0, "normal-release" },
1420   {   1, "authentication-failure" },
1421   {   2, "detach" },
1422   {   3, "unspecified" },
1423   { 0, NULL }
1424 };
1425
1426
1427 static int
1428 dissect_s1ap_CauseNas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1429   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1430                                      4, NULL, TRUE, 0, NULL);
1431
1432   return offset;
1433 }
1434
1435
1436 static const value_string s1ap_CauseProtocol_vals[] = {
1437   {   0, "transfer-syntax-error" },
1438   {   1, "abstract-syntax-error-reject" },
1439   {   2, "abstract-syntax-error-ignore-and-notify" },
1440   {   3, "message-not-compatible-with-receiver-state" },
1441   {   4, "semantic-error" },
1442   {   5, "abstract-syntax-error-falsely-constructed-message" },
1443   {   6, "unspecified" },
1444   { 0, NULL }
1445 };
1446
1447
1448 static int
1449 dissect_s1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1450   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1451                                      7, NULL, TRUE, 0, NULL);
1452
1453   return offset;
1454 }
1455
1456
1457 static const value_string s1ap_CauseMisc_vals[] = {
1458   {   0, "control-processing-overload" },
1459   {   1, "not-enough-user-plane-processing-resources" },
1460   {   2, "hardware-failure" },
1461   {   3, "om-intervention" },
1462   {   4, "unspecified" },
1463   {   5, "unknown-PLMN" },
1464   { 0, NULL }
1465 };
1466
1467
1468 static int
1469 dissect_s1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1470   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1471                                      6, NULL, TRUE, 0, NULL);
1472
1473   return offset;
1474 }
1475
1476
1477 static const value_string s1ap_Cause_vals[] = {
1478   {   0, "radioNetwork" },
1479   {   1, "transport" },
1480   {   2, "nas" },
1481   {   3, "protocol" },
1482   {   4, "misc" },
1483   { 0, NULL }
1484 };
1485
1486 static const per_choice_t Cause_choice[] = {
1487   {   0, &hf_s1ap_radioNetwork   , ASN1_EXTENSION_ROOT    , dissect_s1ap_CauseRadioNetwork },
1488   {   1, &hf_s1ap_transport      , ASN1_EXTENSION_ROOT    , dissect_s1ap_CauseTransport },
1489   {   2, &hf_s1ap_nas            , ASN1_EXTENSION_ROOT    , dissect_s1ap_CauseNas },
1490   {   3, &hf_s1ap_protocol       , ASN1_EXTENSION_ROOT    , dissect_s1ap_CauseProtocol },
1491   {   4, &hf_s1ap_misc           , ASN1_EXTENSION_ROOT    , dissect_s1ap_CauseMisc },
1492   { 0, NULL, 0, NULL }
1493 };
1494
1495 static int
1496 dissect_s1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1497   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1498                                  ett_s1ap_Cause, Cause_choice,
1499                                  NULL);
1500
1501   return offset;
1502 }
1503
1504
1505
1506 static int
1507 dissect_s1ap_Cdma2000PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1508   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1509                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1510
1511   return offset;
1512 }
1513
1514
1515 static const value_string s1ap_Cdma2000RATType_vals[] = {
1516   {   0, "hRPD" },
1517   {   1, "onexRTT" },
1518   { 0, NULL }
1519 };
1520
1521
1522 static int
1523 dissect_s1ap_Cdma2000RATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1524   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1525                                      2, NULL, TRUE, 0, NULL);
1526
1527   return offset;
1528 }
1529
1530
1531
1532 static int
1533 dissect_s1ap_Cdma2000SectorID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1534   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1535                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1536
1537   return offset;
1538 }
1539
1540
1541 static const value_string s1ap_Cdma2000HOStatus_vals[] = {
1542   {   0, "hOSuccess" },
1543   {   1, "hOFailure" },
1544   { 0, NULL }
1545 };
1546
1547
1548 static int
1549 dissect_s1ap_Cdma2000HOStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1550   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1551                                      2, NULL, TRUE, 0, NULL);
1552
1553   return offset;
1554 }
1555
1556
1557 static const value_string s1ap_Cdma2000HORequiredIndication_vals[] = {
1558   {   0, "true" },
1559   { 0, NULL }
1560 };
1561
1562
1563 static int
1564 dissect_s1ap_Cdma2000HORequiredIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1565   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1566                                      1, NULL, TRUE, 0, NULL);
1567
1568   return offset;
1569 }
1570
1571
1572
1573 static int
1574 dissect_s1ap_Cdma2000OneXMEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1575   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1576                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1577
1578   return offset;
1579 }
1580
1581
1582
1583 static int
1584 dissect_s1ap_Cdma2000OneXRAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1585   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1586                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1587
1588   return offset;
1589 }
1590
1591
1592
1593 static int
1594 dissect_s1ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1595   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1596                                        2, 2, FALSE, NULL);
1597
1598   return offset;
1599 }
1600
1601
1602
1603 static int
1604 dissect_s1ap_CI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1605   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1606                                        2, 2, FALSE, NULL);
1607
1608   return offset;
1609 }
1610
1611
1612 static const per_sequence_t CGI_sequence[] = {
1613   { &hf_s1ap_pLMNidentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1614   { &hf_s1ap_lAC            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_LAC },
1615   { &hf_s1ap_cI             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_CI },
1616   { NULL, 0, 0, NULL }
1617 };
1618
1619 static int
1620 dissect_s1ap_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1621   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1622                                    ett_s1ap_CGI, CGI_sequence);
1623
1624   return offset;
1625 }
1626
1627
1628 static const value_string s1ap_TypeOfError_vals[] = {
1629   {   0, "not-understood" },
1630   {   1, "missing" },
1631   { 0, NULL }
1632 };
1633
1634
1635 static int
1636 dissect_s1ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1637   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1638                                      2, NULL, TRUE, 0, NULL);
1639
1640   return offset;
1641 }
1642
1643
1644 static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = {
1645   { &hf_s1ap_iECriticality  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
1646   { &hf_s1ap_iE_ID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_ID },
1647   { &hf_s1ap_typeOfError    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_TypeOfError },
1648   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1649   { NULL, 0, 0, NULL }
1650 };
1651
1652 static int
1653 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_) {
1654   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1655                                    ett_s1ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence);
1656
1657   return offset;
1658 }
1659
1660
1661 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
1662   { &hf_s1ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_CriticalityDiagnostics_IE_Item },
1663 };
1664
1665 static int
1666 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_) {
1667   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1668                                                   ett_s1ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
1669                                                   1, maxNrOfErrors);
1670
1671   return offset;
1672 }
1673
1674
1675 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
1676   { &hf_s1ap_procedureCode  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProcedureCode },
1677   { &hf_s1ap_triggeringMessage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_TriggeringMessage },
1678   { &hf_s1ap_procedureCriticality, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_Criticality },
1679   { &hf_s1ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_CriticalityDiagnostics_IE_List },
1680   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1681   { NULL, 0, 0, NULL }
1682 };
1683
1684 static int
1685 dissect_s1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1686   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1687                                    ett_s1ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
1688
1689   return offset;
1690 }
1691
1692
1693 static const value_string s1ap_DL_Forwarding_vals[] = {
1694   {   0, "dL-Forwarding-proposed" },
1695   { 0, NULL }
1696 };
1697
1698
1699 static int
1700 dissect_s1ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1701   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1702                                      1, NULL, TRUE, 0, NULL);
1703
1704   return offset;
1705 }
1706
1707
1708 static const value_string s1ap_Direct_Forwarding_Path_Availability_vals[] = {
1709   {   0, "directPathAvailable" },
1710   { 0, NULL }
1711 };
1712
1713
1714 static int
1715 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_) {
1716   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1717                                      1, NULL, TRUE, 0, NULL);
1718
1719   return offset;
1720 }
1721
1722
1723 static const per_sequence_t ENB_StatusTransfer_TransparentContainer_sequence[] = {
1724   { &hf_s1ap_bearers_SubjectToStatusTransferList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_Bearers_SubjectToStatusTransferList },
1725   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1726   { NULL, 0, 0, NULL }
1727 };
1728
1729 static int
1730 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_) {
1731   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1732                                    ett_s1ap_ENB_StatusTransfer_TransparentContainer, ENB_StatusTransfer_TransparentContainer_sequence);
1733
1734   return offset;
1735 }
1736
1737
1738
1739 static int
1740 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_) {
1741   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1742                                                             0U, 16777215U, NULL, FALSE);
1743
1744   return offset;
1745 }
1746
1747
1748
1749 static int
1750 dissect_s1ap_ENB_Global_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1751   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1752                                                             0U, 65535U, NULL, FALSE);
1753
1754   return offset;
1755 }
1756
1757
1758
1759 static int
1760 dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1761   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1762                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1763
1764   return offset;
1765 }
1766
1767
1768 static const per_sequence_t EPLMNs_sequence_of[1] = {
1769   { &hf_s1ap_EPLMNs_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1770 };
1771
1772 static int
1773 dissect_s1ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1774   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1775                                                   ett_s1ap_EPLMNs, EPLMNs_sequence_of,
1776                                                   1, maxnoofEPLMNs);
1777
1778   return offset;
1779 }
1780
1781
1782 static const value_string s1ap_EventType_vals[] = {
1783   {   0, "direct" },
1784   {   1, "change-of-serve-cell" },
1785   {   2, "stop-change-of-serve-cell" },
1786   { 0, NULL }
1787 };
1788
1789
1790 static int
1791 dissect_s1ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1792   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1793                                      3, NULL, TRUE, 0, NULL);
1794
1795   return offset;
1796 }
1797
1798
1799
1800 static int
1801 dissect_s1ap_EUTRAN_CGI_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1802   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1803                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1804
1805   return offset;
1806 }
1807
1808
1809
1810 static int
1811 dissect_s1ap_ExtendedRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1812   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1813                                                             4096U, 65535U, NULL, FALSE);
1814
1815   return offset;
1816 }
1817
1818
1819 static const value_string s1ap_ForbiddenInterRATs_vals[] = {
1820   {   0, "all" },
1821   {   1, "geran" },
1822   {   2, "utran" },
1823   { 0, NULL }
1824 };
1825
1826
1827 static int
1828 dissect_s1ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1829   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1830                                      3, NULL, TRUE, 0, NULL);
1831
1832   return offset;
1833 }
1834
1835
1836
1837 static int
1838 dissect_s1ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1839   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1840                                        NO_BOUND, NO_BOUND, FALSE, NULL);
1841
1842   return offset;
1843 }
1844
1845
1846 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
1847   { &hf_s1ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
1848 };
1849
1850 static int
1851 dissect_s1ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1852   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1853                                                   ett_s1ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
1854                                                   1, maxnoofForbTACs);
1855
1856   return offset;
1857 }
1858
1859
1860 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
1861   { &hf_s1ap_pLMN_Identity  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1862   { &hf_s1ap_forbiddenTACs  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenTACs },
1863   { NULL, 0, 0, NULL }
1864 };
1865
1866 static int
1867 dissect_s1ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1868   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1869                                    ett_s1ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
1870
1871   return offset;
1872 }
1873
1874
1875 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
1876   { &hf_s1ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenTAs_Item },
1877 };
1878
1879 static int
1880 dissect_s1ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1881   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1882                                                   ett_s1ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
1883                                                   1, maxnoofEPLMNsPlusOne);
1884
1885   return offset;
1886 }
1887
1888
1889 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
1890   { &hf_s1ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_LAC },
1891 };
1892
1893 static int
1894 dissect_s1ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1895   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1896                                                   ett_s1ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
1897                                                   1, maxnoofForbLACs);
1898
1899   return offset;
1900 }
1901
1902
1903 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
1904   { &hf_s1ap_pLMN_Identity  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1905   { &hf_s1ap_forbiddenLACs  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenLACs },
1906   { NULL, 0, 0, NULL }
1907 };
1908
1909 static int
1910 dissect_s1ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1911   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1912                                    ett_s1ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
1913
1914   return offset;
1915 }
1916
1917
1918 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
1919   { &hf_s1ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ForbiddenLAs_Item },
1920 };
1921
1922 static int
1923 dissect_s1ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1924   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1925                                                   ett_s1ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
1926                                                   1, maxnoofEPLMNsPlusOne);
1927
1928   return offset;
1929 }
1930
1931
1932
1933 static int
1934 dissect_s1ap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1935   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1936                                        4, 4, FALSE, NULL);
1937
1938   return offset;
1939 }
1940
1941
1942
1943 static int
1944 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_) {
1945   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1946                                        2, 2, FALSE, NULL);
1947
1948   return offset;
1949 }
1950
1951
1952
1953 static int
1954 dissect_s1ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1955   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1956                                        1, 1, FALSE, NULL);
1957
1958   return offset;
1959 }
1960
1961
1962 static const per_sequence_t GUMMEI_sequence[] = {
1963   { &hf_s1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1964   { &hf_s1ap_mME_Group_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Group_ID },
1965   { &hf_s1ap_mME_Code       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code },
1966   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1967   { NULL, 0, 0, NULL }
1968 };
1969
1970 static int
1971 dissect_s1ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1972   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1973                                    ett_s1ap_GUMMEI, GUMMEI_sequence);
1974
1975   return offset;
1976 }
1977
1978
1979 static const per_sequence_t HandoverRestrictionList_sequence[] = {
1980   { &hf_s1ap_servingPLMN    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
1981   { &hf_s1ap_equivalentPLMNs, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_EPLMNs },
1982   { &hf_s1ap_forbiddenTAs   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ForbiddenTAs },
1983   { &hf_s1ap_forbiddenLAs   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ForbiddenLAs },
1984   { &hf_s1ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ForbiddenInterRATs },
1985   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
1986   { NULL, 0, 0, NULL }
1987 };
1988
1989 static int
1990 dissect_s1ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1991   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1992                                    ett_s1ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
1993
1994   return offset;
1995 }
1996
1997
1998 static const value_string s1ap_HandoverType_vals[] = {
1999   {   0, "intralte" },
2000   {   1, "ltetoutran" },
2001   {   2, "ltetogeran" },
2002   {   3, "utrantolte" },
2003   {   4, "gerantolte" },
2004   { 0, NULL }
2005 };
2006
2007
2008 static int
2009 dissect_s1ap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2010   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2011                                      5, NULL, TRUE, 0, NULL);
2012
2013   return offset;
2014 }
2015
2016
2017
2018 static int
2019 dissect_s1ap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2020   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2021                                        3, 8, FALSE, NULL);
2022
2023   return offset;
2024 }
2025
2026
2027 static const value_string s1ap_InterfaceType_vals[] = {
2028   {   0, "s1" },
2029   {   1, "x2" },
2030   {   2, "uu" },
2031   { 0, NULL }
2032 };
2033
2034
2035 static int
2036 dissect_s1ap_InterfaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2037   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2038                                      3, NULL, TRUE, 0, NULL);
2039
2040   return offset;
2041 }
2042
2043
2044 static const value_string s1ap_TraceDepth_vals[] = {
2045   {   0, "minimum" },
2046   {   1, "medium" },
2047   {   2, "maximum" },
2048   {   3, "vendorMinimum" },
2049   {   4, "vendorMedium" },
2050   {   5, "vendorMaximum" },
2051   { 0, NULL }
2052 };
2053
2054
2055 static int
2056 dissect_s1ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2057   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2058                                      6, NULL, TRUE, 0, NULL);
2059
2060   return offset;
2061 }
2062
2063
2064 static const per_sequence_t InterfacesToTraceItem_sequence[] = {
2065   { &hf_s1ap_interfaceType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_InterfaceType },
2066   { &hf_s1ap_traceDepth     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TraceDepth },
2067   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2068   { NULL, 0, 0, NULL }
2069 };
2070
2071 static int
2072 dissect_s1ap_InterfacesToTraceItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2073   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2074                                    ett_s1ap_InterfacesToTraceItem, InterfacesToTraceItem_sequence);
2075
2076   return offset;
2077 }
2078
2079
2080 static const per_sequence_t InterfacesToTraceList_sequence_of[1] = {
2081   { &hf_s1ap_InterfacesToTraceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_InterfacesToTraceItem },
2082 };
2083
2084 static int
2085 dissect_s1ap_InterfacesToTraceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2086   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2087                                                   ett_s1ap_InterfacesToTraceList, InterfacesToTraceList_sequence_of,
2088                                                   1, maxNrOfInterfaces);
2089
2090   return offset;
2091 }
2092
2093
2094 static const per_sequence_t LAI_sequence[] = {
2095   { &hf_s1ap_pLMNidentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
2096   { &hf_s1ap_lAC            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_LAC },
2097   { &hf_s1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2098   { NULL, 0, 0, NULL }
2099 };
2100
2101 static int
2102 dissect_s1ap_LAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2103   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2104                                    ett_s1ap_LAI, LAI_sequence);
2105
2106   return offset;
2107 }
2108
2109
2110
2111 static int
2112 dissect_s1ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2113   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2114                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2115
2116   return offset;
2117 }
2118
2119
2120
2121 static int
2122 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_) {
2123   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2124                                                             0U, 4294967295U, NULL, FALSE);
2125
2126   return offset;
2127 }
2128
2129
2130
2131 static int
2132 dissect_s1ap_M_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2133   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2134                                        4, 4, FALSE, NULL);
2135
2136   return offset;
2137 }
2138
2139
2140
2141 static int
2142 dissect_s1ap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2143   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2144                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2145
2146   return offset;
2147 }
2148
2149
2150
2151 static int
2152 dissect_s1ap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2153   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2154                                                             0U, 4095U, NULL, FALSE);
2155
2156   return offset;
2157 }
2158
2159
2160 static const value_string s1ap_PagingCause_vals[] = {
2161   {   0, "terminating-conversational-call" },
2162   {   1, "terminating-streaming-call" },
2163   {   2, "terminating-interactive-call" },
2164   {   3, "terminating-background-call" },
2165   {   4, "terminating-low-priority-signalling" },
2166   {   5, "terminating-high-priority-signalling" },
2167   { 0, NULL }
2168 };
2169
2170
2171 static int
2172 dissect_s1ap_PagingCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2173   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2174                                      5, NULL, TRUE, 1, NULL);
2175
2176   return offset;
2177 }
2178
2179
2180
2181 static int
2182 dissect_s1ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2183   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2184                                                             1U, 256U, NULL, FALSE);
2185
2186   return offset;
2187 }
2188
2189
2190
2191 static int
2192 dissect_s1ap_RelativeMMECapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2193   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2194                                                             0U, 255U, NULL, FALSE);
2195
2196   return offset;
2197 }
2198
2199
2200
2201 static int
2202 dissect_s1ap_RAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2203   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2204                                        1, 1, FALSE, NULL);
2205
2206   return offset;
2207 }
2208
2209
2210
2211 static int
2212 dissect_s1ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2213   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2214                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2215
2216   return offset;
2217 }
2218
2219
2220 static const per_sequence_t RequestType_sequence[] = {
2221   { &hf_s1ap_eventType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_EventType },
2222   { &hf_s1ap_reportArea     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportArea },
2223   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2224   { NULL, 0, 0, NULL }
2225 };
2226
2227 static int
2228 dissect_s1ap_RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2229   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2230                                    ett_s1ap_RequestType, RequestType_sequence);
2231
2232   return offset;
2233 }
2234
2235
2236
2237 static int
2238 dissect_s1ap_RNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2239   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2240                                                             0U, 4095U, NULL, FALSE);
2241
2242   return offset;
2243 }
2244
2245
2246
2247 static int
2248 dissect_s1ap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2249   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2250                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2251
2252   return offset;
2253 }
2254
2255
2256 static const per_sequence_t SAEBearerInformationList_sequence_of[1] = {
2257   { &hf_s1ap_SAEBearerInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
2258 };
2259
2260 static int
2261 dissect_s1ap_SAEBearerInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2262   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2263                                                   ett_s1ap_SAEBearerInformationList, SAEBearerInformationList_sequence_of,
2264                                                   1, maxNrOfSAEBs);
2265
2266   return offset;
2267 }
2268
2269
2270 static const per_sequence_t SAEBearerInformationListItem_sequence[] = {
2271   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
2272   { &hf_s1ap_dL_Forwarding  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_DL_Forwarding },
2273   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2274   { NULL, 0, 0, NULL }
2275 };
2276
2277 static int
2278 dissect_s1ap_SAEBearerInformationListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2279   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2280                                    ett_s1ap_SAEBearerInformationListItem, SAEBearerInformationListItem_sequence);
2281
2282   return offset;
2283 }
2284
2285
2286 static const per_sequence_t SAEBearerList_sequence_of[1] = {
2287   { &hf_s1ap_SAEBearerList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
2288 };
2289
2290 static int
2291 dissect_s1ap_SAEBearerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2292   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2293                                                   ett_s1ap_SAEBearerList, SAEBearerList_sequence_of,
2294                                                   0, maxNrOfSAEBs);
2295
2296   return offset;
2297 }
2298
2299
2300 static const per_sequence_t SAEBearerItem_sequence[] = {
2301   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
2302   { &hf_s1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause },
2303   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2304   { NULL, 0, 0, NULL }
2305 };
2306
2307 static int
2308 dissect_s1ap_SAEBearerItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2309   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2310                                    ett_s1ap_SAEBearerItem, SAEBearerItem_sequence);
2311
2312   return offset;
2313 }
2314
2315
2316 static const per_sequence_t SAE_GBR_Bearer_sequence[] = {
2317   { &hf_s1ap_sAE_Bearer_MaximumBitrateDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_BitRate },
2318   { &hf_s1ap_sAE_Bearer_MaximumBitrateUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_BitRate },
2319   { &hf_s1ap_sAE_Bearer_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_BitRate },
2320   { &hf_s1ap_sAE_Bearer_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_BitRate },
2321   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2322   { NULL, 0, 0, NULL }
2323 };
2324
2325 static int
2326 dissect_s1ap_SAE_GBR_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2327   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2328                                    ett_s1ap_SAE_GBR_Bearer, SAE_GBR_Bearer_sequence);
2329
2330   return offset;
2331 }
2332
2333
2334 static const value_string s1ap_SAE_non_GBR_Bearer_Type_vals[] = {
2335   {   0, "non-GBR-Bearer" },
2336   { 0, NULL }
2337 };
2338
2339
2340 static int
2341 dissect_s1ap_SAE_non_GBR_Bearer_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2342   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2343                                      1, NULL, TRUE, 0, NULL);
2344
2345   return offset;
2346 }
2347
2348
2349 static const per_sequence_t SAE_non_GBR_Bearer_sequence[] = {
2350   { &hf_s1ap_sAE_non_GBR_Bearer_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_non_GBR_Bearer_Type },
2351   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2352   { NULL, 0, 0, NULL }
2353 };
2354
2355 static int
2356 dissect_s1ap_SAE_non_GBR_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2357   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2358                                    ett_s1ap_SAE_non_GBR_Bearer, SAE_non_GBR_Bearer_sequence);
2359
2360   return offset;
2361 }
2362
2363
2364 static const value_string s1ap_SAE_Bearer_Type_vals[] = {
2365   {   0, "sAE-GBR-Bearer" },
2366   {   1, "sAE-non-GBR-Bearer" },
2367   { 0, NULL }
2368 };
2369
2370 static const per_choice_t SAE_Bearer_Type_choice[] = {
2371   {   0, &hf_s1ap_sAE_GBR_Bearer , ASN1_EXTENSION_ROOT    , dissect_s1ap_SAE_GBR_Bearer },
2372   {   1, &hf_s1ap_sAE_non_GBR_Bearer, ASN1_EXTENSION_ROOT    , dissect_s1ap_SAE_non_GBR_Bearer },
2373   { 0, NULL, 0, NULL }
2374 };
2375
2376 static int
2377 dissect_s1ap_SAE_Bearer_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2378   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2379                                  ett_s1ap_SAE_Bearer_Type, SAE_Bearer_Type_choice,
2380                                  NULL);
2381
2382   return offset;
2383 }
2384
2385
2386 static const per_sequence_t SAE_BearerLevelQoSParameters_sequence[] = {
2387   { &hf_s1ap_qCI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_QCI },
2388   { &hf_s1ap_allocationRetentionPriority, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_AllocationRetentionPriority },
2389   { &hf_s1ap_sAE_BearerType , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_Type },
2390   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2391   { NULL, 0, 0, NULL }
2392 };
2393
2394 static int
2395 dissect_s1ap_SAE_BearerLevelQoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2396   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2397                                    ett_s1ap_SAE_BearerLevelQoSParameters, SAE_BearerLevelQoSParameters_sequence);
2398
2399   return offset;
2400 }
2401
2402
2403
2404 static int
2405 dissect_s1ap_SecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2406   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2407                                      128, 128, FALSE, NULL);
2408
2409   return offset;
2410 }
2411
2412
2413 static const per_sequence_t SecurityInfo_sequence[] = {
2414   { &hf_s1ap_securityKey    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SecurityKey },
2415   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2416   { NULL, 0, 0, NULL }
2417 };
2418
2419 static int
2420 dissect_s1ap_SecurityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2421   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2422                                    ett_s1ap_SecurityInfo, SecurityInfo_sequence);
2423
2424   return offset;
2425 }
2426
2427
2428 static const value_string s1ap_SecurityPlaceHolder_vals[] = {
2429   {   0, "whatever" },
2430   { 0, NULL }
2431 };
2432
2433
2434 static int
2435 dissect_s1ap_SecurityPlaceHolder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2436   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2437                                      1, NULL, TRUE, 0, NULL);
2438
2439   return offset;
2440 }
2441
2442
2443 static const per_sequence_t SecurityInformation_sequence[] = {
2444   { &hf_s1ap_securityPlaceHolder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SecurityPlaceHolder },
2445   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2446   { NULL, 0, 0, NULL }
2447 };
2448
2449 static int
2450 dissect_s1ap_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2451   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2452                                    ett_s1ap_SecurityInformation, SecurityInformation_sequence);
2453
2454   return offset;
2455 }
2456
2457
2458
2459 static int
2460 dissect_s1ap_SourceBSS_ToTargetBSS_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2461   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2462                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2463
2464   return offset;
2465 }
2466
2467
2468 static const per_sequence_t SourceeNB_ID_sequence[] = {
2469   { &hf_s1ap_pLMNidentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
2470   { &hf_s1ap_eNB_Global_ID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ENB_Global_ID },
2471   { NULL, 0, 0, NULL }
2472 };
2473
2474 static int
2475 dissect_s1ap_SourceeNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2476   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2477                                    ett_s1ap_SourceeNB_ID, SourceeNB_ID_sequence);
2478
2479   return offset;
2480 }
2481
2482
2483 static const per_sequence_t SourceID_sequence[] = {
2484   { &hf_s1ap_sourceeNB_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceeNB_ID },
2485   { NULL, 0, 0, NULL }
2486 };
2487
2488 static int
2489 dissect_s1ap_SourceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2490   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2491                                    ett_s1ap_SourceID, SourceID_sequence);
2492
2493   return offset;
2494 }
2495
2496
2497 static const per_sequence_t SourceeNodeB_ToTargeteNodeB_TransparentContainer_sequence[] = {
2498   { &hf_s1ap_rRC_Container  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_RRC_Container },
2499   { &hf_s1ap_sAEBearerInformationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_SAEBearerInformationList },
2500   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2501   { NULL, 0, 0, NULL }
2502 };
2503
2504 static int
2505 dissect_s1ap_SourceeNodeB_ToTargeteNodeB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2507                                    ett_s1ap_SourceeNodeB_ToTargeteNodeB_TransparentContainer, SourceeNodeB_ToTargeteNodeB_TransparentContainer_sequence);
2508
2509   return offset;
2510 }
2511
2512
2513
2514 static int
2515 dissect_s1ap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2516   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2517                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2518
2519   return offset;
2520 }
2521
2522
2523 static const per_sequence_t ServedPLMNs_sequence_of[1] = {
2524   { &hf_s1ap_ServedPLMNs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
2525 };
2526
2527 static int
2528 dissect_s1ap_ServedPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2529   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2530                                                   ett_s1ap_ServedPLMNs, ServedPLMNs_sequence_of,
2531                                                   1, maxnoofPLMNsPerMME);
2532
2533   return offset;
2534 }
2535
2536
2537 static const per_sequence_t SupportedTAs_Item_sequence[] = {
2538   { &hf_s1ap_tAC            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
2539   { &hf_s1ap_broadcastPLMNs , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_BPLMNs },
2540   { NULL, 0, 0, NULL }
2541 };
2542
2543 static int
2544 dissect_s1ap_SupportedTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2545   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2546                                    ett_s1ap_SupportedTAs_Item, SupportedTAs_Item_sequence);
2547
2548   return offset;
2549 }
2550
2551
2552 static const per_sequence_t SupportedTAs_sequence_of[1] = {
2553   { &hf_s1ap_SupportedTAs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_SupportedTAs_Item },
2554 };
2555
2556 static int
2557 dissect_s1ap_SupportedTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2558   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2559                                                   ett_s1ap_SupportedTAs, SupportedTAs_sequence_of,
2560                                                   1, maxnoofTACs);
2561
2562   return offset;
2563 }
2564
2565
2566 static const per_sequence_t S_TMSI_sequence[] = {
2567   { &hf_s1ap_mMEC           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code },
2568   { &hf_s1ap_m_TMSI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_M_TMSI },
2569   { NULL, 0, 0, NULL }
2570 };
2571
2572 static int
2573 dissect_s1ap_S_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2574   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2575                                    ett_s1ap_S_TMSI, S_TMSI_sequence);
2576
2577   return offset;
2578 }
2579
2580
2581 static const per_sequence_t TAI_sequence[] = {
2582   { &hf_s1ap_pLMNidentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
2583   { &hf_s1ap_tAC            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC },
2584   { &hf_s1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2585   { NULL, 0, 0, NULL }
2586 };
2587
2588 static int
2589 dissect_s1ap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2590   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2591                                    ett_s1ap_TAI, TAI_sequence);
2592
2593   return offset;
2594 }
2595
2596
2597 static const per_sequence_t TargeteNB_ID_sequence[] = {
2598   { &hf_s1ap_pLMNidentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
2599   { &hf_s1ap_eNB_Global_ID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ENB_Global_ID },
2600   { NULL, 0, 0, NULL }
2601 };
2602
2603 static int
2604 dissect_s1ap_TargeteNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2605   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2606                                    ett_s1ap_TargeteNB_ID, TargeteNB_ID_sequence);
2607
2608   return offset;
2609 }
2610
2611
2612 static const per_sequence_t TargetRNC_ID_sequence[] = {
2613   { &hf_s1ap_lAI            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_LAI },
2614   { &hf_s1ap_rAC            , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_s1ap_RAC },
2615   { &hf_s1ap_rNC_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_RNC_ID },
2616   { NULL, 0, 0, NULL }
2617 };
2618
2619 static int
2620 dissect_s1ap_TargetRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2621   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2622                                    ett_s1ap_TargetRNC_ID, TargetRNC_ID_sequence);
2623
2624   return offset;
2625 }
2626
2627
2628 static const value_string s1ap_TargetID_vals[] = {
2629   {   0, "targeteNB-ID" },
2630   {   1, "targetRNC-ID" },
2631   {   2, "cGI" },
2632   { 0, NULL }
2633 };
2634
2635 static const per_choice_t TargetID_choice[] = {
2636   {   0, &hf_s1ap_targeteNB_ID   , ASN1_EXTENSION_ROOT    , dissect_s1ap_TargeteNB_ID },
2637   {   1, &hf_s1ap_targetRNC_ID   , ASN1_EXTENSION_ROOT    , dissect_s1ap_TargetRNC_ID },
2638   {   2, &hf_s1ap_cGI            , ASN1_EXTENSION_ROOT    , dissect_s1ap_CGI },
2639   { 0, NULL, 0, NULL }
2640 };
2641
2642 static int
2643 dissect_s1ap_TargetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2644   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2645                                  ett_s1ap_TargetID, TargetID_choice,
2646                                  NULL);
2647
2648   return offset;
2649 }
2650
2651
2652 static const per_sequence_t TargeteNodeB_ToSourceeNodeB_TransparentContainer_sequence[] = {
2653   { &hf_s1ap_rRC_Container  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_RRC_Container },
2654   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2655   { NULL, 0, 0, NULL }
2656 };
2657
2658 static int
2659 dissect_s1ap_TargeteNodeB_ToSourceeNodeB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2660   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2661                                    ett_s1ap_TargeteNodeB_ToSourceeNodeB_TransparentContainer, TargeteNodeB_ToSourceeNodeB_TransparentContainer_sequence);
2662
2663   return offset;
2664 }
2665
2666
2667
2668 static int
2669 dissect_s1ap_TargetRNC_ToSourceRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2670   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2671                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2672
2673   return offset;
2674 }
2675
2676
2677
2678 static int
2679 dissect_s1ap_TargetBSS_ToSourceBSS_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2680   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2681                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2682
2683   return offset;
2684 }
2685
2686
2687
2688 static int
2689 dissect_s1ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2690   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2691                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2692
2693   return offset;
2694 }
2695
2696
2697
2698 static int
2699 dissect_s1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2700   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2701                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2702
2703   return offset;
2704 }
2705
2706
2707
2708 static int
2709 dissect_s1ap_TraceReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2710   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2711                                        8, 8, FALSE, NULL);
2712
2713   return offset;
2714 }
2715
2716
2717 static const per_sequence_t TraceActivation_sequence[] = {
2718   { &hf_s1ap_traceReference , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_TraceReference },
2719   { &hf_s1ap_interfacesToTraceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_InterfacesToTraceList },
2720   { &hf_s1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2721   { NULL, 0, 0, NULL }
2722 };
2723
2724 static int
2725 dissect_s1ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2726   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2727                                    ett_s1ap_TraceActivation, TraceActivation_sequence);
2728
2729   return offset;
2730 }
2731
2732
2733 static const per_sequence_t UE_S1AP_ID_pair_sequence[] = {
2734   { &hf_s1ap_mME_UE_S1AP_ID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_UE_S1AP_ID },
2735   { &hf_s1ap_eNB_UE_S1AP_ID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ENB_UE_S1AP_ID },
2736   { NULL, 0, 0, NULL }
2737 };
2738
2739 static int
2740 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_) {
2741   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2742                                    ett_s1ap_UE_S1AP_ID_pair, UE_S1AP_ID_pair_sequence);
2743
2744   return offset;
2745 }
2746
2747
2748 static const value_string s1ap_UE_S1AP_IDs_vals[] = {
2749   {   0, "uE-S1AP-ID-pair" },
2750   {   1, "mME-UE-S1AP-ID" },
2751   {   2, "eNB-UE-S1AP-ID" },
2752   { 0, NULL }
2753 };
2754
2755 static const per_choice_t UE_S1AP_IDs_choice[] = {
2756   {   0, &hf_s1ap_uE_S1AP_ID_pair, ASN1_EXTENSION_ROOT    , dissect_s1ap_UE_S1AP_ID_pair },
2757   {   1, &hf_s1ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT    , dissect_s1ap_MME_UE_S1AP_ID },
2758   {   2, &hf_s1ap_eNB_UE_S1AP_ID , ASN1_EXTENSION_ROOT    , dissect_s1ap_ENB_UE_S1AP_ID },
2759   { 0, NULL, 0, NULL }
2760 };
2761
2762 static int
2763 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_) {
2764   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2765                                  ett_s1ap_UE_S1AP_IDs, UE_S1AP_IDs_choice,
2766                                  NULL);
2767
2768   return offset;
2769 }
2770
2771
2772 static const per_sequence_t UE_associatedLogicalS1_ConnectionItem_sequence[] = {
2773   { &hf_s1ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_MME_UE_S1AP_ID },
2774   { &hf_s1ap_eNB_UE_S1AP_ID , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ENB_UE_S1AP_ID },
2775   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2776   { NULL, 0, 0, NULL }
2777 };
2778
2779 static int
2780 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_) {
2781   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2782                                    ett_s1ap_UE_associatedLogicalS1_ConnectionItem, UE_associatedLogicalS1_ConnectionItem_sequence);
2783
2784   return offset;
2785 }
2786
2787
2788
2789 static int
2790 dissect_s1ap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2791   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2792                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2793
2794   return offset;
2795 }
2796
2797
2798 static const value_string s1ap_UEPagingID_vals[] = {
2799   {   0, "s-TMSI" },
2800   {   1, "iMSI" },
2801   { 0, NULL }
2802 };
2803
2804 static const per_choice_t UEPagingID_choice[] = {
2805   {   0, &hf_s1ap_s_TMSI         , ASN1_EXTENSION_ROOT    , dissect_s1ap_S_TMSI },
2806   {   1, &hf_s1ap_iMSI           , ASN1_EXTENSION_ROOT    , dissect_s1ap_IMSI },
2807   { 0, NULL, 0, NULL }
2808 };
2809
2810 static int
2811 dissect_s1ap_UEPagingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2812   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2813                                  ett_s1ap_UEPagingID, UEPagingID_choice,
2814                                  NULL);
2815
2816   return offset;
2817 }
2818
2819
2820
2821 static int
2822 dissect_s1ap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2823   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2824                                        NO_BOUND, NO_BOUND, FALSE, NULL);
2825
2826   return offset;
2827 }
2828
2829
2830
2831 static int
2832 dissect_s1ap_SAEB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2833 #line 107 "s1ap.cnf"
2834   asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
2835   asn1_param_push_integer(actx, 1);
2836   asn1_param_push_integer(actx, maxNrOfSAEBs);
2837   offset = dissect_s1ap_ProtocolIE_ContainerList(tvb, offset, actx, tree, hf_index);
2838
2839   asn1_stack_frame_pop(actx, "ProtocolIE-ContainerList");
2840
2841
2842   return offset;
2843 }
2844
2845
2846
2847 static int
2848 dissect_s1ap_SAEB_IE_ContainerPairList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2849 #line 116 "s1ap.cnf"
2850   asn1_stack_frame_push(actx, "ProtocolIE-ContainerPairList");
2851   asn1_param_push_integer(actx, 1);
2852   asn1_param_push_integer(actx, maxNrOfSAEBs);
2853   offset = dissect_s1ap_ProtocolIE_ContainerPairList(tvb, offset, actx, tree, hf_index);
2854
2855   asn1_stack_frame_pop(actx, "ProtocolIE-ContainerPairList");
2856
2857
2858   return offset;
2859 }
2860
2861
2862
2863 static int
2864 dissect_s1ap_ProtocolError_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2865 #line 125 "s1ap.cnf"
2866   asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
2867   asn1_param_push_integer(actx, 1);
2868   asn1_param_push_integer(actx, maxNrOfSAEBs);
2869   offset = dissect_s1ap_ProtocolIE_ContainerList(tvb, offset, actx, tree, hf_index);
2870
2871   asn1_stack_frame_pop(actx, "ProtocolIE-ContainerList");
2872
2873
2874   return offset;
2875 }
2876
2877
2878 static const per_sequence_t HandoverRequired_sequence[] = {
2879   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
2880   { NULL, 0, 0, NULL }
2881 };
2882
2883 static int
2884 dissect_s1ap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2885   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2886                                    ett_s1ap_HandoverRequired, HandoverRequired_sequence);
2887
2888   return offset;
2889 }
2890
2891
2892 static const per_sequence_t Intra_LTEHOInformationReq_sequence[] = {
2893   { &hf_s1ap_sourceeNodeB_ToTargeteNodeB_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceeNodeB_ToTargeteNodeB_TransparentContainer },
2894   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2895   { NULL, 0, 0, NULL }
2896 };
2897
2898 static int
2899 dissect_s1ap_Intra_LTEHOInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2900   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2901                                    ett_s1ap_Intra_LTEHOInformationReq, Intra_LTEHOInformationReq_sequence);
2902
2903   return offset;
2904 }
2905
2906
2907 static const per_sequence_t LTEtoUTRANHOInformationReq_sequence[] = {
2908   { &hf_s1ap_sourceRNC_ToTargetRNC_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceRNC_ToTargetRNC_TransparentContainer },
2909   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2910   { NULL, 0, 0, NULL }
2911 };
2912
2913 static int
2914 dissect_s1ap_LTEtoUTRANHOInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2915   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2916                                    ett_s1ap_LTEtoUTRANHOInformationReq, LTEtoUTRANHOInformationReq_sequence);
2917
2918   return offset;
2919 }
2920
2921
2922 static const per_sequence_t LTEtoGERANHOInformationReq_sequence[] = {
2923   { &hf_s1ap_sourceBSS_ToTargetBSS_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceBSS_ToTargetBSS_TransparentContainer },
2924   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2925   { NULL, 0, 0, NULL }
2926 };
2927
2928 static int
2929 dissect_s1ap_LTEtoGERANHOInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2930   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2931                                    ett_s1ap_LTEtoGERANHOInformationReq, LTEtoGERANHOInformationReq_sequence);
2932
2933   return offset;
2934 }
2935
2936
2937 static const per_sequence_t HandoverCommand_sequence[] = {
2938   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
2939   { NULL, 0, 0, NULL }
2940 };
2941
2942 static int
2943 dissect_s1ap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2944   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2945                                    ett_s1ap_HandoverCommand, HandoverCommand_sequence);
2946
2947   return offset;
2948 }
2949
2950
2951
2952 static int
2953 dissect_s1ap_SAEBearerSubjecttoDataForwardingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2954   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
2955
2956   return offset;
2957 }
2958
2959
2960 static const per_sequence_t SAEBearerDataForwardingItem_sequence[] = {
2961   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
2962   { &hf_s1ap_dL_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
2963   { &hf_s1ap_dL_gTP_TEID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
2964   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2965   { NULL, 0, 0, NULL }
2966 };
2967
2968 static int
2969 dissect_s1ap_SAEBearerDataForwardingItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2971                                    ett_s1ap_SAEBearerDataForwardingItem, SAEBearerDataForwardingItem_sequence);
2972
2973   return offset;
2974 }
2975
2976
2977
2978 static int
2979 dissect_s1ap_SAEBearertoReleaseListHOCmd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2980   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
2981
2982   return offset;
2983 }
2984
2985
2986 static const per_sequence_t SAEBearerReleaseItemHOCmd_sequence[] = {
2987   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
2988   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
2989   { NULL, 0, 0, NULL }
2990 };
2991
2992 static int
2993 dissect_s1ap_SAEBearerReleaseItemHOCmd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2994   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2995                                    ett_s1ap_SAEBearerReleaseItemHOCmd, SAEBearerReleaseItemHOCmd_sequence);
2996
2997   return offset;
2998 }
2999
3000
3001 static const per_sequence_t Intra_LTEHOInformationRes_sequence[] = {
3002   { &hf_s1ap_targeteNodeB_ToSourceeNodeB_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TargeteNodeB_ToSourceeNodeB_TransparentContainer },
3003   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3004   { NULL, 0, 0, NULL }
3005 };
3006
3007 static int
3008 dissect_s1ap_Intra_LTEHOInformationRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3009   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3010                                    ett_s1ap_Intra_LTEHOInformationRes, Intra_LTEHOInformationRes_sequence);
3011
3012   return offset;
3013 }
3014
3015
3016 static const per_sequence_t LTEtoUTRANHOInformationRes_sequence[] = {
3017   { &hf_s1ap_targetRNC_ToSourceRNC_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TargetRNC_ToSourceRNC_TransparentContainer },
3018   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3019   { NULL, 0, 0, NULL }
3020 };
3021
3022 static int
3023 dissect_s1ap_LTEtoUTRANHOInformationRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3024   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3025                                    ett_s1ap_LTEtoUTRANHOInformationRes, LTEtoUTRANHOInformationRes_sequence);
3026
3027   return offset;
3028 }
3029
3030
3031 static const per_sequence_t LTEtoGERANHOInformationRes_sequence[] = {
3032   { &hf_s1ap_targetBSS_ToSourceBSS_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TargetBSS_ToSourceBSS_TransparentContainer },
3033   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3034   { NULL, 0, 0, NULL }
3035 };
3036
3037 static int
3038 dissect_s1ap_LTEtoGERANHOInformationRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3039   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3040                                    ett_s1ap_LTEtoGERANHOInformationRes, LTEtoGERANHOInformationRes_sequence);
3041
3042   return offset;
3043 }
3044
3045
3046 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
3047   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3048   { NULL, 0, 0, NULL }
3049 };
3050
3051 static int
3052 dissect_s1ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3053   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3054                                    ett_s1ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
3055
3056   return offset;
3057 }
3058
3059
3060 static const per_sequence_t HandoverRequest_sequence[] = {
3061   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3062   { NULL, 0, 0, NULL }
3063 };
3064
3065 static int
3066 dissect_s1ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3067   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3068                                    ett_s1ap_HandoverRequest, HandoverRequest_sequence);
3069
3070   return offset;
3071 }
3072
3073
3074
3075 static int
3076 dissect_s1ap_SAEBearerToBeSetupListHOReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3077   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
3078
3079   return offset;
3080 }
3081
3082
3083 static const per_sequence_t SAEBearerToBeSetupItemHOReq_sequence[] = {
3084   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3085   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3086   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3087   { &hf_s1ap_sAE_BearerlevelQosParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_BearerLevelQoSParameters },
3088   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3089   { NULL, 0, 0, NULL }
3090 };
3091
3092 static int
3093 dissect_s1ap_SAEBearerToBeSetupItemHOReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3094   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3095                                    ett_s1ap_SAEBearerToBeSetupItemHOReq, SAEBearerToBeSetupItemHOReq_sequence);
3096
3097   return offset;
3098 }
3099
3100
3101 static const per_sequence_t UTRANtoLTEHOInformationReq_sequence[] = {
3102   { &hf_s1ap_sourceRNC_ToTargetRNC_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceRNC_ToTargetRNC_TransparentContainer },
3103   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3104   { NULL, 0, 0, NULL }
3105 };
3106
3107 static int
3108 dissect_s1ap_UTRANtoLTEHOInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3109   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3110                                    ett_s1ap_UTRANtoLTEHOInformationReq, UTRANtoLTEHOInformationReq_sequence);
3111
3112   return offset;
3113 }
3114
3115
3116 static const per_sequence_t GERANtoLTEHOInformationReq_sequence[] = {
3117   { &hf_s1ap_sourceBSS_ToTargetBSS_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SourceBSS_ToTargetBSS_TransparentContainer },
3118   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3119   { NULL, 0, 0, NULL }
3120 };
3121
3122 static int
3123 dissect_s1ap_GERANtoLTEHOInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3124   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3125                                    ett_s1ap_GERANtoLTEHOInformationReq, GERANtoLTEHOInformationReq_sequence);
3126
3127   return offset;
3128 }
3129
3130
3131 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
3132   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3133   { NULL, 0, 0, NULL }
3134 };
3135
3136 static int
3137 dissect_s1ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3138   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3139                                    ett_s1ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
3140
3141   return offset;
3142 }
3143
3144
3145
3146 static int
3147 dissect_s1ap_SAEBearerAdmittedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3148   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
3149
3150   return offset;
3151 }
3152
3153
3154 static const per_sequence_t SAEBearerAdmittedItem_sequence[] = {
3155   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3156   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3157   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3158   { &hf_s1ap_dL_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_TransportLayerAddress },
3159   { &hf_s1ap_dL_gTP_TEID    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_GTP_TEID },
3160   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3161   { NULL, 0, 0, NULL }
3162 };
3163
3164 static int
3165 dissect_s1ap_SAEBearerAdmittedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3166   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3167                                    ett_s1ap_SAEBearerAdmittedItem, SAEBearerAdmittedItem_sequence);
3168
3169   return offset;
3170 }
3171
3172
3173
3174 static int
3175 dissect_s1ap_SAEBearerFailedtoSetupListHOReqAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3176   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
3177
3178   return offset;
3179 }
3180
3181
3182 static const per_sequence_t SAEBearerFailedToSetupItemHOReqAck_sequence[] = {
3183   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3184   { &hf_s1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause },
3185   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3186   { NULL, 0, 0, NULL }
3187 };
3188
3189 static int
3190 dissect_s1ap_SAEBearerFailedToSetupItemHOReqAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3191   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3192                                    ett_s1ap_SAEBearerFailedToSetupItemHOReqAck, SAEBearerFailedToSetupItemHOReqAck_sequence);
3193
3194   return offset;
3195 }
3196
3197
3198 static const per_sequence_t UTRANtoLTEHOInformationRes_sequence[] = {
3199   { &hf_s1ap_targetRNC_ToSourceRNC_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TargetRNC_ToSourceRNC_TransparentContainer },
3200   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3201   { NULL, 0, 0, NULL }
3202 };
3203
3204 static int
3205 dissect_s1ap_UTRANtoLTEHOInformationRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3206   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3207                                    ett_s1ap_UTRANtoLTEHOInformationRes, UTRANtoLTEHOInformationRes_sequence);
3208
3209   return offset;
3210 }
3211
3212
3213 static const per_sequence_t GERANtoLTEHOInformationRes_sequence[] = {
3214   { &hf_s1ap_targetBSS_ToSourceBSS_TransparentContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TargetBSS_ToSourceBSS_TransparentContainer },
3215   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3216   { NULL, 0, 0, NULL }
3217 };
3218
3219 static int
3220 dissect_s1ap_GERANtoLTEHOInformationRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3221   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3222                                    ett_s1ap_GERANtoLTEHOInformationRes, GERANtoLTEHOInformationRes_sequence);
3223
3224   return offset;
3225 }
3226
3227
3228 static const per_sequence_t HandoverFailure_sequence[] = {
3229   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3230   { NULL, 0, 0, NULL }
3231 };
3232
3233 static int
3234 dissect_s1ap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3235   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3236                                    ett_s1ap_HandoverFailure, HandoverFailure_sequence);
3237
3238   return offset;
3239 }
3240
3241
3242 static const per_sequence_t HandoverNotify_sequence[] = {
3243   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3244   { NULL, 0, 0, NULL }
3245 };
3246
3247 static int
3248 dissect_s1ap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3249   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3250                                    ett_s1ap_HandoverNotify, HandoverNotify_sequence);
3251
3252   return offset;
3253 }
3254
3255
3256 static const per_sequence_t PathSwitchRequest_sequence[] = {
3257   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3258   { NULL, 0, 0, NULL }
3259 };
3260
3261 static int
3262 dissect_s1ap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3263   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3264                                    ett_s1ap_PathSwitchRequest, PathSwitchRequest_sequence);
3265
3266   return offset;
3267 }
3268
3269
3270
3271 static int
3272 dissect_s1ap_SAEBearerToBeSwitchedDLList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3273   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
3274
3275   return offset;
3276 }
3277
3278
3279 static const per_sequence_t SAEBearerToBeSwitchedDLItem_sequence[] = {
3280   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3281   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3282   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3283   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3284   { NULL, 0, 0, NULL }
3285 };
3286
3287 static int
3288 dissect_s1ap_SAEBearerToBeSwitchedDLItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3289   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3290                                    ett_s1ap_SAEBearerToBeSwitchedDLItem, SAEBearerToBeSwitchedDLItem_sequence);
3291
3292   return offset;
3293 }
3294
3295
3296 static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = {
3297   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3298   { NULL, 0, 0, NULL }
3299 };
3300
3301 static int
3302 dissect_s1ap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3303   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3304                                    ett_s1ap_PathSwitchRequestAcknowledge, PathSwitchRequestAcknowledge_sequence);
3305
3306   return offset;
3307 }
3308
3309
3310
3311 static int
3312 dissect_s1ap_SAEBearerToBeSwitchedULList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3313   offset = dissect_s1ap_SAEB_IE_ContainerList(tvb, offset, actx, tree, hf_index);
3314
3315   return offset;
3316 }
3317
3318
3319 static const per_sequence_t SAEBearerToBeSwitchedULItem_sequence[] = {
3320   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3321   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3322   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3323   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3324   { NULL, 0, 0, NULL }
3325 };
3326
3327 static int
3328 dissect_s1ap_SAEBearerToBeSwitchedULItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3329   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3330                                    ett_s1ap_SAEBearerToBeSwitchedULItem, SAEBearerToBeSwitchedULItem_sequence);
3331
3332   return offset;
3333 }
3334
3335
3336 static const per_sequence_t PathSwitchRequestFailure_sequence[] = {
3337   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3338   { NULL, 0, 0, NULL }
3339 };
3340
3341 static int
3342 dissect_s1ap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3343   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3344                                    ett_s1ap_PathSwitchRequestFailure, PathSwitchRequestFailure_sequence);
3345
3346   return offset;
3347 }
3348
3349
3350 static const per_sequence_t HandoverCancel_sequence[] = {
3351   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3352   { NULL, 0, 0, NULL }
3353 };
3354
3355 static int
3356 dissect_s1ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3357   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3358                                    ett_s1ap_HandoverCancel, HandoverCancel_sequence);
3359
3360   return offset;
3361 }
3362
3363
3364 static const per_sequence_t HandoverCancelAcknowledge_sequence[] = {
3365   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3366   { NULL, 0, 0, NULL }
3367 };
3368
3369 static int
3370 dissect_s1ap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3371   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3372                                    ett_s1ap_HandoverCancelAcknowledge, HandoverCancelAcknowledge_sequence);
3373
3374   return offset;
3375 }
3376
3377
3378 static const per_sequence_t SAEBearerSetupRequest_sequence[] = {
3379   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3380   { NULL, 0, 0, NULL }
3381 };
3382
3383 static int
3384 dissect_s1ap_SAEBearerSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3385   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3386                                    ett_s1ap_SAEBearerSetupRequest, SAEBearerSetupRequest_sequence);
3387
3388   return offset;
3389 }
3390
3391
3392 static const per_sequence_t SAEBearerToBeSetupListBearerSUReq_sequence_of[1] = {
3393   { &hf_s1ap_SAEBearerToBeSetupListBearerSUReq_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3394 };
3395
3396 static int
3397 dissect_s1ap_SAEBearerToBeSetupListBearerSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3398   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3399                                                   ett_s1ap_SAEBearerToBeSetupListBearerSUReq, SAEBearerToBeSetupListBearerSUReq_sequence_of,
3400                                                   1, maxNrOfSAEBs);
3401
3402   return offset;
3403 }
3404
3405
3406 static const per_sequence_t SAEBearerToBeSetupItemBearerSUReq_sequence[] = {
3407   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3408   { &hf_s1ap_sAE_BearerlevelQoSParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_BearerLevelQoSParameters },
3409   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3410   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3411   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3412   { NULL, 0, 0, NULL }
3413 };
3414
3415 static int
3416 dissect_s1ap_SAEBearerToBeSetupItemBearerSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3417   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3418                                    ett_s1ap_SAEBearerToBeSetupItemBearerSUReq, SAEBearerToBeSetupItemBearerSUReq_sequence);
3419
3420   return offset;
3421 }
3422
3423
3424 static const per_sequence_t SAEBearerSetupResponse_sequence[] = {
3425   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3426   { NULL, 0, 0, NULL }
3427 };
3428
3429 static int
3430 dissect_s1ap_SAEBearerSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3431   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3432                                    ett_s1ap_SAEBearerSetupResponse, SAEBearerSetupResponse_sequence);
3433
3434   return offset;
3435 }
3436
3437
3438 static const per_sequence_t SAEBearerSetupListBearerSURes_sequence_of[1] = {
3439   { &hf_s1ap_SAEBearerSetupListBearerSURes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3440 };
3441
3442 static int
3443 dissect_s1ap_SAEBearerSetupListBearerSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3444   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3445                                                   ett_s1ap_SAEBearerSetupListBearerSURes, SAEBearerSetupListBearerSURes_sequence_of,
3446                                                   0, maxNrOfSAEBs);
3447
3448   return offset;
3449 }
3450
3451
3452 static const per_sequence_t SAEBearerSetupItemBearerSURes_sequence[] = {
3453   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3454   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3455   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3456   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3457   { NULL, 0, 0, NULL }
3458 };
3459
3460 static int
3461 dissect_s1ap_SAEBearerSetupItemBearerSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3462   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3463                                    ett_s1ap_SAEBearerSetupItemBearerSURes, SAEBearerSetupItemBearerSURes_sequence);
3464
3465   return offset;
3466 }
3467
3468
3469 static const per_sequence_t SAEBearerModifyRequest_sequence[] = {
3470   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3471   { NULL, 0, 0, NULL }
3472 };
3473
3474 static int
3475 dissect_s1ap_SAEBearerModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3476   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3477                                    ett_s1ap_SAEBearerModifyRequest, SAEBearerModifyRequest_sequence);
3478
3479   return offset;
3480 }
3481
3482
3483 static const per_sequence_t SAEBearerToBeModifiedListBearerModReq_sequence_of[1] = {
3484   { &hf_s1ap_SAEBearerToBeModifiedListBearerModReq_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3485 };
3486
3487 static int
3488 dissect_s1ap_SAEBearerToBeModifiedListBearerModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3489   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3490                                                   ett_s1ap_SAEBearerToBeModifiedListBearerModReq, SAEBearerToBeModifiedListBearerModReq_sequence_of,
3491                                                   1, maxNrOfSAEBs);
3492
3493   return offset;
3494 }
3495
3496
3497 static const per_sequence_t SAEBearerToBeModifiedItemBearerModReq_sequence[] = {
3498   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3499   { &hf_s1ap_sAE_BearerLevelQoSParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_BearerLevelQoSParameters },
3500   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3501   { NULL, 0, 0, NULL }
3502 };
3503
3504 static int
3505 dissect_s1ap_SAEBearerToBeModifiedItemBearerModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3507                                    ett_s1ap_SAEBearerToBeModifiedItemBearerModReq, SAEBearerToBeModifiedItemBearerModReq_sequence);
3508
3509   return offset;
3510 }
3511
3512
3513 static const per_sequence_t SAEBearerModifyResponse_sequence[] = {
3514   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3515   { NULL, 0, 0, NULL }
3516 };
3517
3518 static int
3519 dissect_s1ap_SAEBearerModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3520   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3521                                    ett_s1ap_SAEBearerModifyResponse, SAEBearerModifyResponse_sequence);
3522
3523   return offset;
3524 }
3525
3526
3527 static const per_sequence_t SAEBearerModifyListBearerModRes_sequence_of[1] = {
3528   { &hf_s1ap_SAEBearerModifyListBearerModRes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3529 };
3530
3531 static int
3532 dissect_s1ap_SAEBearerModifyListBearerModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3533   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3534                                                   ett_s1ap_SAEBearerModifyListBearerModRes, SAEBearerModifyListBearerModRes_sequence_of,
3535                                                   0, maxNrOfSAEBs);
3536
3537   return offset;
3538 }
3539
3540
3541 static const per_sequence_t SAEBearerModifyItemBearerModRes_sequence[] = {
3542   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3543   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3544   { NULL, 0, 0, NULL }
3545 };
3546
3547 static int
3548 dissect_s1ap_SAEBearerModifyItemBearerModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3549   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3550                                    ett_s1ap_SAEBearerModifyItemBearerModRes, SAEBearerModifyItemBearerModRes_sequence);
3551
3552   return offset;
3553 }
3554
3555
3556 static const per_sequence_t SAEBearerReleaseCommand_sequence[] = {
3557   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3558   { NULL, 0, 0, NULL }
3559 };
3560
3561 static int
3562 dissect_s1ap_SAEBearerReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3563   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3564                                    ett_s1ap_SAEBearerReleaseCommand, SAEBearerReleaseCommand_sequence);
3565
3566   return offset;
3567 }
3568
3569
3570 static const per_sequence_t SAEBearerReleaseResponse_sequence[] = {
3571   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3572   { NULL, 0, 0, NULL }
3573 };
3574
3575 static int
3576 dissect_s1ap_SAEBearerReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3577   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3578                                    ett_s1ap_SAEBearerReleaseResponse, SAEBearerReleaseResponse_sequence);
3579
3580   return offset;
3581 }
3582
3583
3584 static const per_sequence_t SAEBearerReleaseListBearerRelComp_sequence_of[1] = {
3585   { &hf_s1ap_SAEBearerReleaseListBearerRelComp_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3586 };
3587
3588 static int
3589 dissect_s1ap_SAEBearerReleaseListBearerRelComp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3590   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3591                                                   ett_s1ap_SAEBearerReleaseListBearerRelComp, SAEBearerReleaseListBearerRelComp_sequence_of,
3592                                                   0, maxNrOfSAEBs);
3593
3594   return offset;
3595 }
3596
3597
3598 static const per_sequence_t SAEBearerReleaseItemBearerRelComp_sequence[] = {
3599   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3600   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3601   { NULL, 0, 0, NULL }
3602 };
3603
3604 static int
3605 dissect_s1ap_SAEBearerReleaseItemBearerRelComp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3606   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3607                                    ett_s1ap_SAEBearerReleaseItemBearerRelComp, SAEBearerReleaseItemBearerRelComp_sequence);
3608
3609   return offset;
3610 }
3611
3612
3613 static const per_sequence_t SAEBearerReleaseRequest_sequence[] = {
3614   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3615   { NULL, 0, 0, NULL }
3616 };
3617
3618 static int
3619 dissect_s1ap_SAEBearerReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3620   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3621                                    ett_s1ap_SAEBearerReleaseRequest, SAEBearerReleaseRequest_sequence);
3622
3623   return offset;
3624 }
3625
3626
3627 static const per_sequence_t InitialContextSetupRequest_sequence[] = {
3628   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3629   { NULL, 0, 0, NULL }
3630 };
3631
3632 static int
3633 dissect_s1ap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3634   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3635                                    ett_s1ap_InitialContextSetupRequest, InitialContextSetupRequest_sequence);
3636
3637   return offset;
3638 }
3639
3640
3641 static const per_sequence_t UEContextReleaseRequest_sequence[] = {
3642   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3643   { NULL, 0, 0, NULL }
3644 };
3645
3646 static int
3647 dissect_s1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3648   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3649                                    ett_s1ap_UEContextReleaseRequest, UEContextReleaseRequest_sequence);
3650
3651   return offset;
3652 }
3653
3654
3655 static const per_sequence_t SAEBearerToBeSetupListCtxtSUReq_sequence_of[1] = {
3656   { &hf_s1ap_SAEBearerToBeSetupListCtxtSUReq_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3657 };
3658
3659 static int
3660 dissect_s1ap_SAEBearerToBeSetupListCtxtSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3661   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3662                                                   ett_s1ap_SAEBearerToBeSetupListCtxtSUReq, SAEBearerToBeSetupListCtxtSUReq_sequence_of,
3663                                                   1, maxNrOfSAEBs);
3664
3665   return offset;
3666 }
3667
3668
3669 static const per_sequence_t SAEBearerToBeSetupItemCtxtSUReq_sequence[] = {
3670   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3671   { &hf_s1ap_sAE_BearerlevelQoSParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_BearerLevelQoSParameters },
3672   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3673   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3674   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3675   { NULL, 0, 0, NULL }
3676 };
3677
3678 static int
3679 dissect_s1ap_SAEBearerToBeSetupItemCtxtSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3680   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3681                                    ett_s1ap_SAEBearerToBeSetupItemCtxtSUReq, SAEBearerToBeSetupItemCtxtSUReq_sequence);
3682
3683   return offset;
3684 }
3685
3686
3687 static const per_sequence_t InitialContextSetupResponse_sequence[] = {
3688   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3689   { NULL, 0, 0, NULL }
3690 };
3691
3692 static int
3693 dissect_s1ap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3694   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3695                                    ett_s1ap_InitialContextSetupResponse, InitialContextSetupResponse_sequence);
3696
3697   return offset;
3698 }
3699
3700
3701 static const per_sequence_t SAEBearerSetupListCtxtSURes_sequence_of[1] = {
3702   { &hf_s1ap_SAEBearerSetupListCtxtSURes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3703 };
3704
3705 static int
3706 dissect_s1ap_SAEBearerSetupListCtxtSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3707   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3708                                                   ett_s1ap_SAEBearerSetupListCtxtSURes, SAEBearerSetupListCtxtSURes_sequence_of,
3709                                                   1, maxNrOfSAEBs);
3710
3711   return offset;
3712 }
3713
3714
3715 static const per_sequence_t SAEBearerSetupItemCtxtSURes_sequence[] = {
3716   { &hf_s1ap_sAE_Bearer_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_SAE_Bearer_ID },
3717   { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress },
3718   { &hf_s1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID },
3719   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3720   { NULL, 0, 0, NULL }
3721 };
3722
3723 static int
3724 dissect_s1ap_SAEBearerSetupItemCtxtSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3725   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3726                                    ett_s1ap_SAEBearerSetupItemCtxtSURes, SAEBearerSetupItemCtxtSURes_sequence);
3727
3728   return offset;
3729 }
3730
3731
3732 static const per_sequence_t InitialContextSetupFailure_sequence[] = {
3733   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3734   { NULL, 0, 0, NULL }
3735 };
3736
3737 static int
3738 dissect_s1ap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3739   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3740                                    ett_s1ap_InitialContextSetupFailure, InitialContextSetupFailure_sequence);
3741
3742   return offset;
3743 }
3744
3745
3746 static const per_sequence_t Paging_sequence[] = {
3747   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3748   { NULL, 0, 0, NULL }
3749 };
3750
3751 static int
3752 dissect_s1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3753   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3754                                    ett_s1ap_Paging, Paging_sequence);
3755
3756   return offset;
3757 }
3758
3759
3760 static const per_sequence_t TAIList_sequence_of[1] = {
3761   { &hf_s1ap_TAIList_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3762 };
3763
3764 static int
3765 dissect_s1ap_TAIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3766   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3767                                                   ett_s1ap_TAIList, TAIList_sequence_of,
3768                                                   1, maxnoofTAI);
3769
3770   return offset;
3771 }
3772
3773
3774 static const per_sequence_t TAIItem_sequence[] = {
3775   { &hf_s1ap_tAI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
3776   { &hf_s1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_s1ap_ProtocolExtensionContainer },
3777   { NULL, 0, 0, NULL }
3778 };
3779
3780 static int
3781 dissect_s1ap_TAIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3782   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3783                                    ett_s1ap_TAIItem, TAIItem_sequence);
3784
3785   return offset;
3786 }
3787
3788
3789 static const per_sequence_t UEContextReleaseCommand_sequence[] = {
3790   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3791   { NULL, 0, 0, NULL }
3792 };
3793
3794 static int
3795 dissect_s1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3796   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3797                                    ett_s1ap_UEContextReleaseCommand, UEContextReleaseCommand_sequence);
3798
3799   return offset;
3800 }
3801
3802
3803 static const per_sequence_t UEContextReleaseComplete_sequence[] = {
3804   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3805   { NULL, 0, 0, NULL }
3806 };
3807
3808 static int
3809 dissect_s1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3810   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3811                                    ett_s1ap_UEContextReleaseComplete, UEContextReleaseComplete_sequence);
3812
3813   return offset;
3814 }
3815
3816
3817 static const per_sequence_t UEContextModificationRequest_sequence[] = {
3818   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3819   { NULL, 0, 0, NULL }
3820 };
3821
3822 static int
3823 dissect_s1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3824   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3825                                    ett_s1ap_UEContextModificationRequest, UEContextModificationRequest_sequence);
3826
3827   return offset;
3828 }
3829
3830
3831 static const per_sequence_t UEContextModificationResponse_sequence[] = {
3832   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3833   { NULL, 0, 0, NULL }
3834 };
3835
3836 static int
3837 dissect_s1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3838   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3839                                    ett_s1ap_UEContextModificationResponse, UEContextModificationResponse_sequence);
3840
3841   return offset;
3842 }
3843
3844
3845 static const per_sequence_t UEContextModificationFailure_sequence[] = {
3846   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3847   { NULL, 0, 0, NULL }
3848 };
3849
3850 static int
3851 dissect_s1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3852   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3853                                    ett_s1ap_UEContextModificationFailure, UEContextModificationFailure_sequence);
3854
3855   return offset;
3856 }
3857
3858
3859 static const per_sequence_t DownlinkNASTransport_sequence[] = {
3860   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3861   { NULL, 0, 0, NULL }
3862 };
3863
3864 static int
3865 dissect_s1ap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3866   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3867                                    ett_s1ap_DownlinkNASTransport, DownlinkNASTransport_sequence);
3868
3869   return offset;
3870 }
3871
3872
3873 static const per_sequence_t InitialUEMessage_sequence[] = {
3874   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3875   { NULL, 0, 0, NULL }
3876 };
3877
3878 static int
3879 dissect_s1ap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3880   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3881                                    ett_s1ap_InitialUEMessage, InitialUEMessage_sequence);
3882
3883   return offset;
3884 }
3885
3886
3887 static const per_sequence_t UplinkNASTransport_sequence[] = {
3888   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3889   { NULL, 0, 0, NULL }
3890 };
3891
3892 static int
3893 dissect_s1ap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3894   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3895                                    ett_s1ap_UplinkNASTransport, UplinkNASTransport_sequence);
3896
3897   return offset;
3898 }
3899
3900
3901 static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
3902   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3903   { NULL, 0, 0, NULL }
3904 };
3905
3906 static int
3907 dissect_s1ap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3908   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3909                                    ett_s1ap_NASNonDeliveryIndication, NASNonDeliveryIndication_sequence);
3910
3911   return offset;
3912 }
3913
3914
3915 static const per_sequence_t Reset_sequence[] = {
3916   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3917   { NULL, 0, 0, NULL }
3918 };
3919
3920 static int
3921 dissect_s1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3922   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3923                                    ett_s1ap_Reset, Reset_sequence);
3924
3925   return offset;
3926 }
3927
3928
3929 static const value_string s1ap_ResetAll_vals[] = {
3930   {   0, "reset-all" },
3931   { 0, NULL }
3932 };
3933
3934
3935 static int
3936 dissect_s1ap_ResetAll(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3937   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3938                                      1, NULL, TRUE, 0, NULL);
3939
3940   return offset;
3941 }
3942
3943
3944 static const per_sequence_t UE_associatedLogicalS1_ConnectionListRes_sequence_of[1] = {
3945   { &hf_s1ap_UE_associatedLogicalS1_ConnectionListRes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3946 };
3947
3948 static int
3949 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_) {
3950   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3951                                                   ett_s1ap_UE_associatedLogicalS1_ConnectionListRes, UE_associatedLogicalS1_ConnectionListRes_sequence_of,
3952                                                   1, maxNrOfIndividualS1ConnectionsToReset);
3953
3954   return offset;
3955 }
3956
3957
3958 static const value_string s1ap_ResetType_vals[] = {
3959   {   0, "s1-Interface" },
3960   {   1, "partOfS1-Interface" },
3961   { 0, NULL }
3962 };
3963
3964 static const per_choice_t ResetType_choice[] = {
3965   {   0, &hf_s1ap_s1_Interface   , ASN1_EXTENSION_ROOT    , dissect_s1ap_ResetAll },
3966   {   1, &hf_s1ap_partOfS1_Interface, ASN1_EXTENSION_ROOT    , dissect_s1ap_UE_associatedLogicalS1_ConnectionListRes },
3967   { 0, NULL, 0, NULL }
3968 };
3969
3970 static int
3971 dissect_s1ap_ResetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3972   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3973                                  ett_s1ap_ResetType, ResetType_choice,
3974                                  NULL);
3975
3976   return offset;
3977 }
3978
3979
3980 static const per_sequence_t ResetAcknowledge_sequence[] = {
3981   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
3982   { NULL, 0, 0, NULL }
3983 };
3984
3985 static int
3986 dissect_s1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3987   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3988                                    ett_s1ap_ResetAcknowledge, ResetAcknowledge_sequence);
3989
3990   return offset;
3991 }
3992
3993
3994 static const per_sequence_t UE_associatedLogicalS1_ConnectionListResAck_sequence_of[1] = {
3995   { &hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer },
3996 };
3997
3998 static int
3999 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_) {
4000   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4001                                                   ett_s1ap_UE_associatedLogicalS1_ConnectionListResAck, UE_associatedLogicalS1_ConnectionListResAck_sequence_of,
4002                                                   1, maxNrOfIndividualS1ConnectionsToReset);
4003
4004   return offset;
4005 }
4006
4007
4008 static const per_sequence_t ErrorIndication_sequence[] = {
4009   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4010   { NULL, 0, 0, NULL }
4011 };
4012
4013 static int
4014 dissect_s1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4015   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4016                                    ett_s1ap_ErrorIndication, ErrorIndication_sequence);
4017
4018   return offset;
4019 }
4020
4021
4022 static const per_sequence_t S1SetupRequest_sequence[] = {
4023   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4024   { NULL, 0, 0, NULL }
4025 };
4026
4027 static int
4028 dissect_s1ap_S1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4029   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4030                                    ett_s1ap_S1SetupRequest, S1SetupRequest_sequence);
4031
4032   return offset;
4033 }
4034
4035
4036 static const per_sequence_t S1SetupResponse_sequence[] = {
4037   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4038   { NULL, 0, 0, NULL }
4039 };
4040
4041 static int
4042 dissect_s1ap_S1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4043   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4044                                    ett_s1ap_S1SetupResponse, S1SetupResponse_sequence);
4045
4046   return offset;
4047 }
4048
4049
4050 static const per_sequence_t S1SetupFailure_sequence[] = {
4051   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4052   { NULL, 0, 0, NULL }
4053 };
4054
4055 static int
4056 dissect_s1ap_S1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4057   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4058                                    ett_s1ap_S1SetupFailure, S1SetupFailure_sequence);
4059
4060   return offset;
4061 }
4062
4063
4064 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
4065   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4066   { NULL, 0, 0, NULL }
4067 };
4068
4069 static int
4070 dissect_s1ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4071   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4072                                    ett_s1ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
4073
4074   return offset;
4075 }
4076
4077
4078 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
4079   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4080   { NULL, 0, 0, NULL }
4081 };
4082
4083 static int
4084 dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4085   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4086                                    ett_s1ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
4087
4088   return offset;
4089 }
4090
4091
4092 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
4093   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4094   { NULL, 0, 0, NULL }
4095 };
4096
4097 static int
4098 dissect_s1ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4099   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4100                                    ett_s1ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
4101
4102   return offset;
4103 }
4104
4105
4106 static const per_sequence_t MMEConfigurationUpdate_sequence[] = {
4107   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4108   { NULL, 0, 0, NULL }
4109 };
4110
4111 static int
4112 dissect_s1ap_MMEConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4113   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4114                                    ett_s1ap_MMEConfigurationUpdate, MMEConfigurationUpdate_sequence);
4115
4116   return offset;
4117 }
4118
4119
4120 static const per_sequence_t MMEConfigurationUpdateAcknowledge_sequence[] = {
4121   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4122   { NULL, 0, 0, NULL }
4123 };
4124
4125 static int
4126 dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4127   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4128                                    ett_s1ap_MMEConfigurationUpdateAcknowledge, MMEConfigurationUpdateAcknowledge_sequence);
4129
4130   return offset;
4131 }
4132
4133
4134 static const per_sequence_t MMEConfigurationUpdateFailure_sequence[] = {
4135   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4136   { NULL, 0, 0, NULL }
4137 };
4138
4139 static int
4140 dissect_s1ap_MMEConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4141   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4142                                    ett_s1ap_MMEConfigurationUpdateFailure, MMEConfigurationUpdateFailure_sequence);
4143
4144   return offset;
4145 }
4146
4147
4148 static const per_sequence_t DownlinkS1cdma2000tunneling_sequence[] = {
4149   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4150   { NULL, 0, 0, NULL }
4151 };
4152
4153 static int
4154 dissect_s1ap_DownlinkS1cdma2000tunneling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4155   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4156                                    ett_s1ap_DownlinkS1cdma2000tunneling, DownlinkS1cdma2000tunneling_sequence);
4157
4158   return offset;
4159 }
4160
4161
4162 static const per_sequence_t UplinkS1cdma2000tunneling_sequence[] = {
4163   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4164   { NULL, 0, 0, NULL }
4165 };
4166
4167 static int
4168 dissect_s1ap_UplinkS1cdma2000tunneling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4169   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4170                                    ett_s1ap_UplinkS1cdma2000tunneling, UplinkS1cdma2000tunneling_sequence);
4171
4172   return offset;
4173 }
4174
4175
4176 static const per_sequence_t UECapabilityInfoIndication_sequence[] = {
4177   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4178   { NULL, 0, 0, NULL }
4179 };
4180
4181 static int
4182 dissect_s1ap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4183   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4184                                    ett_s1ap_UECapabilityInfoIndication, UECapabilityInfoIndication_sequence);
4185
4186   return offset;
4187 }
4188
4189
4190 static const per_sequence_t ENBStatusTransfer_sequence[] = {
4191   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4192   { NULL, 0, 0, NULL }
4193 };
4194
4195 static int
4196 dissect_s1ap_ENBStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4197   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4198                                    ett_s1ap_ENBStatusTransfer, ENBStatusTransfer_sequence);
4199
4200   return offset;
4201 }
4202
4203
4204 static const per_sequence_t MMEStatusTransfer_sequence[] = {
4205   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4206   { NULL, 0, 0, NULL }
4207 };
4208
4209 static int
4210 dissect_s1ap_MMEStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4211   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4212                                    ett_s1ap_MMEStatusTransfer, MMEStatusTransfer_sequence);
4213
4214   return offset;
4215 }
4216
4217
4218 static const per_sequence_t TraceStart_sequence[] = {
4219   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4220   { NULL, 0, 0, NULL }
4221 };
4222
4223 static int
4224 dissect_s1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4225   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4226                                    ett_s1ap_TraceStart, TraceStart_sequence);
4227
4228   return offset;
4229 }
4230
4231
4232 static const per_sequence_t TraceFailureIndication_sequence[] = {
4233   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4234   { NULL, 0, 0, NULL }
4235 };
4236
4237 static int
4238 dissect_s1ap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4239   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4240                                    ett_s1ap_TraceFailureIndication, TraceFailureIndication_sequence);
4241
4242   return offset;
4243 }
4244
4245
4246 static const per_sequence_t DeactivateTrace_sequence[] = {
4247   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4248   { NULL, 0, 0, NULL }
4249 };
4250
4251 static int
4252 dissect_s1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4253   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4254                                    ett_s1ap_DeactivateTrace, DeactivateTrace_sequence);
4255
4256   return offset;
4257 }
4258
4259
4260 static const per_sequence_t LocationReportingControl_sequence[] = {
4261   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4262   { NULL, 0, 0, NULL }
4263 };
4264
4265 static int
4266 dissect_s1ap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4267   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4268                                    ett_s1ap_LocationReportingControl, LocationReportingControl_sequence);
4269
4270   return offset;
4271 }
4272
4273
4274 static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
4275   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4276   { NULL, 0, 0, NULL }
4277 };
4278
4279 static int
4280 dissect_s1ap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4281   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4282                                    ett_s1ap_LocationReportingFailureIndication, LocationReportingFailureIndication_sequence);
4283
4284   return offset;
4285 }
4286
4287
4288 static const per_sequence_t LocationReport_sequence[] = {
4289   { &hf_s1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
4290   { NULL, 0, 0, NULL }
4291 };
4292
4293 static int
4294 dissect_s1ap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4295   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4296                                    ett_s1ap_LocationReport, LocationReport_sequence);
4297
4298   return offset;
4299 }
4300
4301
4302
4303 static int
4304 dissect_s1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4305   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
4306
4307   return offset;
4308 }
4309
4310
4311 static const per_sequence_t InitiatingMessage_sequence[] = {
4312   { &hf_s1ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProcedureCode },
4313   { &hf_s1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
4314   { &hf_s1ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_InitiatingMessage_value },
4315   { NULL, 0, 0, NULL }
4316 };
4317
4318 static int
4319 dissect_s1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4320   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4321                                    ett_s1ap_InitiatingMessage, InitiatingMessage_sequence);
4322
4323   return offset;
4324 }
4325
4326
4327
4328 static int
4329 dissect_s1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4330   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
4331
4332   return offset;
4333 }
4334
4335
4336 static const per_sequence_t SuccessfulOutcome_sequence[] = {
4337   { &hf_s1ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProcedureCode },
4338   { &hf_s1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
4339   { &hf_s1ap_successfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_SuccessfulOutcome_value },
4340   { NULL, 0, 0, NULL }
4341 };
4342
4343 static int
4344 dissect_s1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4345   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4346                                    ett_s1ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
4347
4348   return offset;
4349 }
4350
4351
4352
4353 static int
4354 dissect_s1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4355   offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
4356
4357   return offset;
4358 }
4359
4360
4361 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
4362   { &hf_s1ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_ProcedureCode },
4363   { &hf_s1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_Criticality },
4364   { &hf_s1ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_s1ap_UnsuccessfulOutcome_value },
4365   { NULL, 0, 0, NULL }
4366 };
4367
4368 static int
4369 dissect_s1ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4370   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4371                                    ett_s1ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
4372
4373   return offset;
4374 }
4375
4376
4377 static const value_string s1ap_S1AP_PDU_vals[] = {
4378   {   0, "initiatingMessage" },
4379   {   1, "successfulOutcome" },
4380   {   2, "unsuccessfulOutcome" },
4381   { 0, NULL }
4382 };
4383
4384 static const per_choice_t S1AP_PDU_choice[] = {
4385   {   0, &hf_s1ap_initiatingMessage, ASN1_EXTENSION_ROOT    , dissect_s1ap_InitiatingMessage },
4386   {   1, &hf_s1ap_successfulOutcome, ASN1_EXTENSION_ROOT    , dissect_s1ap_SuccessfulOutcome },
4387   {   2, &hf_s1ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT    , dissect_s1ap_UnsuccessfulOutcome },
4388   { 0, NULL, 0, NULL }
4389 };
4390
4391 static int
4392 dissect_s1ap_S1AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4393   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4394                                  ett_s1ap_S1AP_PDU, S1AP_PDU_choice,
4395                                  NULL);
4396
4397   return offset;
4398 }
4399
4400 /*--- PDUs ---*/
4401
4402 static int dissect_AggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4403   int offset = 0;
4404   asn1_ctx_t asn1_ctx;
4405   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4406   offset = dissect_s1ap_AggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_s1ap_AggregateMaximumBitrate_PDU);
4407   offset += 7; offset >>= 3;
4408   return offset;
4409 }
4410 static int dissect_Bearers_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4411   int offset = 0;
4412   asn1_ctx_t asn1_ctx;
4413   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4414   offset = dissect_s1ap_Bearers_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU);
4415   offset += 7; offset >>= 3;
4416   return offset;
4417 }
4418 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4419   int offset = 0;
4420   asn1_ctx_t asn1_ctx;
4421   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4422   offset = dissect_s1ap_Cause(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cause_PDU);
4423   offset += 7; offset >>= 3;
4424   return offset;
4425 }
4426 static int dissect_Cdma2000PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4427   int offset = 0;
4428   asn1_ctx_t asn1_ctx;
4429   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4430   offset = dissect_s1ap_Cdma2000PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000PDU_PDU);
4431   offset += 7; offset >>= 3;
4432   return offset;
4433 }
4434 static int dissect_Cdma2000RATType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4435   int offset = 0;
4436   asn1_ctx_t asn1_ctx;
4437   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4438   offset = dissect_s1ap_Cdma2000RATType(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000RATType_PDU);
4439   offset += 7; offset >>= 3;
4440   return offset;
4441 }
4442 static int dissect_Cdma2000SectorID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4443   int offset = 0;
4444   asn1_ctx_t asn1_ctx;
4445   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4446   offset = dissect_s1ap_Cdma2000SectorID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000SectorID_PDU);
4447   offset += 7; offset >>= 3;
4448   return offset;
4449 }
4450 static int dissect_Cdma2000HOStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4451   int offset = 0;
4452   asn1_ctx_t asn1_ctx;
4453   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4454   offset = dissect_s1ap_Cdma2000HOStatus(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000HOStatus_PDU);
4455   offset += 7; offset >>= 3;
4456   return offset;
4457 }
4458 static int dissect_Cdma2000HORequiredIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4459   int offset = 0;
4460   asn1_ctx_t asn1_ctx;
4461   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4462   offset = dissect_s1ap_Cdma2000HORequiredIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000HORequiredIndication_PDU);
4463   offset += 7; offset >>= 3;
4464   return offset;
4465 }
4466 static int dissect_Cdma2000OneXMEID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4467   int offset = 0;
4468   asn1_ctx_t asn1_ctx;
4469   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4470   offset = dissect_s1ap_Cdma2000OneXMEID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000OneXMEID_PDU);
4471   offset += 7; offset >>= 3;
4472   return offset;
4473 }
4474 static int dissect_Cdma2000OneXRAND_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4475   int offset = 0;
4476   asn1_ctx_t asn1_ctx;
4477   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4478   offset = dissect_s1ap_Cdma2000OneXRAND(tvb, offset, &asn1_ctx, tree, hf_s1ap_Cdma2000OneXRAND_PDU);
4479   offset += 7; offset >>= 3;
4480   return offset;
4481 }
4482 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4483   int offset = 0;
4484   asn1_ctx_t asn1_ctx;
4485   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4486   offset = dissect_s1ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_s1ap_CriticalityDiagnostics_PDU);
4487   offset += 7; offset >>= 3;
4488   return offset;
4489 }
4490 static int dissect_Direct_Forwarding_Path_Availability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4491   int offset = 0;
4492   asn1_ctx_t asn1_ctx;
4493   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4494   offset = dissect_s1ap_Direct_Forwarding_Path_Availability(tvb, offset, &asn1_ctx, tree, hf_s1ap_Direct_Forwarding_Path_Availability_PDU);
4495   offset += 7; offset >>= 3;
4496   return offset;
4497 }
4498 static int dissect_ENB_StatusTransfer_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4499   int offset = 0;
4500   asn1_ctx_t asn1_ctx;
4501   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4502   offset = dissect_s1ap_ENB_StatusTransfer_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENB_StatusTransfer_TransparentContainer_PDU);
4503   offset += 7; offset >>= 3;
4504   return offset;
4505 }
4506 static int dissect_ENB_UE_S1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4507   int offset = 0;
4508   asn1_ctx_t asn1_ctx;
4509   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4510   offset = dissect_s1ap_ENB_UE_S1AP_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENB_UE_S1AP_ID_PDU);
4511   offset += 7; offset >>= 3;
4512   return offset;
4513 }
4514 static int dissect_ENB_Global_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4515   int offset = 0;
4516   asn1_ctx_t asn1_ctx;
4517   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4518   offset = dissect_s1ap_ENB_Global_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENB_Global_ID_PDU);
4519   offset += 7; offset >>= 3;
4520   return offset;
4521 }
4522 static int dissect_ENBname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4523   int offset = 0;
4524   asn1_ctx_t asn1_ctx;
4525   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4526   offset = dissect_s1ap_ENBname(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBname_PDU);
4527   offset += 7; offset >>= 3;
4528   return offset;
4529 }
4530 static int dissect_EUTRAN_CGI_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4531   int offset = 0;
4532   asn1_ctx_t asn1_ctx;
4533   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4534   offset = dissect_s1ap_EUTRAN_CGI_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_EUTRAN_CGI_ID_PDU);
4535   offset += 7; offset >>= 3;
4536   return offset;
4537 }
4538 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4539   int offset = 0;
4540   asn1_ctx_t asn1_ctx;
4541   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4542   offset = dissect_s1ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_s1ap_GUMMEI_PDU);
4543   offset += 7; offset >>= 3;
4544   return offset;
4545 }
4546 static int dissect_HandoverRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4547   int offset = 0;
4548   asn1_ctx_t asn1_ctx;
4549   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4550   offset = dissect_s1ap_HandoverRestrictionList(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRestrictionList_PDU);
4551   offset += 7; offset >>= 3;
4552   return offset;
4553 }
4554 static int dissect_HandoverType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4555   int offset = 0;
4556   asn1_ctx_t asn1_ctx;
4557   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4558   offset = dissect_s1ap_HandoverType(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverType_PDU);
4559   offset += 7; offset >>= 3;
4560   return offset;
4561 }
4562 static int dissect_MMEname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4563   int offset = 0;
4564   asn1_ctx_t asn1_ctx;
4565   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4566   offset = dissect_s1ap_MMEname(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEname_PDU);
4567   offset += 7; offset >>= 3;
4568   return offset;
4569 }
4570 static int dissect_MME_UE_S1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4571   int offset = 0;
4572   asn1_ctx_t asn1_ctx;
4573   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4574   offset = dissect_s1ap_MME_UE_S1AP_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_MME_UE_S1AP_ID_PDU);
4575   offset += 7; offset >>= 3;
4576   return offset;
4577 }
4578 static int dissect_NAS_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4579   int offset = 0;
4580   asn1_ctx_t asn1_ctx;
4581   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4582   offset = dissect_s1ap_NAS_PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_NAS_PDU_PDU);
4583   offset += 7; offset >>= 3;
4584   return offset;
4585 }
4586 static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4587   int offset = 0;
4588   asn1_ctx_t asn1_ctx;
4589   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4590   offset = dissect_s1ap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_s1ap_PagingDRX_PDU);
4591   offset += 7; offset >>= 3;
4592   return offset;
4593 }
4594 static int dissect_PagingCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4595   int offset = 0;
4596   asn1_ctx_t asn1_ctx;
4597   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4598   offset = dissect_s1ap_PagingCause(tvb, offset, &asn1_ctx, tree, hf_s1ap_PagingCause_PDU);
4599   offset += 7; offset >>= 3;
4600   return offset;
4601 }
4602 static int dissect_RelativeMMECapacity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4603   int offset = 0;
4604   asn1_ctx_t asn1_ctx;
4605   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4606   offset = dissect_s1ap_RelativeMMECapacity(tvb, offset, &asn1_ctx, tree, hf_s1ap_RelativeMMECapacity_PDU);
4607   offset += 7; offset >>= 3;
4608   return offset;
4609 }
4610 static int dissect_RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4611   int offset = 0;
4612   asn1_ctx_t asn1_ctx;
4613   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4614   offset = dissect_s1ap_RequestType(tvb, offset, &asn1_ctx, tree, hf_s1ap_RequestType_PDU);
4615   offset += 7; offset >>= 3;
4616   return offset;
4617 }
4618 static int dissect_SAEBearerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4619   int offset = 0;
4620   asn1_ctx_t asn1_ctx;
4621   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4622   offset = dissect_s1ap_SAEBearerList(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerList_PDU);
4623   offset += 7; offset >>= 3;
4624   return offset;
4625 }
4626 static int dissect_SAEBearerItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4627   int offset = 0;
4628   asn1_ctx_t asn1_ctx;
4629   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4630   offset = dissect_s1ap_SAEBearerItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerItem_PDU);
4631   offset += 7; offset >>= 3;
4632   return offset;
4633 }
4634 static int dissect_SecurityInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4635   int offset = 0;
4636   asn1_ctx_t asn1_ctx;
4637   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4638   offset = dissect_s1ap_SecurityInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecurityInfo_PDU);
4639   offset += 7; offset >>= 3;
4640   return offset;
4641 }
4642 static int dissect_SecurityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4643   int offset = 0;
4644   asn1_ctx_t asn1_ctx;
4645   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4646   offset = dissect_s1ap_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_SecurityInformation_PDU);
4647   offset += 7; offset >>= 3;
4648   return offset;
4649 }
4650 static int dissect_SourceID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4651   int offset = 0;
4652   asn1_ctx_t asn1_ctx;
4653   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4654   offset = dissect_s1ap_SourceID(tvb, offset, &asn1_ctx, tree, hf_s1ap_SourceID_PDU);
4655   offset += 7; offset >>= 3;
4656   return offset;
4657 }
4658 static int dissect_ServedPLMNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4659   int offset = 0;
4660   asn1_ctx_t asn1_ctx;
4661   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4662   offset = dissect_s1ap_ServedPLMNs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServedPLMNs_PDU);
4663   offset += 7; offset >>= 3;
4664   return offset;
4665 }
4666 static int dissect_SupportedTAs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4667   int offset = 0;
4668   asn1_ctx_t asn1_ctx;
4669   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4670   offset = dissect_s1ap_SupportedTAs(tvb, offset, &asn1_ctx, tree, hf_s1ap_SupportedTAs_PDU);
4671   offset += 7; offset >>= 3;
4672   return offset;
4673 }
4674 static int dissect_S_TMSI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4675   int offset = 0;
4676   asn1_ctx_t asn1_ctx;
4677   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4678   offset = dissect_s1ap_S_TMSI(tvb, offset, &asn1_ctx, tree, hf_s1ap_S_TMSI_PDU);
4679   offset += 7; offset >>= 3;
4680   return offset;
4681 }
4682 static int dissect_TAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4683   int offset = 0;
4684   asn1_ctx_t asn1_ctx;
4685   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4686   offset = dissect_s1ap_TAI(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAI_PDU);
4687   offset += 7; offset >>= 3;
4688   return offset;
4689 }
4690 static int dissect_TargetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4691   int offset = 0;
4692   asn1_ctx_t asn1_ctx;
4693   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4694   offset = dissect_s1ap_TargetID(tvb, offset, &asn1_ctx, tree, hf_s1ap_TargetID_PDU);
4695   offset += 7; offset >>= 3;
4696   return offset;
4697 }
4698 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4699   int offset = 0;
4700   asn1_ctx_t asn1_ctx;
4701   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4702   offset = dissect_s1ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_s1ap_TimeToWait_PDU);
4703   offset += 7; offset >>= 3;
4704   return offset;
4705 }
4706 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4707   int offset = 0;
4708   asn1_ctx_t asn1_ctx;
4709   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4710   offset = dissect_s1ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceActivation_PDU);
4711   offset += 7; offset >>= 3;
4712   return offset;
4713 }
4714 static int dissect_TraceReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4715   int offset = 0;
4716   asn1_ctx_t asn1_ctx;
4717   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4718   offset = dissect_s1ap_TraceReference(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceReference_PDU);
4719   offset += 7; offset >>= 3;
4720   return offset;
4721 }
4722 static int dissect_UE_S1AP_IDs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4723   int offset = 0;
4724   asn1_ctx_t asn1_ctx;
4725   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4726   offset = dissect_s1ap_UE_S1AP_IDs(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_S1AP_IDs_PDU);
4727   offset += 7; offset >>= 3;
4728   return offset;
4729 }
4730 static int dissect_UE_associatedLogicalS1_ConnectionItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4731   int offset = 0;
4732   asn1_ctx_t asn1_ctx;
4733   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4734   offset = dissect_s1ap_UE_associatedLogicalS1_ConnectionItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU);
4735   offset += 7; offset >>= 3;
4736   return offset;
4737 }
4738 static int dissect_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4739   int offset = 0;
4740   asn1_ctx_t asn1_ctx;
4741   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4742   offset = dissect_s1ap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEIdentityIndexValue_PDU);
4743   offset += 7; offset >>= 3;
4744   return offset;
4745 }
4746 static int dissect_UERadioCapability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4747   int offset = 0;
4748   asn1_ctx_t asn1_ctx;
4749   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4750   offset = dissect_s1ap_UERadioCapability(tvb, offset, &asn1_ctx, tree, hf_s1ap_UERadioCapability_PDU);
4751   offset += 7; offset >>= 3;
4752   return offset;
4753 }
4754 static int dissect_HandoverRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4755   int offset = 0;
4756   asn1_ctx_t asn1_ctx;
4757   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4758   offset = dissect_s1ap_HandoverRequired(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRequired_PDU);
4759   offset += 7; offset >>= 3;
4760   return offset;
4761 }
4762 static int dissect_Intra_LTEHOInformationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4763   int offset = 0;
4764   asn1_ctx_t asn1_ctx;
4765   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4766   offset = dissect_s1ap_Intra_LTEHOInformationReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_Intra_LTEHOInformationReq_PDU);
4767   offset += 7; offset >>= 3;
4768   return offset;
4769 }
4770 static int dissect_LTEtoUTRANHOInformationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4771   int offset = 0;
4772   asn1_ctx_t asn1_ctx;
4773   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4774   offset = dissect_s1ap_LTEtoUTRANHOInformationReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTEtoUTRANHOInformationReq_PDU);
4775   offset += 7; offset >>= 3;
4776   return offset;
4777 }
4778 static int dissect_LTEtoGERANHOInformationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4779   int offset = 0;
4780   asn1_ctx_t asn1_ctx;
4781   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4782   offset = dissect_s1ap_LTEtoGERANHOInformationReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTEtoGERANHOInformationReq_PDU);
4783   offset += 7; offset >>= 3;
4784   return offset;
4785 }
4786 static int dissect_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4787   int offset = 0;
4788   asn1_ctx_t asn1_ctx;
4789   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4790   offset = dissect_s1ap_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverCommand_PDU);
4791   offset += 7; offset >>= 3;
4792   return offset;
4793 }
4794 static int dissect_SAEBearerSubjecttoDataForwardingList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4795   int offset = 0;
4796   asn1_ctx_t asn1_ctx;
4797   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4798   offset = dissect_s1ap_SAEBearerSubjecttoDataForwardingList(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSubjecttoDataForwardingList_PDU);
4799   offset += 7; offset >>= 3;
4800   return offset;
4801 }
4802 static int dissect_SAEBearerDataForwardingItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4803   int offset = 0;
4804   asn1_ctx_t asn1_ctx;
4805   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4806   offset = dissect_s1ap_SAEBearerDataForwardingItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerDataForwardingItem_PDU);
4807   offset += 7; offset >>= 3;
4808   return offset;
4809 }
4810 static int dissect_SAEBearertoReleaseListHOCmd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4811   int offset = 0;
4812   asn1_ctx_t asn1_ctx;
4813   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4814   offset = dissect_s1ap_SAEBearertoReleaseListHOCmd(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearertoReleaseListHOCmd_PDU);
4815   offset += 7; offset >>= 3;
4816   return offset;
4817 }
4818 static int dissect_SAEBearerReleaseItemHOCmd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4819   int offset = 0;
4820   asn1_ctx_t asn1_ctx;
4821   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4822   offset = dissect_s1ap_SAEBearerReleaseItemHOCmd(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerReleaseItemHOCmd_PDU);
4823   offset += 7; offset >>= 3;
4824   return offset;
4825 }
4826 static int dissect_Intra_LTEHOInformationRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4827   int offset = 0;
4828   asn1_ctx_t asn1_ctx;
4829   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4830   offset = dissect_s1ap_Intra_LTEHOInformationRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_Intra_LTEHOInformationRes_PDU);
4831   offset += 7; offset >>= 3;
4832   return offset;
4833 }
4834 static int dissect_LTEtoUTRANHOInformationRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4835   int offset = 0;
4836   asn1_ctx_t asn1_ctx;
4837   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4838   offset = dissect_s1ap_LTEtoUTRANHOInformationRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTEtoUTRANHOInformationRes_PDU);
4839   offset += 7; offset >>= 3;
4840   return offset;
4841 }
4842 static int dissect_LTEtoGERANHOInformationRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4843   int offset = 0;
4844   asn1_ctx_t asn1_ctx;
4845   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4846   offset = dissect_s1ap_LTEtoGERANHOInformationRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTEtoGERANHOInformationRes_PDU);
4847   offset += 7; offset >>= 3;
4848   return offset;
4849 }
4850 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4851   int offset = 0;
4852   asn1_ctx_t asn1_ctx;
4853   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4854   offset = dissect_s1ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverPreparationFailure_PDU);
4855   offset += 7; offset >>= 3;
4856   return offset;
4857 }
4858 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4859   int offset = 0;
4860   asn1_ctx_t asn1_ctx;
4861   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4862   offset = dissect_s1ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRequest_PDU);
4863   offset += 7; offset >>= 3;
4864   return offset;
4865 }
4866 static int dissect_SAEBearerToBeSetupListHOReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4867   int offset = 0;
4868   asn1_ctx_t asn1_ctx;
4869   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4870   offset = dissect_s1ap_SAEBearerToBeSetupListHOReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSetupListHOReq_PDU);
4871   offset += 7; offset >>= 3;
4872   return offset;
4873 }
4874 static int dissect_SAEBearerToBeSetupItemHOReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4875   int offset = 0;
4876   asn1_ctx_t asn1_ctx;
4877   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4878   offset = dissect_s1ap_SAEBearerToBeSetupItemHOReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSetupItemHOReq_PDU);
4879   offset += 7; offset >>= 3;
4880   return offset;
4881 }
4882 static int dissect_UTRANtoLTEHOInformationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4883   int offset = 0;
4884   asn1_ctx_t asn1_ctx;
4885   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4886   offset = dissect_s1ap_UTRANtoLTEHOInformationReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_UTRANtoLTEHOInformationReq_PDU);
4887   offset += 7; offset >>= 3;
4888   return offset;
4889 }
4890 static int dissect_GERANtoLTEHOInformationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4891   int offset = 0;
4892   asn1_ctx_t asn1_ctx;
4893   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4894   offset = dissect_s1ap_GERANtoLTEHOInformationReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_GERANtoLTEHOInformationReq_PDU);
4895   offset += 7; offset >>= 3;
4896   return offset;
4897 }
4898 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4899   int offset = 0;
4900   asn1_ctx_t asn1_ctx;
4901   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4902   offset = dissect_s1ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverRequestAcknowledge_PDU);
4903   offset += 7; offset >>= 3;
4904   return offset;
4905 }
4906 static int dissect_SAEBearerAdmittedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4907   int offset = 0;
4908   asn1_ctx_t asn1_ctx;
4909   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4910   offset = dissect_s1ap_SAEBearerAdmittedList(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerAdmittedList_PDU);
4911   offset += 7; offset >>= 3;
4912   return offset;
4913 }
4914 static int dissect_SAEBearerAdmittedItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4915   int offset = 0;
4916   asn1_ctx_t asn1_ctx;
4917   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4918   offset = dissect_s1ap_SAEBearerAdmittedItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerAdmittedItem_PDU);
4919   offset += 7; offset >>= 3;
4920   return offset;
4921 }
4922 static int dissect_SAEBearerFailedtoSetupListHOReqAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4923   int offset = 0;
4924   asn1_ctx_t asn1_ctx;
4925   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4926   offset = dissect_s1ap_SAEBearerFailedtoSetupListHOReqAck(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerFailedtoSetupListHOReqAck_PDU);
4927   offset += 7; offset >>= 3;
4928   return offset;
4929 }
4930 static int dissect_SAEBearerFailedToSetupItemHOReqAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4931   int offset = 0;
4932   asn1_ctx_t asn1_ctx;
4933   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4934   offset = dissect_s1ap_SAEBearerFailedToSetupItemHOReqAck(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerFailedToSetupItemHOReqAck_PDU);
4935   offset += 7; offset >>= 3;
4936   return offset;
4937 }
4938 static int dissect_UTRANtoLTEHOInformationRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4939   int offset = 0;
4940   asn1_ctx_t asn1_ctx;
4941   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4942   offset = dissect_s1ap_UTRANtoLTEHOInformationRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_UTRANtoLTEHOInformationRes_PDU);
4943   offset += 7; offset >>= 3;
4944   return offset;
4945 }
4946 static int dissect_GERANtoLTEHOInformationRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4947   int offset = 0;
4948   asn1_ctx_t asn1_ctx;
4949   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4950   offset = dissect_s1ap_GERANtoLTEHOInformationRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_GERANtoLTEHOInformationRes_PDU);
4951   offset += 7; offset >>= 3;
4952   return offset;
4953 }
4954 static int dissect_HandoverFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4955   int offset = 0;
4956   asn1_ctx_t asn1_ctx;
4957   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4958   offset = dissect_s1ap_HandoverFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverFailure_PDU);
4959   offset += 7; offset >>= 3;
4960   return offset;
4961 }
4962 static int dissect_HandoverNotify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4963   int offset = 0;
4964   asn1_ctx_t asn1_ctx;
4965   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4966   offset = dissect_s1ap_HandoverNotify(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverNotify_PDU);
4967   offset += 7; offset >>= 3;
4968   return offset;
4969 }
4970 static int dissect_PathSwitchRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4971   int offset = 0;
4972   asn1_ctx_t asn1_ctx;
4973   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4974   offset = dissect_s1ap_PathSwitchRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_PathSwitchRequest_PDU);
4975   offset += 7; offset >>= 3;
4976   return offset;
4977 }
4978 static int dissect_SAEBearerToBeSwitchedDLList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4979   int offset = 0;
4980   asn1_ctx_t asn1_ctx;
4981   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4982   offset = dissect_s1ap_SAEBearerToBeSwitchedDLList(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSwitchedDLList_PDU);
4983   offset += 7; offset >>= 3;
4984   return offset;
4985 }
4986 static int dissect_SAEBearerToBeSwitchedDLItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4987   int offset = 0;
4988   asn1_ctx_t asn1_ctx;
4989   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4990   offset = dissect_s1ap_SAEBearerToBeSwitchedDLItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSwitchedDLItem_PDU);
4991   offset += 7; offset >>= 3;
4992   return offset;
4993 }
4994 static int dissect_PathSwitchRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4995   int offset = 0;
4996   asn1_ctx_t asn1_ctx;
4997   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
4998   offset = dissect_s1ap_PathSwitchRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_PathSwitchRequestAcknowledge_PDU);
4999   offset += 7; offset >>= 3;
5000   return offset;
5001 }
5002 static int dissect_SAEBearerToBeSwitchedULList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5003   int offset = 0;
5004   asn1_ctx_t asn1_ctx;
5005   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5006   offset = dissect_s1ap_SAEBearerToBeSwitchedULList(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSwitchedULList_PDU);
5007   offset += 7; offset >>= 3;
5008   return offset;
5009 }
5010 static int dissect_SAEBearerToBeSwitchedULItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5011   int offset = 0;
5012   asn1_ctx_t asn1_ctx;
5013   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5014   offset = dissect_s1ap_SAEBearerToBeSwitchedULItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSwitchedULItem_PDU);
5015   offset += 7; offset >>= 3;
5016   return offset;
5017 }
5018 static int dissect_PathSwitchRequestFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5019   int offset = 0;
5020   asn1_ctx_t asn1_ctx;
5021   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5022   offset = dissect_s1ap_PathSwitchRequestFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_PathSwitchRequestFailure_PDU);
5023   offset += 7; offset >>= 3;
5024   return offset;
5025 }
5026 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5027   int offset = 0;
5028   asn1_ctx_t asn1_ctx;
5029   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5030   offset = dissect_s1ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverCancel_PDU);
5031   offset += 7; offset >>= 3;
5032   return offset;
5033 }
5034 static int dissect_HandoverCancelAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5035   int offset = 0;
5036   asn1_ctx_t asn1_ctx;
5037   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5038   offset = dissect_s1ap_HandoverCancelAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_HandoverCancelAcknowledge_PDU);
5039   offset += 7; offset >>= 3;
5040   return offset;
5041 }
5042 static int dissect_SAEBearerSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5043   int offset = 0;
5044   asn1_ctx_t asn1_ctx;
5045   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5046   offset = dissect_s1ap_SAEBearerSetupRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSetupRequest_PDU);
5047   offset += 7; offset >>= 3;
5048   return offset;
5049 }
5050 static int dissect_SAEBearerToBeSetupListBearerSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5051   int offset = 0;
5052   asn1_ctx_t asn1_ctx;
5053   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5054   offset = dissect_s1ap_SAEBearerToBeSetupListBearerSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSetupListBearerSUReq_PDU);
5055   offset += 7; offset >>= 3;
5056   return offset;
5057 }
5058 static int dissect_SAEBearerToBeSetupItemBearerSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5059   int offset = 0;
5060   asn1_ctx_t asn1_ctx;
5061   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5062   offset = dissect_s1ap_SAEBearerToBeSetupItemBearerSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSetupItemBearerSUReq_PDU);
5063   offset += 7; offset >>= 3;
5064   return offset;
5065 }
5066 static int dissect_SAEBearerSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5067   int offset = 0;
5068   asn1_ctx_t asn1_ctx;
5069   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5070   offset = dissect_s1ap_SAEBearerSetupResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSetupResponse_PDU);
5071   offset += 7; offset >>= 3;
5072   return offset;
5073 }
5074 static int dissect_SAEBearerSetupListBearerSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5075   int offset = 0;
5076   asn1_ctx_t asn1_ctx;
5077   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5078   offset = dissect_s1ap_SAEBearerSetupListBearerSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSetupListBearerSURes_PDU);
5079   offset += 7; offset >>= 3;
5080   return offset;
5081 }
5082 static int dissect_SAEBearerSetupItemBearerSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5083   int offset = 0;
5084   asn1_ctx_t asn1_ctx;
5085   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5086   offset = dissect_s1ap_SAEBearerSetupItemBearerSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSetupItemBearerSURes_PDU);
5087   offset += 7; offset >>= 3;
5088   return offset;
5089 }
5090 static int dissect_SAEBearerModifyRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5091   int offset = 0;
5092   asn1_ctx_t asn1_ctx;
5093   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5094   offset = dissect_s1ap_SAEBearerModifyRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerModifyRequest_PDU);
5095   offset += 7; offset >>= 3;
5096   return offset;
5097 }
5098 static int dissect_SAEBearerToBeModifiedListBearerModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5099   int offset = 0;
5100   asn1_ctx_t asn1_ctx;
5101   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5102   offset = dissect_s1ap_SAEBearerToBeModifiedListBearerModReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeModifiedListBearerModReq_PDU);
5103   offset += 7; offset >>= 3;
5104   return offset;
5105 }
5106 static int dissect_SAEBearerToBeModifiedItemBearerModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5107   int offset = 0;
5108   asn1_ctx_t asn1_ctx;
5109   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5110   offset = dissect_s1ap_SAEBearerToBeModifiedItemBearerModReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeModifiedItemBearerModReq_PDU);
5111   offset += 7; offset >>= 3;
5112   return offset;
5113 }
5114 static int dissect_SAEBearerModifyResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5115   int offset = 0;
5116   asn1_ctx_t asn1_ctx;
5117   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5118   offset = dissect_s1ap_SAEBearerModifyResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerModifyResponse_PDU);
5119   offset += 7; offset >>= 3;
5120   return offset;
5121 }
5122 static int dissect_SAEBearerModifyListBearerModRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5123   int offset = 0;
5124   asn1_ctx_t asn1_ctx;
5125   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5126   offset = dissect_s1ap_SAEBearerModifyListBearerModRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerModifyListBearerModRes_PDU);
5127   offset += 7; offset >>= 3;
5128   return offset;
5129 }
5130 static int dissect_SAEBearerModifyItemBearerModRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5131   int offset = 0;
5132   asn1_ctx_t asn1_ctx;
5133   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5134   offset = dissect_s1ap_SAEBearerModifyItemBearerModRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerModifyItemBearerModRes_PDU);
5135   offset += 7; offset >>= 3;
5136   return offset;
5137 }
5138 static int dissect_SAEBearerReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5139   int offset = 0;
5140   asn1_ctx_t asn1_ctx;
5141   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5142   offset = dissect_s1ap_SAEBearerReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerReleaseCommand_PDU);
5143   offset += 7; offset >>= 3;
5144   return offset;
5145 }
5146 static int dissect_SAEBearerReleaseResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5147   int offset = 0;
5148   asn1_ctx_t asn1_ctx;
5149   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5150   offset = dissect_s1ap_SAEBearerReleaseResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerReleaseResponse_PDU);
5151   offset += 7; offset >>= 3;
5152   return offset;
5153 }
5154 static int dissect_SAEBearerReleaseListBearerRelComp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5155   int offset = 0;
5156   asn1_ctx_t asn1_ctx;
5157   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5158   offset = dissect_s1ap_SAEBearerReleaseListBearerRelComp(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerReleaseListBearerRelComp_PDU);
5159   offset += 7; offset >>= 3;
5160   return offset;
5161 }
5162 static int dissect_SAEBearerReleaseItemBearerRelComp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5163   int offset = 0;
5164   asn1_ctx_t asn1_ctx;
5165   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5166   offset = dissect_s1ap_SAEBearerReleaseItemBearerRelComp(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerReleaseItemBearerRelComp_PDU);
5167   offset += 7; offset >>= 3;
5168   return offset;
5169 }
5170 static int dissect_SAEBearerReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5171   int offset = 0;
5172   asn1_ctx_t asn1_ctx;
5173   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5174   offset = dissect_s1ap_SAEBearerReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerReleaseRequest_PDU);
5175   offset += 7; offset >>= 3;
5176   return offset;
5177 }
5178 static int dissect_InitialContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5179   int offset = 0;
5180   asn1_ctx_t asn1_ctx;
5181   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5182   offset = dissect_s1ap_InitialContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialContextSetupRequest_PDU);
5183   offset += 7; offset >>= 3;
5184   return offset;
5185 }
5186 static int dissect_UEContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5187   int offset = 0;
5188   asn1_ctx_t asn1_ctx;
5189   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5190   offset = dissect_s1ap_UEContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextReleaseRequest_PDU);
5191   offset += 7; offset >>= 3;
5192   return offset;
5193 }
5194 static int dissect_SAEBearerToBeSetupListCtxtSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5195   int offset = 0;
5196   asn1_ctx_t asn1_ctx;
5197   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5198   offset = dissect_s1ap_SAEBearerToBeSetupListCtxtSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSetupListCtxtSUReq_PDU);
5199   offset += 7; offset >>= 3;
5200   return offset;
5201 }
5202 static int dissect_SAEBearerToBeSetupItemCtxtSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5203   int offset = 0;
5204   asn1_ctx_t asn1_ctx;
5205   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5206   offset = dissect_s1ap_SAEBearerToBeSetupItemCtxtSUReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerToBeSetupItemCtxtSUReq_PDU);
5207   offset += 7; offset >>= 3;
5208   return offset;
5209 }
5210 static int dissect_InitialContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5211   int offset = 0;
5212   asn1_ctx_t asn1_ctx;
5213   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5214   offset = dissect_s1ap_InitialContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialContextSetupResponse_PDU);
5215   offset += 7; offset >>= 3;
5216   return offset;
5217 }
5218 static int dissect_SAEBearerSetupListCtxtSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5219   int offset = 0;
5220   asn1_ctx_t asn1_ctx;
5221   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5222   offset = dissect_s1ap_SAEBearerSetupListCtxtSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSetupListCtxtSURes_PDU);
5223   offset += 7; offset >>= 3;
5224   return offset;
5225 }
5226 static int dissect_SAEBearerSetupItemCtxtSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5227   int offset = 0;
5228   asn1_ctx_t asn1_ctx;
5229   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5230   offset = dissect_s1ap_SAEBearerSetupItemCtxtSURes(tvb, offset, &asn1_ctx, tree, hf_s1ap_SAEBearerSetupItemCtxtSURes_PDU);
5231   offset += 7; offset >>= 3;
5232   return offset;
5233 }
5234 static int dissect_InitialContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5235   int offset = 0;
5236   asn1_ctx_t asn1_ctx;
5237   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5238   offset = dissect_s1ap_InitialContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialContextSetupFailure_PDU);
5239   offset += 7; offset >>= 3;
5240   return offset;
5241 }
5242 static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5243   int offset = 0;
5244   asn1_ctx_t asn1_ctx;
5245   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5246   offset = dissect_s1ap_Paging(tvb, offset, &asn1_ctx, tree, hf_s1ap_Paging_PDU);
5247   offset += 7; offset >>= 3;
5248   return offset;
5249 }
5250 static int dissect_TAIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5251   int offset = 0;
5252   asn1_ctx_t asn1_ctx;
5253   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5254   offset = dissect_s1ap_TAIList(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAIList_PDU);
5255   offset += 7; offset >>= 3;
5256   return offset;
5257 }
5258 static int dissect_TAIItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5259   int offset = 0;
5260   asn1_ctx_t asn1_ctx;
5261   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5262   offset = dissect_s1ap_TAIItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAIItem_PDU);
5263   offset += 7; offset >>= 3;
5264   return offset;
5265 }
5266 static int dissect_UEContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5267   int offset = 0;
5268   asn1_ctx_t asn1_ctx;
5269   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5270   offset = dissect_s1ap_UEContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextReleaseCommand_PDU);
5271   offset += 7; offset >>= 3;
5272   return offset;
5273 }
5274 static int dissect_UEContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5275   int offset = 0;
5276   asn1_ctx_t asn1_ctx;
5277   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5278   offset = dissect_s1ap_UEContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextReleaseComplete_PDU);
5279   offset += 7; offset >>= 3;
5280   return offset;
5281 }
5282 static int dissect_UEContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5283   int offset = 0;
5284   asn1_ctx_t asn1_ctx;
5285   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5286   offset = dissect_s1ap_UEContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationRequest_PDU);
5287   offset += 7; offset >>= 3;
5288   return offset;
5289 }
5290 static int dissect_UEContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5291   int offset = 0;
5292   asn1_ctx_t asn1_ctx;
5293   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5294   offset = dissect_s1ap_UEContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationResponse_PDU);
5295   offset += 7; offset >>= 3;
5296   return offset;
5297 }
5298 static int dissect_UEContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5299   int offset = 0;
5300   asn1_ctx_t asn1_ctx;
5301   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5302   offset = dissect_s1ap_UEContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextModificationFailure_PDU);
5303   offset += 7; offset >>= 3;
5304   return offset;
5305 }
5306 static int dissect_DownlinkNASTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5307   int offset = 0;
5308   asn1_ctx_t asn1_ctx;
5309   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5310   offset = dissect_s1ap_DownlinkNASTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkNASTransport_PDU);
5311   offset += 7; offset >>= 3;
5312   return offset;
5313 }
5314 static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5315   int offset = 0;
5316   asn1_ctx_t asn1_ctx;
5317   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5318   offset = dissect_s1ap_InitialUEMessage(tvb, offset, &asn1_ctx, tree, hf_s1ap_InitialUEMessage_PDU);
5319   offset += 7; offset >>= 3;
5320   return offset;
5321 }
5322 static int dissect_UplinkNASTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5323   int offset = 0;
5324   asn1_ctx_t asn1_ctx;
5325   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5326   offset = dissect_s1ap_UplinkNASTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkNASTransport_PDU);
5327   offset += 7; offset >>= 3;
5328   return offset;
5329 }
5330 static int dissect_NASNonDeliveryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5331   int offset = 0;
5332   asn1_ctx_t asn1_ctx;
5333   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5334   offset = dissect_s1ap_NASNonDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_NASNonDeliveryIndication_PDU);
5335   offset += 7; offset >>= 3;
5336   return offset;
5337 }
5338 static int dissect_Reset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5339   int offset = 0;
5340   asn1_ctx_t asn1_ctx;
5341   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5342   offset = dissect_s1ap_Reset(tvb, offset, &asn1_ctx, tree, hf_s1ap_Reset_PDU);
5343   offset += 7; offset >>= 3;
5344   return offset;
5345 }
5346 static int dissect_ResetType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5347   int offset = 0;
5348   asn1_ctx_t asn1_ctx;
5349   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5350   offset = dissect_s1ap_ResetType(tvb, offset, &asn1_ctx, tree, hf_s1ap_ResetType_PDU);
5351   offset += 7; offset >>= 3;
5352   return offset;
5353 }
5354 static int dissect_ResetAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5355   int offset = 0;
5356   asn1_ctx_t asn1_ctx;
5357   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5358   offset = dissect_s1ap_ResetAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_ResetAcknowledge_PDU);
5359   offset += 7; offset >>= 3;
5360   return offset;
5361 }
5362 static int dissect_UE_associatedLogicalS1_ConnectionListResAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5363   int offset = 0;
5364   asn1_ctx_t asn1_ctx;
5365   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5366   offset = dissect_s1ap_UE_associatedLogicalS1_ConnectionListResAck(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_PDU);
5367   offset += 7; offset >>= 3;
5368   return offset;
5369 }
5370 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5371   int offset = 0;
5372   asn1_ctx_t asn1_ctx;
5373   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5374   offset = dissect_s1ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_ErrorIndication_PDU);
5375   offset += 7; offset >>= 3;
5376   return offset;
5377 }
5378 static int dissect_S1SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5379   int offset = 0;
5380   asn1_ctx_t asn1_ctx;
5381   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5382   offset = dissect_s1ap_S1SetupRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1SetupRequest_PDU);
5383   offset += 7; offset >>= 3;
5384   return offset;
5385 }
5386 static int dissect_S1SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5387   int offset = 0;
5388   asn1_ctx_t asn1_ctx;
5389   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5390   offset = dissect_s1ap_S1SetupResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1SetupResponse_PDU);
5391   offset += 7; offset >>= 3;
5392   return offset;
5393 }
5394 static int dissect_S1SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5395   int offset = 0;
5396   asn1_ctx_t asn1_ctx;
5397   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5398   offset = dissect_s1ap_S1SetupFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1SetupFailure_PDU);
5399   offset += 7; offset >>= 3;
5400   return offset;
5401 }
5402 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5403   int offset = 0;
5404   asn1_ctx_t asn1_ctx;
5405   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5406   offset = dissect_s1ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationUpdate_PDU);
5407   offset += 7; offset >>= 3;
5408   return offset;
5409 }
5410 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5411   int offset = 0;
5412   asn1_ctx_t asn1_ctx;
5413   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5414   offset = dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationUpdateAcknowledge_PDU);
5415   offset += 7; offset >>= 3;
5416   return offset;
5417 }
5418 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5419   int offset = 0;
5420   asn1_ctx_t asn1_ctx;
5421   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5422   offset = dissect_s1ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBConfigurationUpdateFailure_PDU);
5423   offset += 7; offset >>= 3;
5424   return offset;
5425 }
5426 static int dissect_MMEConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5427   int offset = 0;
5428   asn1_ctx_t asn1_ctx;
5429   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5430   offset = dissect_s1ap_MMEConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationUpdate_PDU);
5431   offset += 7; offset >>= 3;
5432   return offset;
5433 }
5434 static int dissect_MMEConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5435   int offset = 0;
5436   asn1_ctx_t asn1_ctx;
5437   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5438   offset = dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationUpdateAcknowledge_PDU);
5439   offset += 7; offset >>= 3;
5440   return offset;
5441 }
5442 static int dissect_MMEConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5443   int offset = 0;
5444   asn1_ctx_t asn1_ctx;
5445   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5446   offset = dissect_s1ap_MMEConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEConfigurationUpdateFailure_PDU);
5447   offset += 7; offset >>= 3;
5448   return offset;
5449 }
5450 static int dissect_DownlinkS1cdma2000tunneling_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5451   int offset = 0;
5452   asn1_ctx_t asn1_ctx;
5453   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5454   offset = dissect_s1ap_DownlinkS1cdma2000tunneling(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkS1cdma2000tunneling_PDU);
5455   offset += 7; offset >>= 3;
5456   return offset;
5457 }
5458 static int dissect_UplinkS1cdma2000tunneling_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5459   int offset = 0;
5460   asn1_ctx_t asn1_ctx;
5461   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5462   offset = dissect_s1ap_UplinkS1cdma2000tunneling(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkS1cdma2000tunneling_PDU);
5463   offset += 7; offset >>= 3;
5464   return offset;
5465 }
5466 static int dissect_UECapabilityInfoIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5467   int offset = 0;
5468   asn1_ctx_t asn1_ctx;
5469   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5470   offset = dissect_s1ap_UECapabilityInfoIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_UECapabilityInfoIndication_PDU);
5471   offset += 7; offset >>= 3;
5472   return offset;
5473 }
5474 static int dissect_ENBStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5475   int offset = 0;
5476   asn1_ctx_t asn1_ctx;
5477   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5478   offset = dissect_s1ap_ENBStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBStatusTransfer_PDU);
5479   offset += 7; offset >>= 3;
5480   return offset;
5481 }
5482 static int dissect_MMEStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5483   int offset = 0;
5484   asn1_ctx_t asn1_ctx;
5485   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5486   offset = dissect_s1ap_MMEStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMEStatusTransfer_PDU);
5487   offset += 7; offset >>= 3;
5488   return offset;
5489 }
5490 static int dissect_TraceStart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5491   int offset = 0;
5492   asn1_ctx_t asn1_ctx;
5493   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5494   offset = dissect_s1ap_TraceStart(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceStart_PDU);
5495   offset += 7; offset >>= 3;
5496   return offset;
5497 }
5498 static int dissect_TraceFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5499   int offset = 0;
5500   asn1_ctx_t asn1_ctx;
5501   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5502   offset = dissect_s1ap_TraceFailureIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_TraceFailureIndication_PDU);
5503   offset += 7; offset >>= 3;
5504   return offset;
5505 }
5506 static int dissect_DeactivateTrace_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5507   int offset = 0;
5508   asn1_ctx_t asn1_ctx;
5509   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5510   offset = dissect_s1ap_DeactivateTrace(tvb, offset, &asn1_ctx, tree, hf_s1ap_DeactivateTrace_PDU);
5511   offset += 7; offset >>= 3;
5512   return offset;
5513 }
5514 static int dissect_LocationReportingControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5515   int offset = 0;
5516   asn1_ctx_t asn1_ctx;
5517   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5518   offset = dissect_s1ap_LocationReportingControl(tvb, offset, &asn1_ctx, tree, hf_s1ap_LocationReportingControl_PDU);
5519   offset += 7; offset >>= 3;
5520   return offset;
5521 }
5522 static int dissect_LocationReportingFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5523   int offset = 0;
5524   asn1_ctx_t asn1_ctx;
5525   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5526   offset = dissect_s1ap_LocationReportingFailureIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_LocationReportingFailureIndication_PDU);
5527   offset += 7; offset >>= 3;
5528   return offset;
5529 }
5530 static int dissect_LocationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5531   int offset = 0;
5532   asn1_ctx_t asn1_ctx;
5533   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5534   offset = dissect_s1ap_LocationReport(tvb, offset, &asn1_ctx, tree, hf_s1ap_LocationReport_PDU);
5535   offset += 7; offset >>= 3;
5536   return offset;
5537 }
5538 static int dissect_S1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5539   int offset = 0;
5540   asn1_ctx_t asn1_ctx;
5541   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
5542   offset = dissect_s1ap_S1AP_PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_S1AP_PDU_PDU);
5543   offset += 7; offset >>= 3;
5544   return offset;
5545 }
5546
5547
5548 /*--- End of included file: packet-s1ap-fn.c ---*/
5549 #line 97 "packet-s1ap-template.c"
5550
5551 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5552 {
5553   return (dissector_try_port(s1ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5554 }
5555
5556 static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5557 {
5558   return (dissector_try_port(s1ap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5559 }
5560
5561 static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5562 {
5563   return (dissector_try_port(s1ap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5564 }
5565
5566 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5567 {
5568   return (dissector_try_port(s1ap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5569 }
5570
5571 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5572 {
5573   return (dissector_try_port(s1ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5574 }
5575
5576 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5577 {
5578   return (dissector_try_port(s1ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5579 }
5580
5581 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5582 {
5583   return (dissector_try_port(s1ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5584 }
5585
5586 static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5587 {
5588   return (dissector_try_port(s1ap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
5589 }
5590
5591 static void
5592 dissect_s1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
5593 {
5594         proto_item      *s1ap_item = NULL;
5595         proto_tree      *s1ap_tree = NULL;
5596
5597         /* make entry in the Protocol column on summary display */
5598         if (check_col(pinfo->cinfo, COL_PROTOCOL))
5599                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "S1AP");
5600
5601         /* create the s1ap protocol tree */
5602         s1ap_item = proto_tree_add_item(tree, proto_s1ap, tvb, 0, -1, FALSE);
5603         s1ap_tree = proto_item_add_subtree(s1ap_item, ett_s1ap);
5604         
5605         dissect_S1AP_PDU_PDU(tvb, pinfo, s1ap_tree);
5606 }
5607
5608 /*--- proto_register_s1ap -------------------------------------------*/
5609 void proto_register_s1ap(void) {
5610
5611   /* List of fields */
5612
5613   static hf_register_info hf[] = {
5614
5615
5616 /*--- Included file: packet-s1ap-hfarr.c ---*/
5617 #line 1 "packet-s1ap-hfarr.c"
5618     { &hf_s1ap_AggregateMaximumBitrate_PDU,
5619       { "AggregateMaximumBitrate", "s1ap.AggregateMaximumBitrate",
5620         FT_NONE, BASE_NONE, NULL, 0,
5621         "s1ap.AggregateMaximumBitrate", HFILL }},
5622     { &hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU,
5623       { "Bearers-SubjectToStatusTransfer-Item", "s1ap.Bearers_SubjectToStatusTransfer_Item",
5624         FT_NONE, BASE_NONE, NULL, 0,
5625         "s1ap.Bearers_SubjectToStatusTransfer_Item", HFILL }},
5626     { &hf_s1ap_Cause_PDU,
5627       { "Cause", "s1ap.Cause",
5628         FT_UINT32, BASE_DEC, VALS(s1ap_Cause_vals), 0,
5629         "s1ap.Cause", HFILL }},
5630     { &hf_s1ap_Cdma2000PDU_PDU,
5631       { "Cdma2000PDU", "s1ap.Cdma2000PDU",
5632         FT_BYTES, BASE_HEX, NULL, 0,
5633         "s1ap.Cdma2000PDU", HFILL }},
5634     { &hf_s1ap_Cdma2000RATType_PDU,
5635       { "Cdma2000RATType", "s1ap.Cdma2000RATType",
5636         FT_UINT32, BASE_DEC, VALS(s1ap_Cdma2000RATType_vals), 0,
5637         "s1ap.Cdma2000RATType", HFILL }},
5638     { &hf_s1ap_Cdma2000SectorID_PDU,
5639       { "Cdma2000SectorID", "s1ap.Cdma2000SectorID",
5640         FT_BYTES, BASE_HEX, NULL, 0,
5641         "s1ap.Cdma2000SectorID", HFILL }},
5642     { &hf_s1ap_Cdma2000HOStatus_PDU,
5643       { "Cdma2000HOStatus", "s1ap.Cdma2000HOStatus",
5644         FT_UINT32, BASE_DEC, VALS(s1ap_Cdma2000HOStatus_vals), 0,
5645         "s1ap.Cdma2000HOStatus", HFILL }},
5646     { &hf_s1ap_Cdma2000HORequiredIndication_PDU,
5647       { "Cdma2000HORequiredIndication", "s1ap.Cdma2000HORequiredIndication",
5648         FT_UINT32, BASE_DEC, VALS(s1ap_Cdma2000HORequiredIndication_vals), 0,
5649         "s1ap.Cdma2000HORequiredIndication", HFILL }},
5650     { &hf_s1ap_Cdma2000OneXMEID_PDU,
5651       { "Cdma2000OneXMEID", "s1ap.Cdma2000OneXMEID",
5652         FT_BYTES, BASE_HEX, NULL, 0,
5653         "s1ap.Cdma2000OneXMEID", HFILL }},
5654     { &hf_s1ap_Cdma2000OneXRAND_PDU,
5655       { "Cdma2000OneXRAND", "s1ap.Cdma2000OneXRAND",
5656         FT_BYTES, BASE_HEX, NULL, 0,
5657         "s1ap.Cdma2000OneXRAND", HFILL }},
5658     { &hf_s1ap_CriticalityDiagnostics_PDU,
5659       { "CriticalityDiagnostics", "s1ap.CriticalityDiagnostics",
5660         FT_NONE, BASE_NONE, NULL, 0,
5661         "s1ap.CriticalityDiagnostics", HFILL }},
5662     { &hf_s1ap_Direct_Forwarding_Path_Availability_PDU,
5663       { "Direct-Forwarding-Path-Availability", "s1ap.Direct_Forwarding_Path_Availability",
5664         FT_UINT32, BASE_DEC, VALS(s1ap_Direct_Forwarding_Path_Availability_vals), 0,
5665         "s1ap.Direct_Forwarding_Path_Availability", HFILL }},
5666     { &hf_s1ap_ENB_StatusTransfer_TransparentContainer_PDU,
5667       { "ENB-StatusTransfer-TransparentContainer", "s1ap.ENB_StatusTransfer_TransparentContainer",
5668         FT_NONE, BASE_NONE, NULL, 0,
5669         "s1ap.ENB_StatusTransfer_TransparentContainer", HFILL }},
5670     { &hf_s1ap_ENB_UE_S1AP_ID_PDU,
5671       { "ENB-UE-S1AP-ID", "s1ap.ENB_UE_S1AP_ID",
5672         FT_UINT32, BASE_DEC, NULL, 0,
5673         "s1ap.ENB_UE_S1AP_ID", HFILL }},
5674     { &hf_s1ap_ENB_Global_ID_PDU,
5675       { "ENB-Global-ID", "s1ap.ENB_Global_ID",
5676         FT_UINT32, BASE_DEC, NULL, 0,
5677         "s1ap.ENB_Global_ID", HFILL }},
5678     { &hf_s1ap_ENBname_PDU,
5679       { "ENBname", "s1ap.ENBname",
5680         FT_BYTES, BASE_HEX, NULL, 0,
5681         "s1ap.ENBname", HFILL }},
5682     { &hf_s1ap_EUTRAN_CGI_ID_PDU,
5683       { "EUTRAN-CGI-ID", "s1ap.EUTRAN_CGI_ID",
5684         FT_BYTES, BASE_HEX, NULL, 0,
5685         "s1ap.EUTRAN_CGI_ID", HFILL }},
5686     { &hf_s1ap_GUMMEI_PDU,
5687       { "GUMMEI", "s1ap.GUMMEI",
5688         FT_NONE, BASE_NONE, NULL, 0,
5689         "s1ap.GUMMEI", HFILL }},
5690     { &hf_s1ap_HandoverRestrictionList_PDU,
5691       { "HandoverRestrictionList", "s1ap.HandoverRestrictionList",
5692         FT_NONE, BASE_NONE, NULL, 0,
5693         "s1ap.HandoverRestrictionList", HFILL }},
5694     { &hf_s1ap_HandoverType_PDU,
5695       { "HandoverType", "s1ap.HandoverType",
5696         FT_UINT32, BASE_DEC, VALS(s1ap_HandoverType_vals), 0,
5697         "s1ap.HandoverType", HFILL }},
5698     { &hf_s1ap_MMEname_PDU,
5699       { "MMEname", "s1ap.MMEname",
5700         FT_BYTES, BASE_HEX, NULL, 0,
5701         "s1ap.MMEname", HFILL }},
5702     { &hf_s1ap_MME_UE_S1AP_ID_PDU,
5703       { "MME-UE-S1AP-ID", "s1ap.MME_UE_S1AP_ID",
5704         FT_UINT32, BASE_DEC, NULL, 0,
5705         "s1ap.MME_UE_S1AP_ID", HFILL }},
5706     { &hf_s1ap_NAS_PDU_PDU,
5707       { "NAS-PDU", "s1ap.NAS_PDU",
5708         FT_BYTES, BASE_HEX, NULL, 0,
5709         "s1ap.NAS_PDU", HFILL }},
5710     { &hf_s1ap_PagingDRX_PDU,
5711       { "PagingDRX", "s1ap.PagingDRX",
5712         FT_UINT32, BASE_DEC, NULL, 0,
5713         "s1ap.PagingDRX", HFILL }},
5714     { &hf_s1ap_PagingCause_PDU,
5715       { "PagingCause", "s1ap.PagingCause",
5716         FT_UINT32, BASE_DEC, VALS(s1ap_PagingCause_vals), 0,
5717         "s1ap.PagingCause", HFILL }},
5718     { &hf_s1ap_RelativeMMECapacity_PDU,
5719       { "RelativeMMECapacity", "s1ap.RelativeMMECapacity",
5720         FT_UINT32, BASE_DEC, NULL, 0,
5721         "s1ap.RelativeMMECapacity", HFILL }},
5722     { &hf_s1ap_RequestType_PDU,
5723       { "RequestType", "s1ap.RequestType",
5724         FT_NONE, BASE_NONE, NULL, 0,
5725         "s1ap.RequestType", HFILL }},
5726     { &hf_s1ap_SAEBearerList_PDU,
5727       { "SAEBearerList", "s1ap.SAEBearerList",
5728         FT_UINT32, BASE_DEC, NULL, 0,
5729         "s1ap.SAEBearerList", HFILL }},
5730     { &hf_s1ap_SAEBearerItem_PDU,
5731       { "SAEBearerItem", "s1ap.SAEBearerItem",
5732         FT_NONE, BASE_NONE, NULL, 0,
5733         "s1ap.SAEBearerItem", HFILL }},
5734     { &hf_s1ap_SecurityInfo_PDU,
5735       { "SecurityInfo", "s1ap.SecurityInfo",
5736         FT_NONE, BASE_NONE, NULL, 0,
5737         "s1ap.SecurityInfo", HFILL }},
5738     { &hf_s1ap_SecurityInformation_PDU,
5739       { "SecurityInformation", "s1ap.SecurityInformation",
5740         FT_NONE, BASE_NONE, NULL, 0,
5741         "s1ap.SecurityInformation", HFILL }},
5742     { &hf_s1ap_SourceID_PDU,
5743       { "SourceID", "s1ap.SourceID",
5744         FT_NONE, BASE_NONE, NULL, 0,
5745         "s1ap.SourceID", HFILL }},
5746     { &hf_s1ap_ServedPLMNs_PDU,
5747       { "ServedPLMNs", "s1ap.ServedPLMNs",
5748         FT_UINT32, BASE_DEC, NULL, 0,
5749         "s1ap.ServedPLMNs", HFILL }},
5750     { &hf_s1ap_SupportedTAs_PDU,
5751       { "SupportedTAs", "s1ap.SupportedTAs",
5752         FT_UINT32, BASE_DEC, NULL, 0,
5753         "s1ap.SupportedTAs", HFILL }},
5754     { &hf_s1ap_S_TMSI_PDU,
5755       { "S-TMSI", "s1ap.S_TMSI",
5756         FT_NONE, BASE_NONE, NULL, 0,
5757         "s1ap.S_TMSI", HFILL }},
5758     { &hf_s1ap_TAI_PDU,
5759       { "TAI", "s1ap.TAI",
5760         FT_NONE, BASE_NONE, NULL, 0,
5761         "s1ap.TAI", HFILL }},
5762     { &hf_s1ap_TargetID_PDU,
5763       { "TargetID", "s1ap.TargetID",
5764         FT_UINT32, BASE_DEC, VALS(s1ap_TargetID_vals), 0,
5765         "s1ap.TargetID", HFILL }},
5766     { &hf_s1ap_TimeToWait_PDU,
5767       { "TimeToWait", "s1ap.TimeToWait",
5768         FT_BYTES, BASE_HEX, NULL, 0,
5769         "s1ap.TimeToWait", HFILL }},
5770     { &hf_s1ap_TraceActivation_PDU,
5771       { "TraceActivation", "s1ap.TraceActivation",
5772         FT_NONE, BASE_NONE, NULL, 0,
5773         "s1ap.TraceActivation", HFILL }},
5774     { &hf_s1ap_TraceReference_PDU,
5775       { "TraceReference", "s1ap.TraceReference",
5776         FT_BYTES, BASE_HEX, NULL, 0,
5777         "s1ap.TraceReference", HFILL }},
5778     { &hf_s1ap_UE_S1AP_IDs_PDU,
5779       { "UE-S1AP-IDs", "s1ap.UE_S1AP_IDs",
5780         FT_UINT32, BASE_DEC, VALS(s1ap_UE_S1AP_IDs_vals), 0,
5781         "s1ap.UE_S1AP_IDs", HFILL }},
5782     { &hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU,
5783       { "UE-associatedLogicalS1-ConnectionItem", "s1ap.UE_associatedLogicalS1_ConnectionItem",
5784         FT_NONE, BASE_NONE, NULL, 0,
5785         "s1ap.UE_associatedLogicalS1_ConnectionItem", HFILL }},
5786     { &hf_s1ap_UEIdentityIndexValue_PDU,
5787       { "UEIdentityIndexValue", "s1ap.UEIdentityIndexValue",
5788         FT_BYTES, BASE_HEX, NULL, 0,
5789         "s1ap.UEIdentityIndexValue", HFILL }},
5790     { &hf_s1ap_UERadioCapability_PDU,
5791       { "UERadioCapability", "s1ap.UERadioCapability",
5792         FT_BYTES, BASE_HEX, NULL, 0,
5793         "s1ap.UERadioCapability", HFILL }},
5794     { &hf_s1ap_HandoverRequired_PDU,
5795       { "HandoverRequired", "s1ap.HandoverRequired",
5796         FT_NONE, BASE_NONE, NULL, 0,
5797         "s1ap.HandoverRequired", HFILL }},
5798     { &hf_s1ap_Intra_LTEHOInformationReq_PDU,
5799       { "Intra-LTEHOInformationReq", "s1ap.Intra_LTEHOInformationReq",
5800         FT_NONE, BASE_NONE, NULL, 0,
5801         "s1ap.Intra_LTEHOInformationReq", HFILL }},
5802     { &hf_s1ap_LTEtoUTRANHOInformationReq_PDU,
5803       { "LTEtoUTRANHOInformationReq", "s1ap.LTEtoUTRANHOInformationReq",
5804         FT_NONE, BASE_NONE, NULL, 0,
5805         "s1ap.LTEtoUTRANHOInformationReq", HFILL }},
5806     { &hf_s1ap_LTEtoGERANHOInformationReq_PDU,
5807       { "LTEtoGERANHOInformationReq", "s1ap.LTEtoGERANHOInformationReq",
5808         FT_NONE, BASE_NONE, NULL, 0,
5809         "s1ap.LTEtoGERANHOInformationReq", HFILL }},
5810     { &hf_s1ap_HandoverCommand_PDU,
5811       { "HandoverCommand", "s1ap.HandoverCommand",
5812         FT_NONE, BASE_NONE, NULL, 0,
5813         "s1ap.HandoverCommand", HFILL }},
5814     { &hf_s1ap_SAEBearerSubjecttoDataForwardingList_PDU,
5815       { "SAEBearerSubjecttoDataForwardingList", "s1ap.SAEBearerSubjecttoDataForwardingList",
5816         FT_UINT32, BASE_DEC, NULL, 0,
5817         "s1ap.SAEBearerSubjecttoDataForwardingList", HFILL }},
5818     { &hf_s1ap_SAEBearerDataForwardingItem_PDU,
5819       { "SAEBearerDataForwardingItem", "s1ap.SAEBearerDataForwardingItem",
5820         FT_NONE, BASE_NONE, NULL, 0,
5821         "s1ap.SAEBearerDataForwardingItem", HFILL }},
5822     { &hf_s1ap_SAEBearertoReleaseListHOCmd_PDU,
5823       { "SAEBearertoReleaseListHOCmd", "s1ap.SAEBearertoReleaseListHOCmd",
5824         FT_UINT32, BASE_DEC, NULL, 0,
5825         "s1ap.SAEBearertoReleaseListHOCmd", HFILL }},
5826     { &hf_s1ap_SAEBearerReleaseItemHOCmd_PDU,
5827       { "SAEBearerReleaseItemHOCmd", "s1ap.SAEBearerReleaseItemHOCmd",
5828         FT_NONE, BASE_NONE, NULL, 0,
5829         "s1ap.SAEBearerReleaseItemHOCmd", HFILL }},
5830     { &hf_s1ap_Intra_LTEHOInformationRes_PDU,
5831       { "Intra-LTEHOInformationRes", "s1ap.Intra_LTEHOInformationRes",
5832         FT_NONE, BASE_NONE, NULL, 0,
5833         "s1ap.Intra_LTEHOInformationRes", HFILL }},
5834     { &hf_s1ap_LTEtoUTRANHOInformationRes_PDU,
5835       { "LTEtoUTRANHOInformationRes", "s1ap.LTEtoUTRANHOInformationRes",
5836         FT_NONE, BASE_NONE, NULL, 0,
5837         "s1ap.LTEtoUTRANHOInformationRes", HFILL }},
5838     { &hf_s1ap_LTEtoGERANHOInformationRes_PDU,
5839       { "LTEtoGERANHOInformationRes", "s1ap.LTEtoGERANHOInformationRes",
5840         FT_NONE, BASE_NONE, NULL, 0,
5841         "s1ap.LTEtoGERANHOInformationRes", HFILL }},
5842     { &hf_s1ap_HandoverPreparationFailure_PDU,
5843       { "HandoverPreparationFailure", "s1ap.HandoverPreparationFailure",
5844         FT_NONE, BASE_NONE, NULL, 0,
5845         "s1ap.HandoverPreparationFailure", HFILL }},
5846     { &hf_s1ap_HandoverRequest_PDU,
5847       { "HandoverRequest", "s1ap.HandoverRequest",
5848         FT_NONE, BASE_NONE, NULL, 0,
5849         "s1ap.HandoverRequest", HFILL }},
5850     { &hf_s1ap_SAEBearerToBeSetupListHOReq_PDU,
5851       { "SAEBearerToBeSetupListHOReq", "s1ap.SAEBearerToBeSetupListHOReq",
5852         FT_UINT32, BASE_DEC, NULL, 0,
5853         "s1ap.SAEBearerToBeSetupListHOReq", HFILL }},
5854     { &hf_s1ap_SAEBearerToBeSetupItemHOReq_PDU,
5855       { "SAEBearerToBeSetupItemHOReq", "s1ap.SAEBearerToBeSetupItemHOReq",
5856         FT_NONE, BASE_NONE, NULL, 0,
5857         "s1ap.SAEBearerToBeSetupItemHOReq", HFILL }},
5858     { &hf_s1ap_UTRANtoLTEHOInformationReq_PDU,
5859       { "UTRANtoLTEHOInformationReq", "s1ap.UTRANtoLTEHOInformationReq",
5860         FT_NONE, BASE_NONE, NULL, 0,
5861         "s1ap.UTRANtoLTEHOInformationReq", HFILL }},
5862     { &hf_s1ap_GERANtoLTEHOInformationReq_PDU,
5863       { "GERANtoLTEHOInformationReq", "s1ap.GERANtoLTEHOInformationReq",
5864         FT_NONE, BASE_NONE, NULL, 0,
5865         "s1ap.GERANtoLTEHOInformationReq", HFILL }},
5866     { &hf_s1ap_HandoverRequestAcknowledge_PDU,
5867       { "HandoverRequestAcknowledge", "s1ap.HandoverRequestAcknowledge",
5868         FT_NONE, BASE_NONE, NULL, 0,
5869         "s1ap.HandoverRequestAcknowledge", HFILL }},
5870     { &hf_s1ap_SAEBearerAdmittedList_PDU,
5871       { "SAEBearerAdmittedList", "s1ap.SAEBearerAdmittedList",
5872         FT_UINT32, BASE_DEC, NULL, 0,
5873         "s1ap.SAEBearerAdmittedList", HFILL }},
5874     { &hf_s1ap_SAEBearerAdmittedItem_PDU,
5875       { "SAEBearerAdmittedItem", "s1ap.SAEBearerAdmittedItem",
5876         FT_NONE, BASE_NONE, NULL, 0,
5877         "s1ap.SAEBearerAdmittedItem", HFILL }},
5878     { &hf_s1ap_SAEBearerFailedtoSetupListHOReqAck_PDU,
5879       { "SAEBearerFailedtoSetupListHOReqAck", "s1ap.SAEBearerFailedtoSetupListHOReqAck",
5880         FT_UINT32, BASE_DEC, NULL, 0,
5881         "s1ap.SAEBearerFailedtoSetupListHOReqAck", HFILL }},
5882     { &hf_s1ap_SAEBearerFailedToSetupItemHOReqAck_PDU,
5883       { "SAEBearerFailedToSetupItemHOReqAck", "s1ap.SAEBearerFailedToSetupItemHOReqAck",
5884         FT_NONE, BASE_NONE, NULL, 0,
5885         "s1ap.SAEBearerFailedToSetupItemHOReqAck", HFILL }},
5886     { &hf_s1ap_UTRANtoLTEHOInformationRes_PDU,
5887       { "UTRANtoLTEHOInformationRes", "s1ap.UTRANtoLTEHOInformationRes",
5888         FT_NONE, BASE_NONE, NULL, 0,
5889         "s1ap.UTRANtoLTEHOInformationRes", HFILL }},
5890     { &hf_s1ap_GERANtoLTEHOInformationRes_PDU,
5891       { "GERANtoLTEHOInformationRes", "s1ap.GERANtoLTEHOInformationRes",
5892         FT_NONE, BASE_NONE, NULL, 0,
5893         "s1ap.GERANtoLTEHOInformationRes", HFILL }},
5894     { &hf_s1ap_HandoverFailure_PDU,
5895       { "HandoverFailure", "s1ap.HandoverFailure",
5896         FT_NONE, BASE_NONE, NULL, 0,
5897         "s1ap.HandoverFailure", HFILL }},
5898     { &hf_s1ap_HandoverNotify_PDU,
5899       { "HandoverNotify", "s1ap.HandoverNotify",
5900         FT_NONE, BASE_NONE, NULL, 0,
5901         "s1ap.HandoverNotify", HFILL }},
5902     { &hf_s1ap_PathSwitchRequest_PDU,
5903       { "PathSwitchRequest", "s1ap.PathSwitchRequest",
5904         FT_NONE, BASE_NONE, NULL, 0,
5905         "s1ap.PathSwitchRequest", HFILL }},
5906     { &hf_s1ap_SAEBearerToBeSwitchedDLList_PDU,
5907       { "SAEBearerToBeSwitchedDLList", "s1ap.SAEBearerToBeSwitchedDLList",
5908         FT_UINT32, BASE_DEC, NULL, 0,
5909         "s1ap.SAEBearerToBeSwitchedDLList", HFILL }},
5910     { &hf_s1ap_SAEBearerToBeSwitchedDLItem_PDU,
5911       { "SAEBearerToBeSwitchedDLItem", "s1ap.SAEBearerToBeSwitchedDLItem",
5912         FT_NONE, BASE_NONE, NULL, 0,
5913         "s1ap.SAEBearerToBeSwitchedDLItem", HFILL }},
5914     { &hf_s1ap_PathSwitchRequestAcknowledge_PDU,
5915       { "PathSwitchRequestAcknowledge", "s1ap.PathSwitchRequestAcknowledge",
5916         FT_NONE, BASE_NONE, NULL, 0,
5917         "s1ap.PathSwitchRequestAcknowledge", HFILL }},
5918     { &hf_s1ap_SAEBearerToBeSwitchedULList_PDU,
5919       { "SAEBearerToBeSwitchedULList", "s1ap.SAEBearerToBeSwitchedULList",
5920         FT_UINT32, BASE_DEC, NULL, 0,
5921         "s1ap.SAEBearerToBeSwitchedULList", HFILL }},
5922     { &hf_s1ap_SAEBearerToBeSwitchedULItem_PDU,
5923       { "SAEBearerToBeSwitchedULItem", "s1ap.SAEBearerToBeSwitchedULItem",
5924         FT_NONE, BASE_NONE, NULL, 0,
5925         "s1ap.SAEBearerToBeSwitchedULItem", HFILL }},
5926     { &hf_s1ap_PathSwitchRequestFailure_PDU,
5927       { "PathSwitchRequestFailure", "s1ap.PathSwitchRequestFailure",
5928         FT_NONE, BASE_NONE, NULL, 0,
5929         "s1ap.PathSwitchRequestFailure", HFILL }},
5930     { &hf_s1ap_HandoverCancel_PDU,
5931       { "HandoverCancel", "s1ap.HandoverCancel",
5932         FT_NONE, BASE_NONE, NULL, 0,
5933         "s1ap.HandoverCancel", HFILL }},
5934     { &hf_s1ap_HandoverCancelAcknowledge_PDU,
5935       { "HandoverCancelAcknowledge", "s1ap.HandoverCancelAcknowledge",
5936         FT_NONE, BASE_NONE, NULL, 0,
5937         "s1ap.HandoverCancelAcknowledge", HFILL }},
5938     { &hf_s1ap_SAEBearerSetupRequest_PDU,
5939       { "SAEBearerSetupRequest", "s1ap.SAEBearerSetupRequest",
5940         FT_NONE, BASE_NONE, NULL, 0,
5941         "s1ap.SAEBearerSetupRequest", HFILL }},
5942     { &hf_s1ap_SAEBearerToBeSetupListBearerSUReq_PDU,
5943       { "SAEBearerToBeSetupListBearerSUReq", "s1ap.SAEBearerToBeSetupListBearerSUReq",
5944         FT_UINT32, BASE_DEC, NULL, 0,
5945         "s1ap.SAEBearerToBeSetupListBearerSUReq", HFILL }},
5946     { &hf_s1ap_SAEBearerToBeSetupItemBearerSUReq_PDU,
5947       { "SAEBearerToBeSetupItemBearerSUReq", "s1ap.SAEBearerToBeSetupItemBearerSUReq",
5948         FT_NONE, BASE_NONE, NULL, 0,
5949         "s1ap.SAEBearerToBeSetupItemBearerSUReq", HFILL }},
5950     { &hf_s1ap_SAEBearerSetupResponse_PDU,
5951       { "SAEBearerSetupResponse", "s1ap.SAEBearerSetupResponse",
5952         FT_NONE, BASE_NONE, NULL, 0,
5953         "s1ap.SAEBearerSetupResponse", HFILL }},
5954     { &hf_s1ap_SAEBearerSetupListBearerSURes_PDU,
5955       { "SAEBearerSetupListBearerSURes", "s1ap.SAEBearerSetupListBearerSURes",
5956         FT_UINT32, BASE_DEC, NULL, 0,
5957         "s1ap.SAEBearerSetupListBearerSURes", HFILL }},
5958     { &hf_s1ap_SAEBearerSetupItemBearerSURes_PDU,
5959       { "SAEBearerSetupItemBearerSURes", "s1ap.SAEBearerSetupItemBearerSURes",
5960         FT_NONE, BASE_NONE, NULL, 0,
5961         "s1ap.SAEBearerSetupItemBearerSURes", HFILL }},
5962     { &hf_s1ap_SAEBearerModifyRequest_PDU,
5963       { "SAEBearerModifyRequest", "s1ap.SAEBearerModifyRequest",
5964         FT_NONE, BASE_NONE, NULL, 0,
5965         "s1ap.SAEBearerModifyRequest", HFILL }},
5966     { &hf_s1ap_SAEBearerToBeModifiedListBearerModReq_PDU,
5967       { "SAEBearerToBeModifiedListBearerModReq", "s1ap.SAEBearerToBeModifiedListBearerModReq",
5968         FT_UINT32, BASE_DEC, NULL, 0,
5969         "s1ap.SAEBearerToBeModifiedListBearerModReq", HFILL }},
5970     { &hf_s1ap_SAEBearerToBeModifiedItemBearerModReq_PDU,
5971       { "SAEBearerToBeModifiedItemBearerModReq", "s1ap.SAEBearerToBeModifiedItemBearerModReq",
5972         FT_NONE, BASE_NONE, NULL, 0,
5973         "s1ap.SAEBearerToBeModifiedItemBearerModReq", HFILL }},
5974     { &hf_s1ap_SAEBearerModifyResponse_PDU,
5975       { "SAEBearerModifyResponse", "s1ap.SAEBearerModifyResponse",
5976         FT_NONE, BASE_NONE, NULL, 0,
5977         "s1ap.SAEBearerModifyResponse", HFILL }},
5978     { &hf_s1ap_SAEBearerModifyListBearerModRes_PDU,
5979       { "SAEBearerModifyListBearerModRes", "s1ap.SAEBearerModifyListBearerModRes",
5980         FT_UINT32, BASE_DEC, NULL, 0,
5981         "s1ap.SAEBearerModifyListBearerModRes", HFILL }},
5982     { &hf_s1ap_SAEBearerModifyItemBearerModRes_PDU,
5983       { "SAEBearerModifyItemBearerModRes", "s1ap.SAEBearerModifyItemBearerModRes",
5984         FT_NONE, BASE_NONE, NULL, 0,
5985         "s1ap.SAEBearerModifyItemBearerModRes", HFILL }},
5986     { &hf_s1ap_SAEBearerReleaseCommand_PDU,
5987       { "SAEBearerReleaseCommand", "s1ap.SAEBearerReleaseCommand",
5988         FT_NONE, BASE_NONE, NULL, 0,
5989         "s1ap.SAEBearerReleaseCommand", HFILL }},
5990     { &hf_s1ap_SAEBearerReleaseResponse_PDU,
5991       { "SAEBearerReleaseResponse", "s1ap.SAEBearerReleaseResponse",
5992         FT_NONE, BASE_NONE, NULL, 0,
5993         "s1ap.SAEBearerReleaseResponse", HFILL }},
5994     { &hf_s1ap_SAEBearerReleaseListBearerRelComp_PDU,
5995       { "SAEBearerReleaseListBearerRelComp", "s1ap.SAEBearerReleaseListBearerRelComp",
5996         FT_UINT32, BASE_DEC, NULL, 0,
5997         "s1ap.SAEBearerReleaseListBearerRelComp", HFILL }},
5998     { &hf_s1ap_SAEBearerReleaseItemBearerRelComp_PDU,
5999       { "SAEBearerReleaseItemBearerRelComp", "s1ap.SAEBearerReleaseItemBearerRelComp",
6000         FT_NONE, BASE_NONE, NULL, 0,
6001         "s1ap.SAEBearerReleaseItemBearerRelComp", HFILL }},
6002     { &hf_s1ap_SAEBearerReleaseRequest_PDU,
6003       { "SAEBearerReleaseRequest", "s1ap.SAEBearerReleaseRequest",
6004         FT_NONE, BASE_NONE, NULL, 0,
6005         "s1ap.SAEBearerReleaseRequest", HFILL }},
6006     { &hf_s1ap_InitialContextSetupRequest_PDU,
6007       { "InitialContextSetupRequest", "s1ap.InitialContextSetupRequest",
6008         FT_NONE, BASE_NONE, NULL, 0,
6009         "s1ap.InitialContextSetupRequest", HFILL }},
6010     { &hf_s1ap_UEContextReleaseRequest_PDU,
6011       { "UEContextReleaseRequest", "s1ap.UEContextReleaseRequest",
6012         FT_NONE, BASE_NONE, NULL, 0,
6013         "s1ap.UEContextReleaseRequest", HFILL }},
6014     { &hf_s1ap_SAEBearerToBeSetupListCtxtSUReq_PDU,
6015       { "SAEBearerToBeSetupListCtxtSUReq", "s1ap.SAEBearerToBeSetupListCtxtSUReq",
6016         FT_UINT32, BASE_DEC, NULL, 0,
6017         "s1ap.SAEBearerToBeSetupListCtxtSUReq", HFILL }},
6018     { &hf_s1ap_SAEBearerToBeSetupItemCtxtSUReq_PDU,
6019       { "SAEBearerToBeSetupItemCtxtSUReq", "s1ap.SAEBearerToBeSetupItemCtxtSUReq",
6020         FT_NONE, BASE_NONE, NULL, 0,
6021         "s1ap.SAEBearerToBeSetupItemCtxtSUReq", HFILL }},
6022     { &hf_s1ap_InitialContextSetupResponse_PDU,
6023       { "InitialContextSetupResponse", "s1ap.InitialContextSetupResponse",
6024         FT_NONE, BASE_NONE, NULL, 0,
6025         "s1ap.InitialContextSetupResponse", HFILL }},
6026     { &hf_s1ap_SAEBearerSetupListCtxtSURes_PDU,
6027       { "SAEBearerSetupListCtxtSURes", "s1ap.SAEBearerSetupListCtxtSURes",
6028         FT_UINT32, BASE_DEC, NULL, 0,
6029         "s1ap.SAEBearerSetupListCtxtSURes", HFILL }},
6030     { &hf_s1ap_SAEBearerSetupItemCtxtSURes_PDU,
6031       { "SAEBearerSetupItemCtxtSURes", "s1ap.SAEBearerSetupItemCtxtSURes",
6032         FT_NONE, BASE_NONE, NULL, 0,
6033         "s1ap.SAEBearerSetupItemCtxtSURes", HFILL }},
6034     { &hf_s1ap_InitialContextSetupFailure_PDU,
6035       { "InitialContextSetupFailure", "s1ap.InitialContextSetupFailure",
6036         FT_NONE, BASE_NONE, NULL, 0,
6037         "s1ap.InitialContextSetupFailure", HFILL }},
6038     { &hf_s1ap_Paging_PDU,
6039       { "Paging", "s1ap.Paging",
6040         FT_NONE, BASE_NONE, NULL, 0,
6041         "s1ap.Paging", HFILL }},
6042     { &hf_s1ap_TAIList_PDU,
6043       { "TAIList", "s1ap.TAIList",
6044         FT_UINT32, BASE_DEC, NULL, 0,
6045         "s1ap.TAIList", HFILL }},
6046     { &hf_s1ap_TAIItem_PDU,
6047       { "TAIItem", "s1ap.TAIItem",
6048         FT_NONE, BASE_NONE, NULL, 0,
6049         "s1ap.TAIItem", HFILL }},
6050     { &hf_s1ap_UEContextReleaseCommand_PDU,
6051       { "UEContextReleaseCommand", "s1ap.UEContextReleaseCommand",
6052         FT_NONE, BASE_NONE, NULL, 0,
6053         "s1ap.UEContextReleaseCommand", HFILL }},
6054     { &hf_s1ap_UEContextReleaseComplete_PDU,
6055       { "UEContextReleaseComplete", "s1ap.UEContextReleaseComplete",
6056         FT_NONE, BASE_NONE, NULL, 0,
6057         "s1ap.UEContextReleaseComplete", HFILL }},
6058     { &hf_s1ap_UEContextModificationRequest_PDU,
6059       { "UEContextModificationRequest", "s1ap.UEContextModificationRequest",
6060         FT_NONE, BASE_NONE, NULL, 0,
6061         "s1ap.UEContextModificationRequest", HFILL }},
6062     { &hf_s1ap_UEContextModificationResponse_PDU,
6063       { "UEContextModificationResponse", "s1ap.UEContextModificationResponse",
6064         FT_NONE, BASE_NONE, NULL, 0,
6065         "s1ap.UEContextModificationResponse", HFILL }},
6066     { &hf_s1ap_UEContextModificationFailure_PDU,
6067       { "UEContextModificationFailure", "s1ap.UEContextModificationFailure",
6068         FT_NONE, BASE_NONE, NULL, 0,
6069         "s1ap.UEContextModificationFailure", HFILL }},
6070     { &hf_s1ap_DownlinkNASTransport_PDU,
6071       { "DownlinkNASTransport", "s1ap.DownlinkNASTransport",
6072         FT_NONE, BASE_NONE, NULL, 0,
6073         "s1ap.DownlinkNASTransport", HFILL }},
6074     { &hf_s1ap_InitialUEMessage_PDU,
6075       { "InitialUEMessage", "s1ap.InitialUEMessage",
6076         FT_NONE, BASE_NONE, NULL, 0,
6077         "s1ap.InitialUEMessage", HFILL }},
6078     { &hf_s1ap_UplinkNASTransport_PDU,
6079       { "UplinkNASTransport", "s1ap.UplinkNASTransport",
6080         FT_NONE, BASE_NONE, NULL, 0,
6081         "s1ap.UplinkNASTransport", HFILL }},
6082     { &hf_s1ap_NASNonDeliveryIndication_PDU,
6083       { "NASNonDeliveryIndication", "s1ap.NASNonDeliveryIndication",
6084         FT_NONE, BASE_NONE, NULL, 0,
6085         "s1ap.NASNonDeliveryIndication", HFILL }},
6086     { &hf_s1ap_Reset_PDU,
6087       { "Reset", "s1ap.Reset",
6088         FT_NONE, BASE_NONE, NULL, 0,
6089         "s1ap.Reset", HFILL }},
6090     { &hf_s1ap_ResetType_PDU,
6091       { "ResetType", "s1ap.ResetType",
6092         FT_UINT32, BASE_DEC, VALS(s1ap_ResetType_vals), 0,
6093         "s1ap.ResetType", HFILL }},
6094     { &hf_s1ap_ResetAcknowledge_PDU,
6095       { "ResetAcknowledge", "s1ap.ResetAcknowledge",
6096         FT_NONE, BASE_NONE, NULL, 0,
6097         "s1ap.ResetAcknowledge", HFILL }},
6098     { &hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_PDU,
6099       { "UE-associatedLogicalS1-ConnectionListResAck", "s1ap.UE_associatedLogicalS1_ConnectionListResAck",
6100         FT_UINT32, BASE_DEC, NULL, 0,
6101         "s1ap.UE_associatedLogicalS1_ConnectionListResAck", HFILL }},
6102     { &hf_s1ap_ErrorIndication_PDU,
6103       { "ErrorIndication", "s1ap.ErrorIndication",
6104         FT_NONE, BASE_NONE, NULL, 0,
6105         "s1ap.ErrorIndication", HFILL }},
6106     { &hf_s1ap_S1SetupRequest_PDU,
6107       { "S1SetupRequest", "s1ap.S1SetupRequest",
6108         FT_NONE, BASE_NONE, NULL, 0,
6109         "s1ap.S1SetupRequest", HFILL }},
6110     { &hf_s1ap_S1SetupResponse_PDU,
6111       { "S1SetupResponse", "s1ap.S1SetupResponse",
6112         FT_NONE, BASE_NONE, NULL, 0,
6113         "s1ap.S1SetupResponse", HFILL }},
6114     { &hf_s1ap_S1SetupFailure_PDU,
6115       { "S1SetupFailure", "s1ap.S1SetupFailure",
6116         FT_NONE, BASE_NONE, NULL, 0,
6117         "s1ap.S1SetupFailure", HFILL }},
6118     { &hf_s1ap_ENBConfigurationUpdate_PDU,
6119       { "ENBConfigurationUpdate", "s1ap.ENBConfigurationUpdate",
6120         FT_NONE, BASE_NONE, NULL, 0,
6121         "s1ap.ENBConfigurationUpdate", HFILL }},
6122     { &hf_s1ap_ENBConfigurationUpdateAcknowledge_PDU,
6123       { "ENBConfigurationUpdateAcknowledge", "s1ap.ENBConfigurationUpdateAcknowledge",
6124         FT_NONE, BASE_NONE, NULL, 0,
6125         "s1ap.ENBConfigurationUpdateAcknowledge", HFILL }},
6126     { &hf_s1ap_ENBConfigurationUpdateFailure_PDU,
6127       { "ENBConfigurationUpdateFailure", "s1ap.ENBConfigurationUpdateFailure",
6128         FT_NONE, BASE_NONE, NULL, 0,
6129         "s1ap.ENBConfigurationUpdateFailure", HFILL }},
6130     { &hf_s1ap_MMEConfigurationUpdate_PDU,
6131       { "MMEConfigurationUpdate", "s1ap.MMEConfigurationUpdate",
6132         FT_NONE, BASE_NONE, NULL, 0,
6133         "s1ap.MMEConfigurationUpdate", HFILL }},
6134     { &hf_s1ap_MMEConfigurationUpdateAcknowledge_PDU,
6135       { "MMEConfigurationUpdateAcknowledge", "s1ap.MMEConfigurationUpdateAcknowledge",
6136         FT_NONE, BASE_NONE, NULL, 0,
6137         "s1ap.MMEConfigurationUpdateAcknowledge", HFILL }},
6138     { &hf_s1ap_MMEConfigurationUpdateFailure_PDU,
6139       { "MMEConfigurationUpdateFailure", "s1ap.MMEConfigurationUpdateFailure",
6140         FT_NONE, BASE_NONE, NULL, 0,
6141         "s1ap.MMEConfigurationUpdateFailure", HFILL }},
6142     { &hf_s1ap_DownlinkS1cdma2000tunneling_PDU,
6143       { "DownlinkS1cdma2000tunneling", "s1ap.DownlinkS1cdma2000tunneling",
6144         FT_NONE, BASE_NONE, NULL, 0,
6145         "s1ap.DownlinkS1cdma2000tunneling", HFILL }},
6146     { &hf_s1ap_UplinkS1cdma2000tunneling_PDU,
6147       { "UplinkS1cdma2000tunneling", "s1ap.UplinkS1cdma2000tunneling",
6148         FT_NONE, BASE_NONE, NULL, 0,
6149         "s1ap.UplinkS1cdma2000tunneling", HFILL }},
6150     { &hf_s1ap_UECapabilityInfoIndication_PDU,
6151       { "UECapabilityInfoIndication", "s1ap.UECapabilityInfoIndication",
6152         FT_NONE, BASE_NONE, NULL, 0,
6153         "s1ap.UECapabilityInfoIndication", HFILL }},
6154     { &hf_s1ap_ENBStatusTransfer_PDU,
6155       { "ENBStatusTransfer", "s1ap.ENBStatusTransfer",
6156         FT_NONE, BASE_NONE, NULL, 0,
6157         "s1ap.ENBStatusTransfer", HFILL }},
6158     { &hf_s1ap_MMEStatusTransfer_PDU,
6159       { "MMEStatusTransfer", "s1ap.MMEStatusTransfer",
6160         FT_NONE, BASE_NONE, NULL, 0,
6161         "s1ap.MMEStatusTransfer", HFILL }},
6162     { &hf_s1ap_TraceStart_PDU,
6163       { "TraceStart", "s1ap.TraceStart",
6164         FT_NONE, BASE_NONE, NULL, 0,
6165         "s1ap.TraceStart", HFILL }},
6166     { &hf_s1ap_TraceFailureIndication_PDU,
6167       { "TraceFailureIndication", "s1ap.TraceFailureIndication",
6168         FT_NONE, BASE_NONE, NULL, 0,
6169         "s1ap.TraceFailureIndication", HFILL }},
6170     { &hf_s1ap_DeactivateTrace_PDU,
6171       { "DeactivateTrace", "s1ap.DeactivateTrace",
6172         FT_NONE, BASE_NONE, NULL, 0,
6173         "s1ap.DeactivateTrace", HFILL }},
6174     { &hf_s1ap_LocationReportingControl_PDU,
6175       { "LocationReportingControl", "s1ap.LocationReportingControl",
6176         FT_NONE, BASE_NONE, NULL, 0,
6177         "s1ap.LocationReportingControl", HFILL }},
6178     { &hf_s1ap_LocationReportingFailureIndication_PDU,
6179       { "LocationReportingFailureIndication", "s1ap.LocationReportingFailureIndication",
6180         FT_NONE, BASE_NONE, NULL, 0,
6181         "s1ap.LocationReportingFailureIndication", HFILL }},
6182     { &hf_s1ap_LocationReport_PDU,
6183       { "LocationReport", "s1ap.LocationReport",
6184         FT_NONE, BASE_NONE, NULL, 0,
6185         "s1ap.LocationReport", HFILL }},
6186     { &hf_s1ap_S1AP_PDU_PDU,
6187       { "S1AP-PDU", "s1ap.S1AP_PDU",
6188         FT_UINT32, BASE_DEC, VALS(s1ap_S1AP_PDU_vals), 0,
6189         "s1ap.S1AP_PDU", HFILL }},
6190     { &hf_s1ap_local,
6191       { "local", "s1ap.local",
6192         FT_UINT32, BASE_DEC, NULL, 0,
6193         "s1ap.INTEGER_0_65535", HFILL }},
6194     { &hf_s1ap_global,
6195       { "global", "s1ap.global",
6196         FT_OID, BASE_NONE, NULL, 0,
6197         "s1ap.OBJECT_IDENTIFIER", HFILL }},
6198     { &hf_s1ap_ProtocolIE_Container_item,
6199       { "Item", "s1ap.ProtocolIE_Container_item",
6200         FT_NONE, BASE_NONE, NULL, 0,
6201         "s1ap.ProtocolIE_Field", HFILL }},
6202     { &hf_s1ap_id,
6203       { "id", "s1ap.id",
6204         FT_UINT32, BASE_DEC, VALS(s1ap_ProtocolIE_ID_vals), 0,
6205         "s1ap.ProtocolIE_ID", HFILL }},
6206     { &hf_s1ap_criticality,
6207       { "criticality", "s1ap.criticality",
6208         FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
6209         "s1ap.Criticality", HFILL }},
6210     { &hf_s1ap_ie_field_value,
6211       { "value", "s1ap.value",
6212         FT_NONE, BASE_NONE, NULL, 0,
6213         "s1ap.T_ie_field_value", HFILL }},
6214     { &hf_s1ap_ProtocolIE_ContainerPair_item,
6215       { "Item", "s1ap.ProtocolIE_ContainerPair_item",
6216         FT_NONE, BASE_NONE, NULL, 0,
6217         "s1ap.ProtocolIE_FieldPair", HFILL }},
6218     { &hf_s1ap_firstCriticality,
6219       { "firstCriticality", "s1ap.firstCriticality",
6220         FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
6221         "s1ap.Criticality", HFILL }},
6222     { &hf_s1ap_firstValue,
6223       { "firstValue", "s1ap.firstValue",
6224         FT_NONE, BASE_NONE, NULL, 0,
6225         "s1ap.T_firstValue", HFILL }},
6226     { &hf_s1ap_secondCriticality,
6227       { "secondCriticality", "s1ap.secondCriticality",
6228         FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
6229         "s1ap.Criticality", HFILL }},
6230     { &hf_s1ap_secondValue,
6231       { "secondValue", "s1ap.secondValue",
6232         FT_NONE, BASE_NONE, NULL, 0,
6233         "s1ap.T_secondValue", HFILL }},
6234     { &hf_s1ap_ProtocolIE_ContainerList_item,
6235       { "Item", "s1ap.ProtocolIE_ContainerList_item",
6236         FT_NONE, BASE_NONE, NULL, 0,
6237         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6238     { &hf_s1ap_ProtocolIE_ContainerPairList_item,
6239       { "Item", "s1ap.ProtocolIE_ContainerPairList_item",
6240         FT_UINT32, BASE_DEC, NULL, 0,
6241         "s1ap.ProtocolIE_ContainerPair", HFILL }},
6242     { &hf_s1ap_ProtocolExtensionContainer_item,
6243       { "Item", "s1ap.ProtocolExtensionContainer_item",
6244         FT_NONE, BASE_NONE, NULL, 0,
6245         "s1ap.ProtocolExtensionField", HFILL }},
6246     { &hf_s1ap_ext_id,
6247       { "id", "s1ap.id",
6248         FT_UINT8, BASE_DEC, VALS(s1ap_ProtocolIE_ID_vals), 0,
6249         "s1ap.ProtocolExtensionID", HFILL }},
6250     { &hf_s1ap_extensionValue,
6251       { "extensionValue", "s1ap.extensionValue",
6252         FT_NONE, BASE_NONE, NULL, 0,
6253         "s1ap.T_extensionValue", HFILL }},
6254     { &hf_s1ap_PrivateIE_Container_item,
6255       { "Item", "s1ap.PrivateIE_Container_item",
6256         FT_NONE, BASE_NONE, NULL, 0,
6257         "s1ap.PrivateIE_Field", HFILL }},
6258     { &hf_s1ap_private_id,
6259       { "id", "s1ap.id",
6260         FT_UINT32, BASE_DEC, VALS(s1ap_PrivateIE_ID_vals), 0,
6261         "s1ap.PrivateIE_ID", HFILL }},
6262     { &hf_s1ap_private_value,
6263       { "value", "s1ap.value",
6264         FT_NONE, BASE_NONE, NULL, 0,
6265         "s1ap.T_private_value", HFILL }},
6266     { &hf_s1ap_priorityLevel,
6267       { "priorityLevel", "s1ap.priorityLevel",
6268         FT_UINT32, BASE_DEC, NULL, 0,
6269         "s1ap.PriorityLevel", HFILL }},
6270     { &hf_s1ap_iE_Extensions,
6271       { "iE-Extensions", "s1ap.iE_Extensions",
6272         FT_UINT32, BASE_DEC, NULL, 0,
6273         "s1ap.ProtocolExtensionContainer", HFILL }},
6274     { &hf_s1ap_aggregateMaximumBitRateDL,
6275       { "aggregateMaximumBitRateDL", "s1ap.aggregateMaximumBitRateDL",
6276         FT_UINT32, BASE_DEC, NULL, 0,
6277         "s1ap.SAE_Bearer_BitRate", HFILL }},
6278     { &hf_s1ap_aggregateMaximumBitRateUL,
6279       { "aggregateMaximumBitRateUL", "s1ap.aggregateMaximumBitRateUL",
6280         FT_UINT32, BASE_DEC, NULL, 0,
6281         "s1ap.SAE_Bearer_BitRate", HFILL }},
6282     { &hf_s1ap_Bearers_SubjectToStatusTransferList_item,
6283       { "Item", "s1ap.Bearers_SubjectToStatusTransferList_item",
6284         FT_NONE, BASE_NONE, NULL, 0,
6285         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6286     { &hf_s1ap_sAE_Bearer_ID,
6287       { "sAE-Bearer-ID", "s1ap.sAE_Bearer_ID",
6288         FT_BYTES, BASE_HEX, NULL, 0,
6289         "s1ap.SAE_Bearer_ID", HFILL }},
6290     { &hf_s1ap_uL_COUNTvalue,
6291       { "uL-COUNTvalue", "s1ap.uL_COUNTvalue",
6292         FT_NONE, BASE_NONE, NULL, 0,
6293         "s1ap.COUNTvalue", HFILL }},
6294     { &hf_s1ap_dL_COUNTvalue,
6295       { "dL-COUNTvalue", "s1ap.dL_COUNTvalue",
6296         FT_NONE, BASE_NONE, NULL, 0,
6297         "s1ap.COUNTvalue", HFILL }},
6298     { &hf_s1ap_BPLMNs_item,
6299       { "Item", "s1ap.BPLMNs_item",
6300         FT_BYTES, BASE_HEX, NULL, 0,
6301         "s1ap.PLMNidentity", HFILL }},
6302     { &hf_s1ap_radioNetwork,
6303       { "radioNetwork", "s1ap.radioNetwork",
6304         FT_UINT32, BASE_DEC, VALS(s1ap_CauseRadioNetwork_vals), 0,
6305         "s1ap.CauseRadioNetwork", HFILL }},
6306     { &hf_s1ap_transport,
6307       { "transport", "s1ap.transport",
6308         FT_UINT32, BASE_DEC, VALS(s1ap_CauseTransport_vals), 0,
6309         "s1ap.CauseTransport", HFILL }},
6310     { &hf_s1ap_nas,
6311       { "nas", "s1ap.nas",
6312         FT_UINT32, BASE_DEC, VALS(s1ap_CauseNas_vals), 0,
6313         "s1ap.CauseNas", HFILL }},
6314     { &hf_s1ap_protocol,
6315       { "protocol", "s1ap.protocol",
6316         FT_UINT32, BASE_DEC, VALS(s1ap_CauseProtocol_vals), 0,
6317         "s1ap.CauseProtocol", HFILL }},
6318     { &hf_s1ap_misc,
6319       { "misc", "s1ap.misc",
6320         FT_UINT32, BASE_DEC, VALS(s1ap_CauseMisc_vals), 0,
6321         "s1ap.CauseMisc", HFILL }},
6322     { &hf_s1ap_pLMNidentity,
6323       { "pLMNidentity", "s1ap.pLMNidentity",
6324         FT_BYTES, BASE_HEX, NULL, 0,
6325         "s1ap.PLMNidentity", HFILL }},
6326     { &hf_s1ap_lAC,
6327       { "lAC", "s1ap.lAC",
6328         FT_BYTES, BASE_HEX, NULL, 0,
6329         "s1ap.LAC", HFILL }},
6330     { &hf_s1ap_cI,
6331       { "cI", "s1ap.cI",
6332         FT_BYTES, BASE_HEX, NULL, 0,
6333         "s1ap.CI", HFILL }},
6334     { &hf_s1ap_pDCP_SN,
6335       { "pDCP-SN", "s1ap.pDCP_SN",
6336         FT_UINT32, BASE_DEC, NULL, 0,
6337         "s1ap.PDCP_SN", HFILL }},
6338     { &hf_s1ap_hFN,
6339       { "hFN", "s1ap.hFN",
6340         FT_UINT32, BASE_DEC, NULL, 0,
6341         "s1ap.HFN", HFILL }},
6342     { &hf_s1ap_procedureCode,
6343       { "procedureCode", "s1ap.procedureCode",
6344         FT_UINT32, BASE_DEC, VALS(s1ap_ProcedureCode_vals), 0,
6345         "s1ap.ProcedureCode", HFILL }},
6346     { &hf_s1ap_triggeringMessage,
6347       { "triggeringMessage", "s1ap.triggeringMessage",
6348         FT_UINT32, BASE_DEC, VALS(s1ap_TriggeringMessage_vals), 0,
6349         "s1ap.TriggeringMessage", HFILL }},
6350     { &hf_s1ap_procedureCriticality,
6351       { "procedureCriticality", "s1ap.procedureCriticality",
6352         FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
6353         "s1ap.Criticality", HFILL }},
6354     { &hf_s1ap_iEsCriticalityDiagnostics,
6355       { "iEsCriticalityDiagnostics", "s1ap.iEsCriticalityDiagnostics",
6356         FT_UINT32, BASE_DEC, NULL, 0,
6357         "s1ap.CriticalityDiagnostics_IE_List", HFILL }},
6358     { &hf_s1ap_CriticalityDiagnostics_IE_List_item,
6359       { "Item", "s1ap.CriticalityDiagnostics_IE_List_item",
6360         FT_NONE, BASE_NONE, NULL, 0,
6361         "s1ap.CriticalityDiagnostics_IE_Item", HFILL }},
6362     { &hf_s1ap_iECriticality,
6363       { "iECriticality", "s1ap.iECriticality",
6364         FT_UINT32, BASE_DEC, VALS(s1ap_Criticality_vals), 0,
6365         "s1ap.Criticality", HFILL }},
6366     { &hf_s1ap_iE_ID,
6367       { "iE-ID", "s1ap.iE_ID",
6368         FT_UINT32, BASE_DEC, VALS(s1ap_ProtocolIE_ID_vals), 0,
6369         "s1ap.ProtocolIE_ID", HFILL }},
6370     { &hf_s1ap_typeOfError,
6371       { "typeOfError", "s1ap.typeOfError",
6372         FT_UINT32, BASE_DEC, VALS(s1ap_TypeOfError_vals), 0,
6373         "s1ap.TypeOfError", HFILL }},
6374     { &hf_s1ap_bearers_SubjectToStatusTransferList,
6375       { "bearers-SubjectToStatusTransferList", "s1ap.bearers_SubjectToStatusTransferList",
6376         FT_UINT32, BASE_DEC, NULL, 0,
6377         "s1ap.Bearers_SubjectToStatusTransferList", HFILL }},
6378     { &hf_s1ap_EPLMNs_item,
6379       { "Item", "s1ap.EPLMNs_item",
6380         FT_BYTES, BASE_HEX, NULL, 0,
6381         "s1ap.PLMNidentity", HFILL }},
6382     { &hf_s1ap_ForbiddenTAs_item,
6383       { "Item", "s1ap.ForbiddenTAs_item",
6384         FT_NONE, BASE_NONE, NULL, 0,
6385         "s1ap.ForbiddenTAs_Item", HFILL }},
6386     { &hf_s1ap_pLMN_Identity,
6387       { "pLMN-Identity", "s1ap.pLMN_Identity",
6388         FT_BYTES, BASE_HEX, NULL, 0,
6389         "s1ap.PLMNidentity", HFILL }},
6390     { &hf_s1ap_forbiddenTACs,
6391       { "forbiddenTACs", "s1ap.forbiddenTACs",
6392         FT_UINT32, BASE_DEC, NULL, 0,
6393         "s1ap.ForbiddenTACs", HFILL }},
6394     { &hf_s1ap_ForbiddenTACs_item,
6395       { "Item", "s1ap.ForbiddenTACs_item",
6396         FT_BYTES, BASE_HEX, NULL, 0,
6397         "s1ap.TAC", HFILL }},
6398     { &hf_s1ap_ForbiddenLAs_item,
6399       { "Item", "s1ap.ForbiddenLAs_item",
6400         FT_NONE, BASE_NONE, NULL, 0,
6401         "s1ap.ForbiddenLAs_Item", HFILL }},
6402     { &hf_s1ap_forbiddenLACs,
6403       { "forbiddenLACs", "s1ap.forbiddenLACs",
6404         FT_UINT32, BASE_DEC, NULL, 0,
6405         "s1ap.ForbiddenLACs", HFILL }},
6406     { &hf_s1ap_ForbiddenLACs_item,
6407       { "Item", "s1ap.ForbiddenLACs_item",
6408         FT_BYTES, BASE_HEX, NULL, 0,
6409         "s1ap.LAC", HFILL }},
6410     { &hf_s1ap_mME_Group_ID,
6411       { "mME-Group-ID", "s1ap.mME_Group_ID",
6412         FT_BYTES, BASE_HEX, NULL, 0,
6413         "s1ap.MME_Group_ID", HFILL }},
6414     { &hf_s1ap_mME_Code,
6415       { "mME-Code", "s1ap.mME_Code",
6416         FT_BYTES, BASE_HEX, NULL, 0,
6417         "s1ap.MME_Code", HFILL }},
6418     { &hf_s1ap_servingPLMN,
6419       { "servingPLMN", "s1ap.servingPLMN",
6420         FT_BYTES, BASE_HEX, NULL, 0,
6421         "s1ap.PLMNidentity", HFILL }},
6422     { &hf_s1ap_equivalentPLMNs,
6423       { "equivalentPLMNs", "s1ap.equivalentPLMNs",
6424         FT_UINT32, BASE_DEC, NULL, 0,
6425         "s1ap.EPLMNs", HFILL }},
6426     { &hf_s1ap_forbiddenTAs,
6427       { "forbiddenTAs", "s1ap.forbiddenTAs",
6428         FT_UINT32, BASE_DEC, NULL, 0,
6429         "s1ap.ForbiddenTAs", HFILL }},
6430     { &hf_s1ap_forbiddenLAs,
6431       { "forbiddenLAs", "s1ap.forbiddenLAs",
6432         FT_UINT32, BASE_DEC, NULL, 0,
6433         "s1ap.ForbiddenLAs", HFILL }},
6434     { &hf_s1ap_forbiddenInterRATs,
6435       { "forbiddenInterRATs", "s1ap.forbiddenInterRATs",
6436         FT_UINT32, BASE_DEC, VALS(s1ap_ForbiddenInterRATs_vals), 0,
6437         "s1ap.ForbiddenInterRATs", HFILL }},
6438     { &hf_s1ap_InterfacesToTraceList_item,
6439       { "Item", "s1ap.InterfacesToTraceList_item",
6440         FT_NONE, BASE_NONE, NULL, 0,
6441         "s1ap.InterfacesToTraceItem", HFILL }},
6442     { &hf_s1ap_interfaceType,
6443       { "interfaceType", "s1ap.interfaceType",
6444         FT_UINT32, BASE_DEC, VALS(s1ap_InterfaceType_vals), 0,
6445         "s1ap.InterfaceType", HFILL }},
6446     { &hf_s1ap_traceDepth,
6447       { "traceDepth", "s1ap.traceDepth",
6448         FT_UINT32, BASE_DEC, VALS(s1ap_TraceDepth_vals), 0,
6449         "s1ap.TraceDepth", HFILL }},
6450     { &hf_s1ap_eventType,
6451       { "eventType", "s1ap.eventType",
6452         FT_UINT32, BASE_DEC, VALS(s1ap_EventType_vals), 0,
6453         "s1ap.EventType", HFILL }},
6454     { &hf_s1ap_reportArea,
6455       { "reportArea", "s1ap.reportArea",
6456         FT_BYTES, BASE_HEX, NULL, 0,
6457         "s1ap.ReportArea", HFILL }},
6458     { &hf_s1ap_SAEBearerInformationList_item,
6459       { "Item", "s1ap.SAEBearerInformationList_item",
6460         FT_NONE, BASE_NONE, NULL, 0,
6461         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6462     { &hf_s1ap_dL_Forwarding,
6463       { "dL-Forwarding", "s1ap.dL_Forwarding",
6464         FT_UINT32, BASE_DEC, VALS(s1ap_DL_Forwarding_vals), 0,
6465         "s1ap.DL_Forwarding", HFILL }},
6466     { &hf_s1ap_SAEBearerList_item,
6467       { "Item", "s1ap.SAEBearerList_item",
6468         FT_NONE, BASE_NONE, NULL, 0,
6469         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6470     { &hf_s1ap_cause,
6471       { "cause", "s1ap.cause",
6472         FT_UINT32, BASE_DEC, VALS(s1ap_Cause_vals), 0,
6473         "s1ap.Cause", HFILL }},
6474     { &hf_s1ap_qCI,
6475       { "qCI", "s1ap.qCI",
6476         FT_UINT32, BASE_DEC, NULL, 0,
6477         "s1ap.QCI", HFILL }},
6478     { &hf_s1ap_allocationRetentionPriority,
6479       { "allocationRetentionPriority", "s1ap.allocationRetentionPriority",
6480         FT_NONE, BASE_NONE, NULL, 0,
6481         "s1ap.AllocationRetentionPriority", HFILL }},
6482     { &hf_s1ap_sAE_BearerType,
6483       { "sAE-BearerType", "s1ap.sAE_BearerType",
6484         FT_UINT32, BASE_DEC, VALS(s1ap_SAE_Bearer_Type_vals), 0,
6485         "s1ap.SAE_Bearer_Type", HFILL }},
6486     { &hf_s1ap_sAE_GBR_Bearer,
6487       { "sAE-GBR-Bearer", "s1ap.sAE_GBR_Bearer",
6488         FT_NONE, BASE_NONE, NULL, 0,
6489         "s1ap.SAE_GBR_Bearer", HFILL }},
6490     { &hf_s1ap_sAE_non_GBR_Bearer,
6491       { "sAE-non-GBR-Bearer", "s1ap.sAE_non_GBR_Bearer",
6492         FT_NONE, BASE_NONE, NULL, 0,
6493         "s1ap.SAE_non_GBR_Bearer", HFILL }},
6494     { &hf_s1ap_sAE_Bearer_MaximumBitrateDL,
6495       { "sAE-Bearer-MaximumBitrateDL", "s1ap.sAE_Bearer_MaximumBitrateDL",
6496         FT_UINT32, BASE_DEC, NULL, 0,
6497         "s1ap.SAE_Bearer_BitRate", HFILL }},
6498     { &hf_s1ap_sAE_Bearer_MaximumBitrateUL,
6499       { "sAE-Bearer-MaximumBitrateUL", "s1ap.sAE_Bearer_MaximumBitrateUL",
6500         FT_UINT32, BASE_DEC, NULL, 0,
6501         "s1ap.SAE_Bearer_BitRate", HFILL }},
6502     { &hf_s1ap_sAE_Bearer_GuaranteedBitrateDL,
6503       { "sAE-Bearer-GuaranteedBitrateDL", "s1ap.sAE_Bearer_GuaranteedBitrateDL",
6504         FT_UINT32, BASE_DEC, NULL, 0,
6505         "s1ap.SAE_Bearer_BitRate", HFILL }},
6506     { &hf_s1ap_sAE_Bearer_GuaranteedBitrateUL,
6507       { "sAE-Bearer-GuaranteedBitrateUL", "s1ap.sAE_Bearer_GuaranteedBitrateUL",
6508         FT_UINT32, BASE_DEC, NULL, 0,
6509         "s1ap.SAE_Bearer_BitRate", HFILL }},
6510     { &hf_s1ap_sAE_non_GBR_Bearer_Type,
6511       { "sAE-non-GBR-Bearer-Type", "s1ap.sAE_non_GBR_Bearer_Type",
6512         FT_UINT32, BASE_DEC, VALS(s1ap_SAE_non_GBR_Bearer_Type_vals), 0,
6513         "s1ap.SAE_non_GBR_Bearer_Type", HFILL }},
6514     { &hf_s1ap_securityKey,
6515       { "securityKey", "s1ap.securityKey",
6516         FT_BYTES, BASE_HEX, NULL, 0,
6517         "s1ap.SecurityKey", HFILL }},
6518     { &hf_s1ap_securityPlaceHolder,
6519       { "securityPlaceHolder", "s1ap.securityPlaceHolder",
6520         FT_UINT32, BASE_DEC, VALS(s1ap_SecurityPlaceHolder_vals), 0,
6521         "s1ap.SecurityPlaceHolder", HFILL }},
6522     { &hf_s1ap_sourceeNB_ID,
6523       { "sourceeNB-ID", "s1ap.sourceeNB_ID",
6524         FT_NONE, BASE_NONE, NULL, 0,
6525         "s1ap.SourceeNB_ID", HFILL }},
6526     { &hf_s1ap_eNB_Global_ID,
6527       { "eNB-Global-ID", "s1ap.eNB_Global_ID",
6528         FT_UINT32, BASE_DEC, NULL, 0,
6529         "s1ap.ENB_Global_ID", HFILL }},
6530     { &hf_s1ap_rRC_Container,
6531       { "rRC-Container", "s1ap.rRC_Container",
6532         FT_BYTES, BASE_HEX, NULL, 0,
6533         "s1ap.RRC_Container", HFILL }},
6534     { &hf_s1ap_sAEBearerInformationList,
6535       { "sAEBearerInformationList", "s1ap.sAEBearerInformationList",
6536         FT_UINT32, BASE_DEC, NULL, 0,
6537         "s1ap.SAEBearerInformationList", HFILL }},
6538     { &hf_s1ap_ServedPLMNs_item,
6539       { "Item", "s1ap.ServedPLMNs_item",
6540         FT_BYTES, BASE_HEX, NULL, 0,
6541         "s1ap.PLMNidentity", HFILL }},
6542     { &hf_s1ap_SupportedTAs_item,
6543       { "Item", "s1ap.SupportedTAs_item",
6544         FT_NONE, BASE_NONE, NULL, 0,
6545         "s1ap.SupportedTAs_Item", HFILL }},
6546     { &hf_s1ap_tAC,
6547       { "tAC", "s1ap.tAC",
6548         FT_BYTES, BASE_HEX, NULL, 0,
6549         "s1ap.TAC", HFILL }},
6550     { &hf_s1ap_broadcastPLMNs,
6551       { "broadcastPLMNs", "s1ap.broadcastPLMNs",
6552         FT_UINT32, BASE_DEC, NULL, 0,
6553         "s1ap.BPLMNs", HFILL }},
6554     { &hf_s1ap_mMEC,
6555       { "mMEC", "s1ap.mMEC",
6556         FT_BYTES, BASE_HEX, NULL, 0,
6557         "s1ap.MME_Code", HFILL }},
6558     { &hf_s1ap_m_TMSI,
6559       { "m-TMSI", "s1ap.m_TMSI",
6560         FT_BYTES, BASE_HEX, NULL, 0,
6561         "s1ap.M_TMSI", HFILL }},
6562     { &hf_s1ap_targeteNB_ID,
6563       { "targeteNB-ID", "s1ap.targeteNB_ID",
6564         FT_NONE, BASE_NONE, NULL, 0,
6565         "s1ap.TargeteNB_ID", HFILL }},
6566     { &hf_s1ap_targetRNC_ID,
6567       { "targetRNC-ID", "s1ap.targetRNC_ID",
6568         FT_NONE, BASE_NONE, NULL, 0,
6569         "s1ap.TargetRNC_ID", HFILL }},
6570     { &hf_s1ap_cGI,
6571       { "cGI", "s1ap.cGI",
6572         FT_NONE, BASE_NONE, NULL, 0,
6573         "s1ap.CGI", HFILL }},
6574     { &hf_s1ap_lAI,
6575       { "lAI", "s1ap.lAI",
6576         FT_NONE, BASE_NONE, NULL, 0,
6577         "s1ap.LAI", HFILL }},
6578     { &hf_s1ap_rAC,
6579       { "rAC", "s1ap.rAC",
6580         FT_BYTES, BASE_HEX, NULL, 0,
6581         "s1ap.RAC", HFILL }},
6582     { &hf_s1ap_rNC_ID,
6583       { "rNC-ID", "s1ap.rNC_ID",
6584         FT_UINT32, BASE_DEC, NULL, 0,
6585         "s1ap.RNC_ID", HFILL }},
6586     { &hf_s1ap_traceReference,
6587       { "traceReference", "s1ap.traceReference",
6588         FT_BYTES, BASE_HEX, NULL, 0,
6589         "s1ap.TraceReference", HFILL }},
6590     { &hf_s1ap_interfacesToTraceList,
6591       { "interfacesToTraceList", "s1ap.interfacesToTraceList",
6592         FT_UINT32, BASE_DEC, NULL, 0,
6593         "s1ap.InterfacesToTraceList", HFILL }},
6594     { &hf_s1ap_uE_S1AP_ID_pair,
6595       { "uE-S1AP-ID-pair", "s1ap.uE_S1AP_ID_pair",
6596         FT_NONE, BASE_NONE, NULL, 0,
6597         "s1ap.UE_S1AP_ID_pair", HFILL }},
6598     { &hf_s1ap_mME_UE_S1AP_ID,
6599       { "mME-UE-S1AP-ID", "s1ap.mME_UE_S1AP_ID",
6600         FT_UINT32, BASE_DEC, NULL, 0,
6601         "s1ap.MME_UE_S1AP_ID", HFILL }},
6602     { &hf_s1ap_eNB_UE_S1AP_ID,
6603       { "eNB-UE-S1AP-ID", "s1ap.eNB_UE_S1AP_ID",
6604         FT_UINT32, BASE_DEC, NULL, 0,
6605         "s1ap.ENB_UE_S1AP_ID", HFILL }},
6606     { &hf_s1ap_s_TMSI,
6607       { "s-TMSI", "s1ap.s_TMSI",
6608         FT_NONE, BASE_NONE, NULL, 0,
6609         "s1ap.S_TMSI", HFILL }},
6610     { &hf_s1ap_iMSI,
6611       { "iMSI", "s1ap.iMSI",
6612         FT_BYTES, BASE_HEX, NULL, 0,
6613         "s1ap.IMSI", HFILL }},
6614     { &hf_s1ap_protocolIEs,
6615       { "protocolIEs", "s1ap.protocolIEs",
6616         FT_UINT32, BASE_DEC, NULL, 0,
6617         "s1ap.ProtocolIE_Container", HFILL }},
6618     { &hf_s1ap_sourceeNodeB_ToTargeteNodeB_TransparentContainer,
6619       { "sourceeNodeB-ToTargeteNodeB-TransparentContainer", "s1ap.sourceeNodeB_ToTargeteNodeB_TransparentContainer",
6620         FT_NONE, BASE_NONE, NULL, 0,
6621         "s1ap.SourceeNodeB_ToTargeteNodeB_TransparentContainer", HFILL }},
6622     { &hf_s1ap_sourceRNC_ToTargetRNC_TransparentContainer,
6623       { "sourceRNC-ToTargetRNC-TransparentContainer", "s1ap.sourceRNC_ToTargetRNC_TransparentContainer",
6624         FT_BYTES, BASE_HEX, NULL, 0,
6625         "s1ap.SourceRNC_ToTargetRNC_TransparentContainer", HFILL }},
6626     { &hf_s1ap_sourceBSS_ToTargetBSS_TransparentContainer,
6627       { "sourceBSS-ToTargetBSS-TransparentContainer", "s1ap.sourceBSS_ToTargetBSS_TransparentContainer",
6628         FT_BYTES, BASE_HEX, NULL, 0,
6629         "s1ap.SourceBSS_ToTargetBSS_TransparentContainer", HFILL }},
6630     { &hf_s1ap_dL_transportLayerAddress,
6631       { "dL-transportLayerAddress", "s1ap.dL_transportLayerAddress",
6632         FT_BYTES, BASE_HEX, NULL, 0,
6633         "s1ap.TransportLayerAddress", HFILL }},
6634     { &hf_s1ap_dL_gTP_TEID,
6635       { "dL-gTP-TEID", "s1ap.dL_gTP_TEID",
6636         FT_BYTES, BASE_HEX, NULL, 0,
6637         "s1ap.GTP_TEID", HFILL }},
6638     { &hf_s1ap_targeteNodeB_ToSourceeNodeB_TransparentContainer,
6639       { "targeteNodeB-ToSourceeNodeB-TransparentContainer", "s1ap.targeteNodeB_ToSourceeNodeB_TransparentContainer",
6640         FT_NONE, BASE_NONE, NULL, 0,
6641         "s1ap.TargeteNodeB_ToSourceeNodeB_TransparentContainer", HFILL }},
6642     { &hf_s1ap_targetRNC_ToSourceRNC_TransparentContainer,
6643       { "targetRNC-ToSourceRNC-TransparentContainer", "s1ap.targetRNC_ToSourceRNC_TransparentContainer",
6644         FT_BYTES, BASE_HEX, NULL, 0,
6645         "s1ap.TargetRNC_ToSourceRNC_TransparentContainer", HFILL }},
6646     { &hf_s1ap_targetBSS_ToSourceBSS_TransparentContainer,
6647       { "targetBSS-ToSourceBSS-TransparentContainer", "s1ap.targetBSS_ToSourceBSS_TransparentContainer",
6648         FT_BYTES, BASE_HEX, NULL, 0,
6649         "s1ap.TargetBSS_ToSourceBSS_TransparentContainer", HFILL }},
6650     { &hf_s1ap_transportLayerAddress,
6651       { "transportLayerAddress", "s1ap.transportLayerAddress",
6652         FT_BYTES, BASE_HEX, NULL, 0,
6653         "s1ap.TransportLayerAddress", HFILL }},
6654     { &hf_s1ap_gTP_TEID,
6655       { "gTP-TEID", "s1ap.gTP_TEID",
6656         FT_BYTES, BASE_HEX, NULL, 0,
6657         "s1ap.GTP_TEID", HFILL }},
6658     { &hf_s1ap_sAE_BearerlevelQosParameters,
6659       { "sAE-BearerlevelQosParameters", "s1ap.sAE_BearerlevelQosParameters",
6660         FT_NONE, BASE_NONE, NULL, 0,
6661         "s1ap.SAE_BearerLevelQoSParameters", HFILL }},
6662     { &hf_s1ap_SAEBearerToBeSetupListBearerSUReq_item,
6663       { "Item", "s1ap.SAEBearerToBeSetupListBearerSUReq_item",
6664         FT_NONE, BASE_NONE, NULL, 0,
6665         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6666     { &hf_s1ap_sAE_BearerlevelQoSParameters,
6667       { "sAE-BearerlevelQoSParameters", "s1ap.sAE_BearerlevelQoSParameters",
6668         FT_NONE, BASE_NONE, NULL, 0,
6669         "s1ap.SAE_BearerLevelQoSParameters", HFILL }},
6670     { &hf_s1ap_SAEBearerSetupListBearerSURes_item,
6671       { "Item", "s1ap.SAEBearerSetupListBearerSURes_item",
6672         FT_NONE, BASE_NONE, NULL, 0,
6673         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6674     { &hf_s1ap_SAEBearerToBeModifiedListBearerModReq_item,
6675       { "Item", "s1ap.SAEBearerToBeModifiedListBearerModReq_item",
6676         FT_NONE, BASE_NONE, NULL, 0,
6677         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6678     { &hf_s1ap_sAE_BearerLevelQoSParameters,
6679       { "sAE-BearerLevelQoSParameters", "s1ap.sAE_BearerLevelQoSParameters",
6680         FT_NONE, BASE_NONE, NULL, 0,
6681         "s1ap.SAE_BearerLevelQoSParameters", HFILL }},
6682     { &hf_s1ap_SAEBearerModifyListBearerModRes_item,
6683       { "Item", "s1ap.SAEBearerModifyListBearerModRes_item",
6684         FT_NONE, BASE_NONE, NULL, 0,
6685         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6686     { &hf_s1ap_SAEBearerReleaseListBearerRelComp_item,
6687       { "Item", "s1ap.SAEBearerReleaseListBearerRelComp_item",
6688         FT_NONE, BASE_NONE, NULL, 0,
6689         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6690     { &hf_s1ap_SAEBearerToBeSetupListCtxtSUReq_item,
6691       { "Item", "s1ap.SAEBearerToBeSetupListCtxtSUReq_item",
6692         FT_NONE, BASE_NONE, NULL, 0,
6693         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6694     { &hf_s1ap_SAEBearerSetupListCtxtSURes_item,
6695       { "Item", "s1ap.SAEBearerSetupListCtxtSURes_item",
6696         FT_NONE, BASE_NONE, NULL, 0,
6697         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6698     { &hf_s1ap_TAIList_item,
6699       { "Item", "s1ap.TAIList_item",
6700         FT_NONE, BASE_NONE, NULL, 0,
6701         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6702     { &hf_s1ap_tAI,
6703       { "tAI", "s1ap.tAI",
6704         FT_NONE, BASE_NONE, NULL, 0,
6705         "s1ap.TAI", HFILL }},
6706     { &hf_s1ap_s1_Interface,
6707       { "s1-Interface", "s1ap.s1_Interface",
6708         FT_UINT32, BASE_DEC, VALS(s1ap_ResetAll_vals), 0,
6709         "s1ap.ResetAll", HFILL }},
6710     { &hf_s1ap_partOfS1_Interface,
6711       { "partOfS1-Interface", "s1ap.partOfS1_Interface",
6712         FT_UINT32, BASE_DEC, NULL, 0,
6713         "s1ap.UE_associatedLogicalS1_ConnectionListRes", HFILL }},
6714     { &hf_s1ap_UE_associatedLogicalS1_ConnectionListRes_item,
6715       { "Item", "s1ap.UE_associatedLogicalS1_ConnectionListRes_item",
6716         FT_NONE, BASE_NONE, NULL, 0,
6717         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6718     { &hf_s1ap_UE_associatedLogicalS1_ConnectionListResAck_item,
6719       { "Item", "s1ap.UE_associatedLogicalS1_ConnectionListResAck_item",
6720         FT_NONE, BASE_NONE, NULL, 0,
6721         "s1ap.ProtocolIE_SingleContainer", HFILL }},
6722     { &hf_s1ap_initiatingMessage,
6723       { "initiatingMessage", "s1ap.initiatingMessage",
6724         FT_NONE, BASE_NONE, NULL, 0,
6725         "s1ap.InitiatingMessage", HFILL }},
6726     { &hf_s1ap_successfulOutcome,
6727       { "successfulOutcome", "s1ap.successfulOutcome",
6728         FT_NONE, BASE_NONE, NULL, 0,
6729         "s1ap.SuccessfulOutcome", HFILL }},
6730     { &hf_s1ap_unsuccessfulOutcome,
6731       { "unsuccessfulOutcome", "s1ap.unsuccessfulOutcome",
6732         FT_NONE, BASE_NONE, NULL, 0,
6733         "s1ap.UnsuccessfulOutcome", HFILL }},
6734     { &hf_s1ap_initiatingMessagevalue,
6735       { "value", "s1ap.value",
6736         FT_NONE, BASE_NONE, NULL, 0,
6737         "s1ap.InitiatingMessage_value", HFILL }},
6738     { &hf_s1ap_successfulOutcome_value,
6739       { "value", "s1ap.value",
6740         FT_NONE, BASE_NONE, NULL, 0,
6741         "s1ap.SuccessfulOutcome_value", HFILL }},
6742     { &hf_s1ap_unsuccessfulOutcome_value,
6743       { "value", "s1ap.value",
6744         FT_NONE, BASE_NONE, NULL, 0,
6745         "s1ap.UnsuccessfulOutcome_value", HFILL }},
6746
6747 /*--- End of included file: packet-s1ap-hfarr.c ---*/
6748 #line 163 "packet-s1ap-template.c"
6749   };
6750
6751   /* List of subtrees */
6752   static gint *ett[] = {
6753                   &ett_s1ap,
6754
6755 /*--- Included file: packet-s1ap-ettarr.c ---*/
6756 #line 1 "packet-s1ap-ettarr.c"
6757     &ett_s1ap_PrivateIE_ID,
6758     &ett_s1ap_ProtocolIE_Container,
6759     &ett_s1ap_ProtocolIE_Field,
6760     &ett_s1ap_ProtocolIE_ContainerPair,
6761     &ett_s1ap_ProtocolIE_FieldPair,
6762     &ett_s1ap_ProtocolIE_ContainerList,
6763     &ett_s1ap_ProtocolIE_ContainerPairList,
6764     &ett_s1ap_ProtocolExtensionContainer,
6765     &ett_s1ap_ProtocolExtensionField,
6766     &ett_s1ap_PrivateIE_Container,
6767     &ett_s1ap_PrivateIE_Field,
6768     &ett_s1ap_AllocationRetentionPriority,
6769     &ett_s1ap_AggregateMaximumBitrate,
6770     &ett_s1ap_Bearers_SubjectToStatusTransferList,
6771     &ett_s1ap_Bearers_SubjectToStatusTransfer_Item,
6772     &ett_s1ap_BPLMNs,
6773     &ett_s1ap_Cause,
6774     &ett_s1ap_CGI,
6775     &ett_s1ap_COUNTvalue,
6776     &ett_s1ap_CriticalityDiagnostics,
6777     &ett_s1ap_CriticalityDiagnostics_IE_List,
6778     &ett_s1ap_CriticalityDiagnostics_IE_Item,
6779     &ett_s1ap_ENB_StatusTransfer_TransparentContainer,
6780     &ett_s1ap_EPLMNs,
6781     &ett_s1ap_ForbiddenTAs,
6782     &ett_s1ap_ForbiddenTAs_Item,
6783     &ett_s1ap_ForbiddenTACs,
6784     &ett_s1ap_ForbiddenLAs,
6785     &ett_s1ap_ForbiddenLAs_Item,
6786     &ett_s1ap_ForbiddenLACs,
6787     &ett_s1ap_GUMMEI,
6788     &ett_s1ap_HandoverRestrictionList,
6789     &ett_s1ap_InterfacesToTraceList,
6790     &ett_s1ap_InterfacesToTraceItem,
6791     &ett_s1ap_LAI,
6792     &ett_s1ap_RequestType,
6793     &ett_s1ap_SAEBearerInformationList,
6794     &ett_s1ap_SAEBearerInformationListItem,
6795     &ett_s1ap_SAEBearerList,
6796     &ett_s1ap_SAEBearerItem,
6797     &ett_s1ap_SAE_BearerLevelQoSParameters,
6798     &ett_s1ap_SAE_Bearer_Type,
6799     &ett_s1ap_SAE_GBR_Bearer,
6800     &ett_s1ap_SAE_non_GBR_Bearer,
6801     &ett_s1ap_SecurityInfo,
6802     &ett_s1ap_SecurityInformation,
6803     &ett_s1ap_SourceID,
6804     &ett_s1ap_SourceeNB_ID,
6805     &ett_s1ap_SourceeNodeB_ToTargeteNodeB_TransparentContainer,
6806     &ett_s1ap_ServedPLMNs,
6807     &ett_s1ap_SupportedTAs,
6808     &ett_s1ap_SupportedTAs_Item,
6809     &ett_s1ap_S_TMSI,
6810     &ett_s1ap_TAI,
6811     &ett_s1ap_TargetID,
6812     &ett_s1ap_TargeteNB_ID,
6813     &ett_s1ap_TargetRNC_ID,
6814     &ett_s1ap_TargeteNodeB_ToSourceeNodeB_TransparentContainer,
6815     &ett_s1ap_TraceActivation,
6816     &ett_s1ap_UE_S1AP_IDs,
6817     &ett_s1ap_UE_S1AP_ID_pair,
6818     &ett_s1ap_UE_associatedLogicalS1_ConnectionItem,
6819     &ett_s1ap_UEPagingID,
6820     &ett_s1ap_HandoverRequired,
6821     &ett_s1ap_Intra_LTEHOInformationReq,
6822     &ett_s1ap_LTEtoUTRANHOInformationReq,
6823     &ett_s1ap_LTEtoGERANHOInformationReq,
6824     &ett_s1ap_HandoverCommand,
6825     &ett_s1ap_SAEBearerDataForwardingItem,
6826     &ett_s1ap_SAEBearerReleaseItemHOCmd,
6827     &ett_s1ap_Intra_LTEHOInformationRes,
6828     &ett_s1ap_LTEtoUTRANHOInformationRes,
6829     &ett_s1ap_LTEtoGERANHOInformationRes,
6830     &ett_s1ap_HandoverPreparationFailure,
6831     &ett_s1ap_HandoverRequest,
6832     &ett_s1ap_SAEBearerToBeSetupItemHOReq,
6833     &ett_s1ap_UTRANtoLTEHOInformationReq,
6834     &ett_s1ap_GERANtoLTEHOInformationReq,
6835     &ett_s1ap_HandoverRequestAcknowledge,
6836     &ett_s1ap_SAEBearerAdmittedItem,
6837     &ett_s1ap_SAEBearerFailedToSetupItemHOReqAck,
6838     &ett_s1ap_UTRANtoLTEHOInformationRes,
6839     &ett_s1ap_GERANtoLTEHOInformationRes,
6840     &ett_s1ap_HandoverFailure,
6841     &ett_s1ap_HandoverNotify,
6842     &ett_s1ap_PathSwitchRequest,
6843     &ett_s1ap_SAEBearerToBeSwitchedDLItem,
6844     &ett_s1ap_PathSwitchRequestAcknowledge,
6845     &ett_s1ap_SAEBearerToBeSwitchedULItem,
6846     &ett_s1ap_PathSwitchRequestFailure,
6847     &ett_s1ap_HandoverCancel,
6848     &ett_s1ap_HandoverCancelAcknowledge,
6849     &ett_s1ap_SAEBearerSetupRequest,
6850     &ett_s1ap_SAEBearerToBeSetupListBearerSUReq,
6851     &ett_s1ap_SAEBearerToBeSetupItemBearerSUReq,
6852     &ett_s1ap_SAEBearerSetupResponse,
6853     &ett_s1ap_SAEBearerSetupListBearerSURes,
6854     &ett_s1ap_SAEBearerSetupItemBearerSURes,
6855     &ett_s1ap_SAEBearerModifyRequest,
6856     &ett_s1ap_SAEBearerToBeModifiedListBearerModReq,
6857     &ett_s1ap_SAEBearerToBeModifiedItemBearerModReq,
6858     &ett_s1ap_SAEBearerModifyResponse,
6859     &ett_s1ap_SAEBearerModifyListBearerModRes,
6860     &ett_s1ap_SAEBearerModifyItemBearerModRes,
6861     &ett_s1ap_SAEBearerReleaseCommand,
6862     &ett_s1ap_SAEBearerReleaseResponse,
6863     &ett_s1ap_SAEBearerReleaseListBearerRelComp,
6864     &ett_s1ap_SAEBearerReleaseItemBearerRelComp,
6865     &ett_s1ap_SAEBearerReleaseRequest,
6866     &ett_s1ap_InitialContextSetupRequest,
6867     &ett_s1ap_UEContextReleaseRequest,
6868     &ett_s1ap_SAEBearerToBeSetupListCtxtSUReq,
6869     &ett_s1ap_SAEBearerToBeSetupItemCtxtSUReq,
6870     &ett_s1ap_InitialContextSetupResponse,
6871     &ett_s1ap_SAEBearerSetupListCtxtSURes,
6872     &ett_s1ap_SAEBearerSetupItemCtxtSURes,
6873     &ett_s1ap_InitialContextSetupFailure,
6874     &ett_s1ap_Paging,
6875     &ett_s1ap_TAIList,
6876     &ett_s1ap_TAIItem,
6877     &ett_s1ap_UEContextReleaseCommand,
6878     &ett_s1ap_UEContextReleaseComplete,
6879     &ett_s1ap_UEContextModificationRequest,
6880     &ett_s1ap_UEContextModificationResponse,
6881     &ett_s1ap_UEContextModificationFailure,
6882     &ett_s1ap_DownlinkNASTransport,
6883     &ett_s1ap_InitialUEMessage,
6884     &ett_s1ap_UplinkNASTransport,
6885     &ett_s1ap_NASNonDeliveryIndication,
6886     &ett_s1ap_Reset,
6887     &ett_s1ap_ResetType,
6888     &ett_s1ap_UE_associatedLogicalS1_ConnectionListRes,
6889     &ett_s1ap_ResetAcknowledge,
6890     &ett_s1ap_UE_associatedLogicalS1_ConnectionListResAck,
6891     &ett_s1ap_ErrorIndication,
6892     &ett_s1ap_S1SetupRequest,
6893     &ett_s1ap_S1SetupResponse,
6894     &ett_s1ap_S1SetupFailure,
6895     &ett_s1ap_ENBConfigurationUpdate,
6896     &ett_s1ap_ENBConfigurationUpdateAcknowledge,
6897     &ett_s1ap_ENBConfigurationUpdateFailure,
6898     &ett_s1ap_MMEConfigurationUpdate,
6899     &ett_s1ap_MMEConfigurationUpdateAcknowledge,
6900     &ett_s1ap_MMEConfigurationUpdateFailure,
6901     &ett_s1ap_DownlinkS1cdma2000tunneling,
6902     &ett_s1ap_UplinkS1cdma2000tunneling,
6903     &ett_s1ap_UECapabilityInfoIndication,
6904     &ett_s1ap_ENBStatusTransfer,
6905     &ett_s1ap_MMEStatusTransfer,
6906     &ett_s1ap_TraceStart,
6907     &ett_s1ap_TraceFailureIndication,
6908     &ett_s1ap_DeactivateTrace,
6909     &ett_s1ap_LocationReportingControl,
6910     &ett_s1ap_LocationReportingFailureIndication,
6911     &ett_s1ap_LocationReport,
6912     &ett_s1ap_S1AP_PDU,
6913     &ett_s1ap_InitiatingMessage,
6914     &ett_s1ap_SuccessfulOutcome,
6915     &ett_s1ap_UnsuccessfulOutcome,
6916
6917 /*--- End of included file: packet-s1ap-ettarr.c ---*/
6918 #line 169 "packet-s1ap-template.c"
6919   };
6920
6921
6922   /* Register protocol */
6923   proto_s1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
6924   /* Register fields and subtrees */
6925   proto_register_field_array(proto_s1ap, hf, array_length(hf));
6926   proto_register_subtree_array(ett, array_length(ett));
6927  
6928   /* Register dissector */
6929   register_dissector("s1ap", dissect_s1ap, proto_s1ap);
6930   s1ap_handle = find_dissector("s1ap");
6931
6932   /* Register dissector tables */
6933   s1ap_ies_dissector_table = register_dissector_table("s1ap.ies", "S1AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
6934   s1ap_ies_p1_dissector_table = register_dissector_table("s1ap.ies.pair.first", "S1AP-PROTOCOL-IES-PAIR FirstValue", FT_UINT32, BASE_DEC);
6935   s1ap_ies_p2_dissector_table = register_dissector_table("s1ap.ies.pair.second", "S1AP-PROTOCOL-IES-PAIR SecondValue", FT_UINT32, BASE_DEC);
6936   s1ap_extension_dissector_table = register_dissector_table("s1ap.extension", "S1AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
6937   s1ap_proc_imsg_dissector_table = register_dissector_table("s1ap.proc.imsg", "S1AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC);
6938   s1ap_proc_sout_dissector_table = register_dissector_table("s1ap.proc.sout", "S1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC);
6939   s1ap_proc_uout_dissector_table = register_dissector_table("s1ap.proc.uout", "S1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC);
6940   s1ap_proc_out_dissector_table = register_dissector_table("s1ap.proc.out", "S1AP-ELEMENTARY-PROCEDURE Outcome", FT_UINT32, BASE_DEC);
6941
6942
6943 }
6944
6945
6946 /*--- proto_reg_handoff_s1ap ---------------------------------------*/
6947 void
6948 proto_reg_handoff_s1ap(void)
6949 {
6950
6951         dissector_add("sctp.port", 0, s1ap_handle);
6952
6953
6954 /*--- Included file: packet-s1ap-dis-tab.c ---*/
6955 #line 1 "packet-s1ap-dis-tab.c"
6956   dissector_add("s1ap.ies", id_MME_UE_S1AP_ID, new_create_dissector_handle(dissect_MME_UE_S1AP_ID_PDU, proto_s1ap));
6957   dissector_add("s1ap.ies", id_HandoverType, new_create_dissector_handle(dissect_HandoverType_PDU, proto_s1ap));
6958   dissector_add("s1ap.ies", id_Cause, new_create_dissector_handle(dissect_Cause_PDU, proto_s1ap));
6959   dissector_add("s1ap.ies", id_SourceID, new_create_dissector_handle(dissect_SourceID_PDU, proto_s1ap));
6960   dissector_add("s1ap.ies", id_TargetID, new_create_dissector_handle(dissect_TargetID_PDU, proto_s1ap));
6961   dissector_add("s1ap.ies", id_Intra_LTEHOInformationReq, new_create_dissector_handle(dissect_Intra_LTEHOInformationReq_PDU, proto_s1ap));
6962   dissector_add("s1ap.ies", id_LTEtoUTRANHOInformationReq, new_create_dissector_handle(dissect_LTEtoUTRANHOInformationReq_PDU, proto_s1ap));
6963   dissector_add("s1ap.ies", id_LTEtoGERANHOInformationReq, new_create_dissector_handle(dissect_LTEtoGERANHOInformationReq_PDU, proto_s1ap));
6964   dissector_add("s1ap.ies", id_eNB_UE_S1AP_ID, new_create_dissector_handle(dissect_ENB_UE_S1AP_ID_PDU, proto_s1ap));
6965   dissector_add("s1ap.ies", id_Intra_LTEHOInformationRes, new_create_dissector_handle(dissect_Intra_LTEHOInformationRes_PDU, proto_s1ap));
6966   dissector_add("s1ap.ies", id_LTEtoUTRANHOInformationRes, new_create_dissector_handle(dissect_LTEtoUTRANHOInformationRes_PDU, proto_s1ap));
6967   dissector_add("s1ap.ies", id_LTEtoGERANHOInformationRes, new_create_dissector_handle(dissect_LTEtoGERANHOInformationRes_PDU, proto_s1ap));
6968   dissector_add("s1ap.ies", id_SAEBearerSubjecttoDataForwardingList, new_create_dissector_handle(dissect_SAEBearerSubjecttoDataForwardingList_PDU, proto_s1ap));
6969   dissector_add("s1ap.ies", id_SAEBearertoReleaseListHOCmd, new_create_dissector_handle(dissect_SAEBearertoReleaseListHOCmd_PDU, proto_s1ap));
6970   dissector_add("s1ap.ies", id_SAEBearerDataForwardingItem, new_create_dissector_handle(dissect_SAEBearerDataForwardingItem_PDU, proto_s1ap));
6971   dissector_add("s1ap.ies", id_SAEBearerReleaseItemBearerRelComp, new_create_dissector_handle(dissect_SAEBearerReleaseItemBearerRelComp_PDU, proto_s1ap));
6972   dissector_add("s1ap.ies", id_SAEBearerToBeSetupListBearerSUReq, new_create_dissector_handle(dissect_SAEBearerToBeSetupListBearerSUReq_PDU, proto_s1ap));
6973   dissector_add("s1ap.ies", id_SAEBearerToBeSetupItemBearerSUReq, new_create_dissector_handle(dissect_SAEBearerToBeSetupItemBearerSUReq_PDU, proto_s1ap));
6974   dissector_add("s1ap.ies", id_SAEBearerAdmittedList, new_create_dissector_handle(dissect_SAEBearerAdmittedList_PDU, proto_s1ap));
6975   dissector_add("s1ap.ies", id_SAEBearerFailedToSetupListHOReqAck, new_create_dissector_handle(dissect_SAEBearerFailedtoSetupListHOReqAck_PDU, proto_s1ap));
6976   dissector_add("s1ap.ies", id_SAEBearerAdmittedItem, new_create_dissector_handle(dissect_SAEBearerAdmittedItem_PDU, proto_s1ap));
6977   dissector_add("s1ap.ies", id_SAEBearerFailedtoSetupItemHOReqAck, new_create_dissector_handle(dissect_SAEBearerFailedToSetupItemHOReqAck_PDU, proto_s1ap));
6978   dissector_add("s1ap.ies", id_SAEBearerToBeSwitchedDLList, new_create_dissector_handle(dissect_SAEBearerToBeSwitchedDLList_PDU, proto_s1ap));
6979   dissector_add("s1ap.ies", id_SAEBearerToBeSwitchedDLItem, new_create_dissector_handle(dissect_SAEBearerToBeSwitchedDLItem_PDU, proto_s1ap));
6980   dissector_add("s1ap.ies", id_SAEBearerToBeSetupListCtxtSUReq, new_create_dissector_handle(dissect_SAEBearerToBeSetupListCtxtSUReq_PDU, proto_s1ap));
6981   dissector_add("s1ap.ies", id_TraceActivation, new_create_dissector_handle(dissect_TraceActivation_PDU, proto_s1ap));
6982   dissector_add("s1ap.ies", id_NAS_PDU, new_create_dissector_handle(dissect_NAS_PDU_PDU, proto_s1ap));
6983   dissector_add("s1ap.ies", id_SAEBearerToBeSetupItemHOReq, new_create_dissector_handle(dissect_SAEBearerToBeSetupItemHOReq_PDU, proto_s1ap));
6984   dissector_add("s1ap.ies", id_SAEBearerSetupListBearerSURes, new_create_dissector_handle(dissect_SAEBearerSetupListBearerSURes_PDU, proto_s1ap));
6985   dissector_add("s1ap.ies", id_SAEBearerFailedToSetupListBearerSURes, new_create_dissector_handle(dissect_SAEBearerList_PDU, proto_s1ap));
6986   dissector_add("s1ap.ies", id_SAEBearerToBeModifiedListBearerModReq, new_create_dissector_handle(dissect_SAEBearerToBeModifiedListBearerModReq_PDU, proto_s1ap));
6987   dissector_add("s1ap.ies", id_SAEBearerModifyListBearerModRes, new_create_dissector_handle(dissect_SAEBearerModifyListBearerModRes_PDU, proto_s1ap));
6988   dissector_add("s1ap.ies", id_SAEBearerFailedToModifyList, new_create_dissector_handle(dissect_SAEBearerList_PDU, proto_s1ap));
6989   dissector_add("s1ap.ies", id_SAEBearerToBeReleasedList, new_create_dissector_handle(dissect_SAEBearerList_PDU, proto_s1ap));
6990   dissector_add("s1ap.ies", id_SAEBearerFailedToReleaseList, new_create_dissector_handle(dissect_SAEBearerList_PDU, proto_s1ap));
6991   dissector_add("s1ap.ies", id_SAEBearerItem, new_create_dissector_handle(dissect_SAEBearerItem_PDU, proto_s1ap));
6992   dissector_add("s1ap.ies", id_SAEBearerToBeModifiedItemBearerModReq, new_create_dissector_handle(dissect_SAEBearerToBeModifiedItemBearerModReq_PDU, proto_s1ap));
6993   dissector_add("s1ap.ies", id_SAEBearerModifyItemBearerModRes, new_create_dissector_handle(dissect_SAEBearerModifyItemBearerModRes_PDU, proto_s1ap));
6994   dissector_add("s1ap.ies", id_SAEBearerSetupItemBearerSURes, new_create_dissector_handle(dissect_SAEBearerSetupItemBearerSURes_PDU, proto_s1ap));
6995   dissector_add("s1ap.ies", id_Security_Information, new_create_dissector_handle(dissect_SecurityInformation_PDU, proto_s1ap));
6996   dissector_add("s1ap.ies", id_HandoverRestrictionList, new_create_dissector_handle(dissect_HandoverRestrictionList_PDU, proto_s1ap));
6997   dissector_add("s1ap.ies", id_pagingDRX, new_create_dissector_handle(dissect_PagingDRX_PDU, proto_s1ap));
6998   dissector_add("s1ap.ies", id_pagingCause, new_create_dissector_handle(dissect_PagingCause_PDU, proto_s1ap));
6999   dissector_add("s1ap.ies", id_TAIList, new_create_dissector_handle(dissect_TAIList_PDU, proto_s1ap));
7000   dissector_add("s1ap.ies", id_TAIItem, new_create_dissector_handle(dissect_TAIItem_PDU, proto_s1ap));
7001   dissector_add("s1ap.ies", id_SAEBearerFailedToSetupListCtxtSURes, new_create_dissector_handle(dissect_SAEBearerList_PDU, proto_s1ap));
7002   dissector_add("s1ap.ies", id_SAEBearerReleaseItemHOCmd, new_create_dissector_handle(dissect_SAEBearerReleaseItemHOCmd_PDU, proto_s1ap));
7003   dissector_add("s1ap.ies", id_SAEBearerSetupItemCtxtSURes, new_create_dissector_handle(dissect_SAEBearerSetupItemCtxtSURes_PDU, proto_s1ap));
7004   dissector_add("s1ap.ies", id_SAEBearerSetupListCtxtSURes, new_create_dissector_handle(dissect_SAEBearerSetupListCtxtSURes_PDU, proto_s1ap));
7005   dissector_add("s1ap.ies", id_SAEBearerToBeSetupItemCtxtSUReq, new_create_dissector_handle(dissect_SAEBearerToBeSetupItemCtxtSUReq_PDU, proto_s1ap));
7006   dissector_add("s1ap.ies", id_SAEBearerToBeSetupListHOReq, new_create_dissector_handle(dissect_SAEBearerToBeSetupListHOReq_PDU, proto_s1ap));
7007   dissector_add("s1ap.ies", id_GERANtoLTEHOInformationReq, new_create_dissector_handle(dissect_GERANtoLTEHOInformationReq_PDU, proto_s1ap));
7008   dissector_add("s1ap.ies", id_GERANtoLTEHOInformationRes, new_create_dissector_handle(dissect_GERANtoLTEHOInformationRes_PDU, proto_s1ap));
7009   dissector_add("s1ap.ies", id_UTRANtoLTEHOInformationReq, new_create_dissector_handle(dissect_UTRANtoLTEHOInformationReq_PDU, proto_s1ap));
7010   dissector_add("s1ap.ies", id_UTRANtoLTEHOInformationRes, new_create_dissector_handle(dissect_UTRANtoLTEHOInformationRes_PDU, proto_s1ap));
7011   dissector_add("s1ap.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_s1ap));
7012   dissector_add("s1ap.ies", id_ENB_Global_ID, new_create_dissector_handle(dissect_ENB_Global_ID_PDU, proto_s1ap));
7013   dissector_add("s1ap.ies", id_eNBname, new_create_dissector_handle(dissect_ENBname_PDU, proto_s1ap));
7014   dissector_add("s1ap.ies", id_MMEname, new_create_dissector_handle(dissect_MMEname_PDU, proto_s1ap));
7015   dissector_add("s1ap.ies", id_ServedPLMNs, new_create_dissector_handle(dissect_ServedPLMNs_PDU, proto_s1ap));
7016   dissector_add("s1ap.ies", id_SupportedTAs, new_create_dissector_handle(dissect_SupportedTAs_PDU, proto_s1ap));
7017   dissector_add("s1ap.ies", id_TimeToWait, new_create_dissector_handle(dissect_TimeToWait_PDU, proto_s1ap));
7018   dissector_add("s1ap.ies", id_aggregateMaximumBitrate, new_create_dissector_handle(dissect_AggregateMaximumBitrate_PDU, proto_s1ap));
7019   dissector_add("s1ap.ies", id_TAI, new_create_dissector_handle(dissect_TAI_PDU, proto_s1ap));
7020   dissector_add("s1ap.ies", id_SAEBearerReleaseListBearerRelComp, new_create_dissector_handle(dissect_SAEBearerReleaseListBearerRelComp_PDU, proto_s1ap));
7021   dissector_add("s1ap.ies", id_cdma2000PDU, new_create_dissector_handle(dissect_Cdma2000PDU_PDU, proto_s1ap));
7022   dissector_add("s1ap.ies", id_cdma2000RATType, new_create_dissector_handle(dissect_Cdma2000RATType_PDU, proto_s1ap));
7023   dissector_add("s1ap.ies", id_cdma2000SectorID, new_create_dissector_handle(dissect_Cdma2000SectorID_PDU, proto_s1ap));
7024   dissector_add("s1ap.ies", id_SecurityInfo, new_create_dissector_handle(dissect_SecurityInfo_PDU, proto_s1ap));
7025   dissector_add("s1ap.ies", id_UERadioCapability, new_create_dissector_handle(dissect_UERadioCapability_PDU, proto_s1ap));
7026   dissector_add("s1ap.ies", id_GUMMEI_ID, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_s1ap));
7027   dissector_add("s1ap.ies", id_Direct_Forwarding_Path_Availability, new_create_dissector_handle(dissect_Direct_Forwarding_Path_Availability_PDU, proto_s1ap));
7028   dissector_add("s1ap.ies", id_UEIdentityIndexValue, new_create_dissector_handle(dissect_UEIdentityIndexValue_PDU, proto_s1ap));
7029   dissector_add("s1ap.ies", id_cdma2000HOStatus, new_create_dissector_handle(dissect_Cdma2000HOStatus_PDU, proto_s1ap));
7030   dissector_add("s1ap.ies", id_cdma2000HORequiredIndication, new_create_dissector_handle(dissect_Cdma2000HORequiredIndication_PDU, proto_s1ap));
7031   dissector_add("s1ap.ies", id_cdma2000OneXMEID, new_create_dissector_handle(dissect_Cdma2000OneXMEID_PDU, proto_s1ap));
7032   dissector_add("s1ap.ies", id_TraceReference, new_create_dissector_handle(dissect_TraceReference_PDU, proto_s1ap));
7033   dissector_add("s1ap.ies", id_RelativeMMECapacity, new_create_dissector_handle(dissect_RelativeMMECapacity_PDU, proto_s1ap));
7034   dissector_add("s1ap.ies", id_SourceMME_UE_S1AP_ID, new_create_dissector_handle(dissect_MME_UE_S1AP_ID_PDU, proto_s1ap));
7035   dissector_add("s1ap.ies", id_Bearers_SubjectToStatusTransfer_Item, new_create_dissector_handle(dissect_Bearers_SubjectToStatusTransfer_Item_PDU, proto_s1ap));
7036   dissector_add("s1ap.ies", id_eNB_StatusTransfer_TransparentContainer, new_create_dissector_handle(dissect_ENB_StatusTransfer_TransparentContainer_PDU, proto_s1ap));
7037   dissector_add("s1ap.ies", id_UE_associatedLogicalS1_ConnectionItem, new_create_dissector_handle(dissect_UE_associatedLogicalS1_ConnectionItem_PDU, proto_s1ap));
7038   dissector_add("s1ap.ies", id_ResetType, new_create_dissector_handle(dissect_ResetType_PDU, proto_s1ap));
7039   dissector_add("s1ap.ies", id_UE_associatedLogicalS1_ConnectionListResAck, new_create_dissector_handle(dissect_UE_associatedLogicalS1_ConnectionListResAck_PDU, proto_s1ap));
7040   dissector_add("s1ap.ies", id_SAEBearerToBeSwitchedULItem, new_create_dissector_handle(dissect_SAEBearerToBeSwitchedULItem_PDU, proto_s1ap));
7041   dissector_add("s1ap.ies", id_SAEBearerToBeSwitchedULList, new_create_dissector_handle(dissect_SAEBearerToBeSwitchedULList_PDU, proto_s1ap));
7042   dissector_add("s1ap.ies", id_S_TMSI, new_create_dissector_handle(dissect_S_TMSI_PDU, proto_s1ap));
7043   dissector_add("s1ap.ies", id_cdma2000OneXRAND, new_create_dissector_handle(dissect_Cdma2000OneXRAND_PDU, proto_s1ap));
7044   dissector_add("s1ap.ies", id_RequestType, new_create_dissector_handle(dissect_RequestType_PDU, proto_s1ap));
7045   dissector_add("s1ap.ies", id_UE_S1AP_IDs, new_create_dissector_handle(dissect_UE_S1AP_IDs_PDU, proto_s1ap));
7046   dissector_add("s1ap.ies", id_EUTRAN_CGI_ID, new_create_dissector_handle(dissect_EUTRAN_CGI_ID_PDU, proto_s1ap));
7047   dissector_add("s1ap.proc.imsg", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap));
7048   dissector_add("s1ap.proc.sout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap));
7049   dissector_add("s1ap.proc.uout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap));
7050   dissector_add("s1ap.proc.imsg", id_HandoverResourceAllocation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_s1ap));
7051   dissector_add("s1ap.proc.sout", id_HandoverResourceAllocation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_s1ap));
7052   dissector_add("s1ap.proc.uout", id_HandoverResourceAllocation, new_create_dissector_handle(dissect_HandoverFailure_PDU, proto_s1ap));
7053   dissector_add("s1ap.proc.imsg", id_HandoverNotification, new_create_dissector_handle(dissect_HandoverNotify_PDU, proto_s1ap));
7054   dissector_add("s1ap.proc.imsg", id_PathSwitchRequest, new_create_dissector_handle(dissect_PathSwitchRequest_PDU, proto_s1ap));
7055   dissector_add("s1ap.proc.sout", id_PathSwitchRequest, new_create_dissector_handle(dissect_PathSwitchRequestAcknowledge_PDU, proto_s1ap));
7056   dissector_add("s1ap.proc.uout", id_PathSwitchRequest, new_create_dissector_handle(dissect_PathSwitchRequestFailure_PDU, proto_s1ap));
7057   dissector_add("s1ap.proc.imsg", id_SAEBearerSetup, new_create_dissector_handle(dissect_SAEBearerSetupRequest_PDU, proto_s1ap));
7058   dissector_add("s1ap.proc.sout", id_SAEBearerSetup, new_create_dissector_handle(dissect_SAEBearerSetupResponse_PDU, proto_s1ap));
7059   dissector_add("s1ap.proc.imsg", id_SAEBearerModify, new_create_dissector_handle(dissect_SAEBearerModifyRequest_PDU, proto_s1ap));
7060   dissector_add("s1ap.proc.sout", id_SAEBearerModify, new_create_dissector_handle(dissect_SAEBearerModifyResponse_PDU, proto_s1ap));
7061   dissector_add("s1ap.proc.imsg", id_SAEBearerRelease, new_create_dissector_handle(dissect_SAEBearerReleaseCommand_PDU, proto_s1ap));
7062   dissector_add("s1ap.proc.sout", id_SAEBearerRelease, new_create_dissector_handle(dissect_SAEBearerReleaseResponse_PDU, proto_s1ap));
7063   dissector_add("s1ap.proc.imsg", id_SAEBearerReleaseRequest, new_create_dissector_handle(dissect_SAEBearerReleaseRequest_PDU, proto_s1ap));
7064   dissector_add("s1ap.proc.imsg", id_InitialContextSetup, new_create_dissector_handle(dissect_InitialContextSetupRequest_PDU, proto_s1ap));
7065   dissector_add("s1ap.proc.sout", id_InitialContextSetup, new_create_dissector_handle(dissect_InitialContextSetupResponse_PDU, proto_s1ap));
7066   dissector_add("s1ap.proc.uout", id_InitialContextSetup, new_create_dissector_handle(dissect_InitialContextSetupFailure_PDU, proto_s1ap));
7067   dissector_add("s1ap.proc.imsg", id_UEContextReleaseRequest, new_create_dissector_handle(dissect_UEContextReleaseRequest_PDU, proto_s1ap));
7068   dissector_add("s1ap.proc.imsg", id_Paging, new_create_dissector_handle(dissect_Paging_PDU, proto_s1ap));
7069   dissector_add("s1ap.proc.imsg", id_downlinkNASTransport, new_create_dissector_handle(dissect_DownlinkNASTransport_PDU, proto_s1ap));
7070   dissector_add("s1ap.proc.imsg", id_initialUEMessage, new_create_dissector_handle(dissect_InitialUEMessage_PDU, proto_s1ap));
7071   dissector_add("s1ap.proc.imsg", id_uplinkNASTransport, new_create_dissector_handle(dissect_UplinkNASTransport_PDU, proto_s1ap));
7072   dissector_add("s1ap.proc.imsg", id_NASNonDeliveryIndication, new_create_dissector_handle(dissect_NASNonDeliveryIndication_PDU, proto_s1ap));
7073   dissector_add("s1ap.proc.imsg", id_HandoverCancel, new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_s1ap));
7074   dissector_add("s1ap.proc.sout", id_HandoverCancel, new_create_dissector_handle(dissect_HandoverCancelAcknowledge_PDU, proto_s1ap));
7075   dissector_add("s1ap.proc.imsg", id_Reset, new_create_dissector_handle(dissect_Reset_PDU, proto_s1ap));
7076   dissector_add("s1ap.proc.sout", id_Reset, new_create_dissector_handle(dissect_ResetAcknowledge_PDU, proto_s1ap));
7077   dissector_add("s1ap.proc.imsg", id_ErrorIndication, new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_s1ap));
7078   dissector_add("s1ap.proc.imsg", id_S1Setup, new_create_dissector_handle(dissect_S1SetupRequest_PDU, proto_s1ap));
7079   dissector_add("s1ap.proc.sout", id_S1Setup, new_create_dissector_handle(dissect_S1SetupResponse_PDU, proto_s1ap));
7080   dissector_add("s1ap.proc.uout", id_S1Setup, new_create_dissector_handle(dissect_S1SetupFailure_PDU, proto_s1ap));
7081   dissector_add("s1ap.proc.imsg", id_DownlinkS1cdma2000tunneling, new_create_dissector_handle(dissect_DownlinkS1cdma2000tunneling_PDU, proto_s1ap));
7082   dissector_add("s1ap.proc.imsg", id_ENBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_s1ap));
7083   dissector_add("s1ap.proc.sout", id_ENBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_s1ap));
7084   dissector_add("s1ap.proc.uout", id_ENBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_s1ap));
7085   dissector_add("s1ap.proc.imsg", id_MMEConfigurationUpdate, new_create_dissector_handle(dissect_MMEConfigurationUpdate_PDU, proto_s1ap));
7086   dissector_add("s1ap.proc.sout", id_MMEConfigurationUpdate, new_create_dissector_handle(dissect_MMEConfigurationUpdateAcknowledge_PDU, proto_s1ap));
7087   dissector_add("s1ap.proc.uout", id_MMEConfigurationUpdate, new_create_dissector_handle(dissect_MMEConfigurationUpdateFailure_PDU, proto_s1ap));
7088   dissector_add("s1ap.proc.imsg", id_UplinkS1cdma2000tunneling, new_create_dissector_handle(dissect_UplinkS1cdma2000tunneling_PDU, proto_s1ap));
7089   dissector_add("s1ap.proc.imsg", id_UEContextModification, new_create_dissector_handle(dissect_UEContextModificationRequest_PDU, proto_s1ap));
7090   dissector_add("s1ap.proc.sout", id_UEContextModification, new_create_dissector_handle(dissect_UEContextModificationResponse_PDU, proto_s1ap));
7091   dissector_add("s1ap.proc.uout", id_UEContextModification, new_create_dissector_handle(dissect_UEContextModificationFailure_PDU, proto_s1ap));
7092   dissector_add("s1ap.proc.imsg", id_UECapabilityInfoIndication, new_create_dissector_handle(dissect_UECapabilityInfoIndication_PDU, proto_s1ap));
7093   dissector_add("s1ap.proc.imsg", id_UEContextRelease, new_create_dissector_handle(dissect_UEContextReleaseCommand_PDU, proto_s1ap));
7094   dissector_add("s1ap.proc.sout", id_UEContextRelease, new_create_dissector_handle(dissect_UEContextReleaseComplete_PDU, proto_s1ap));
7095   dissector_add("s1ap.proc.imsg", id_eNBStatusTransfer, new_create_dissector_handle(dissect_ENBStatusTransfer_PDU, proto_s1ap));
7096   dissector_add("s1ap.proc.imsg", id_MMEStatusTransfer, new_create_dissector_handle(dissect_MMEStatusTransfer_PDU, proto_s1ap));
7097   dissector_add("s1ap.proc.imsg", id_DeactivateTrace, new_create_dissector_handle(dissect_DeactivateTrace_PDU, proto_s1ap));
7098   dissector_add("s1ap.proc.imsg", id_TraceStart, new_create_dissector_handle(dissect_TraceStart_PDU, proto_s1ap));
7099   dissector_add("s1ap.proc.imsg", id_TraceFailureIndication, new_create_dissector_handle(dissect_TraceFailureIndication_PDU, proto_s1ap));
7100   dissector_add("s1ap.proc.imsg", id_LocationReportingControl, new_create_dissector_handle(dissect_LocationReportingControl_PDU, proto_s1ap));
7101   dissector_add("s1ap.proc.imsg", id_LocationReportingFailureIndication, new_create_dissector_handle(dissect_LocationReportingFailureIndication_PDU, proto_s1ap));
7102   dissector_add("s1ap.proc.imsg", id_LocationReport, new_create_dissector_handle(dissect_LocationReport_PDU, proto_s1ap));
7103
7104
7105 /*--- End of included file: packet-s1ap-dis-tab.c ---*/
7106 #line 204 "packet-s1ap-template.c"
7107 }
7108
7109