1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -p hnbap -c ./hnbap.cnf -s ./packet-hnbap-template -D . -O ../../epan/dissectors HNBAP-CommonDataTypes.asn HNBAP-Constants.asn HNBAP-Containers.asn HNBAP-IEs.asn HNBAP-PDU-Contents.asn HNBAP-PDU-Descriptions.asn */
6 /* Input file: packet-hnbap-template.c */
8 #line 1 "../../asn1/hnbap/packet-hnbap-template.c"
9 /* packet-hnbap-template.c
10 * Routines for UMTS Node B Application Part(HNBAP) packet dissection
11 * Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com>
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
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.
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.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
33 * Ref: 3GPP TS 25.469 version 8.4.0 Release 8
41 #include <epan/packet.h>
42 #include <epan/sctpppids.h>
43 #include <epan/asn1.h>
44 #include <epan/prefs.h>
46 #include "packet-per.h"
49 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
50 #pragma warning(disable:4146)
53 #define PNAME "UTRAN Iuh interface HNBAP signalling"
54 #define PSNAME "HNBAP"
55 #define PFNAME "hnbap"
56 /* Dissector will use SCTP PPID 20 or SCTP port. IANA assigned port = 29169*/
57 #define SCTP_PORT_HNBAP 29169
60 /*--- Included file: packet-hnbap-val.h ---*/
61 #line 1 "../../asn1/hnbap/packet-hnbap-val.h"
62 #define maxPrivateIEs 65535
63 #define maxProtocolExtensions 65535
64 #define maxProtocolIEs 65535
65 #define maxNrOfErrors 256
66 #define maxnoofRABs 256
67 #define maxnoofNeighbours 32
68 #define maxnoofIurhAddresses 3
70 typedef enum _ProcedureCode_enum
{
72 id_HNBDe_Register
= 2,
75 id_ErrorIndication
= 5,
76 id_privateMessage
= 6,
77 id_CSGMembershipUpdate
= 7,
79 id_HNBConfigTransfer
= 10,
80 id_RelocationComplete
= 11
83 typedef enum _ProtocolIE_ID_enum
{
85 id_CriticalityDiagnostics
= 2,
91 id_HNB_Location_Information
= 8,
95 id_Registration_Cause
= 12,
96 id_UE_Capabilities
= 13,
100 id_HNB_Internet_Information
= 17,
101 id_HNB_Cell_Access_Mode
= 18,
102 id_MuxPortNumber
= 19,
103 id_Service_Area_For_Broadcast
= 20,
104 id_CSGMembershipStatus
= 21,
106 id_HNBConfigInfo
= 23,
107 id_AccessResult
= 25,
108 id_Update_cause
= 26,
109 id_NeighbourInfoList
= 27,
110 id_NeighbourInfoRequestList
= 28,
111 id_Iurh_Signalling_TNL_Address
= 29,
113 id_HNB_Cell_Identifier
= 31
114 } ProtocolIE_ID_enum
;
116 /*--- End of included file: packet-hnbap-val.h ---*/
117 #line 52 "../../asn1/hnbap/packet-hnbap-template.c"
119 /* Initialize the protocol and registered fields */
120 static int proto_hnbap
= -1;
123 /*--- Included file: packet-hnbap-hf.c ---*/
124 #line 1 "../../asn1/hnbap/packet-hnbap-hf.c"
125 static int hf_hnbap_BackoffTimer_PDU
= -1; /* BackoffTimer */
126 static int hf_hnbap_Cause_PDU
= -1; /* Cause */
127 static int hf_hnbap_CellIdentity_PDU
= -1; /* CellIdentity */
128 static int hf_hnbap_Context_ID_PDU
= -1; /* Context_ID */
129 static int hf_hnbap_CriticalityDiagnostics_PDU
= -1; /* CriticalityDiagnostics */
130 static int hf_hnbap_CSG_ID_PDU
= -1; /* CSG_ID */
131 static int hf_hnbap_CSGMembershipStatus_PDU
= -1; /* CSGMembershipStatus */
132 static int hf_hnbap_HNB_Cell_Access_Mode_PDU
= -1; /* HNB_Cell_Access_Mode */
133 static int hf_hnbap_HNB_Location_Information_PDU
= -1; /* HNB_Location_Information */
134 static int hf_hnbap_HNB_Identity_PDU
= -1; /* HNB_Identity */
135 static int hf_hnbap_IP_Address_PDU
= -1; /* IP_Address */
136 static int hf_hnbap_LAC_PDU
= -1; /* LAC */
137 static int hf_hnbap_MuxPortNumber_PDU
= -1; /* MuxPortNumber */
138 static int hf_hnbap_NeighbourInfoList_PDU
= -1; /* NeighbourInfoList */
139 static int hf_hnbap_NeighbourInfoRequestList_PDU
= -1; /* NeighbourInfoRequestList */
140 static int hf_hnbap_PLMNidentity_PDU
= -1; /* PLMNidentity */
141 static int hf_hnbap_PSC_PDU
= -1; /* PSC */
142 static int hf_hnbap_RABList_PDU
= -1; /* RABList */
143 static int hf_hnbap_RAC_PDU
= -1; /* RAC */
144 static int hf_hnbap_Registration_Cause_PDU
= -1; /* Registration_Cause */
145 static int hf_hnbap_RNC_ID_PDU
= -1; /* RNC_ID */
146 static int hf_hnbap_SAC_PDU
= -1; /* SAC */
147 static int hf_hnbap_UE_Capabilities_PDU
= -1; /* UE_Capabilities */
148 static int hf_hnbap_UE_Identity_PDU
= -1; /* UE_Identity */
149 static int hf_hnbap_Update_cause_PDU
= -1; /* Update_cause */
150 static int hf_hnbap_HNBRegisterRequest_PDU
= -1; /* HNBRegisterRequest */
151 static int hf_hnbap_HNBRegisterAccept_PDU
= -1; /* HNBRegisterAccept */
152 static int hf_hnbap_HNBRegisterReject_PDU
= -1; /* HNBRegisterReject */
153 static int hf_hnbap_HNBDe_Register_PDU
= -1; /* HNBDe_Register */
154 static int hf_hnbap_UERegisterRequest_PDU
= -1; /* UERegisterRequest */
155 static int hf_hnbap_UERegisterAccept_PDU
= -1; /* UERegisterAccept */
156 static int hf_hnbap_UERegisterReject_PDU
= -1; /* UERegisterReject */
157 static int hf_hnbap_UEDe_Register_PDU
= -1; /* UEDe_Register */
158 static int hf_hnbap_CSGMembershipUpdate_PDU
= -1; /* CSGMembershipUpdate */
159 static int hf_hnbap_TNLUpdateRequest_PDU
= -1; /* TNLUpdateRequest */
160 static int hf_hnbap_TNLUpdateResponse_PDU
= -1; /* TNLUpdateResponse */
161 static int hf_hnbap_TNLUpdateFailure_PDU
= -1; /* TNLUpdateFailure */
162 static int hf_hnbap_HNBConfigTransferRequest_PDU
= -1; /* HNBConfigTransferRequest */
163 static int hf_hnbap_HNBConfigTransferResponse_PDU
= -1; /* HNBConfigTransferResponse */
164 static int hf_hnbap_RelocationComplete_PDU
= -1; /* RelocationComplete */
165 static int hf_hnbap_ErrorIndication_PDU
= -1; /* ErrorIndication */
166 static int hf_hnbap_PrivateMessage_PDU
= -1; /* PrivateMessage */
167 static int hf_hnbap_HNBAP_PDU_PDU
= -1; /* HNBAP_PDU */
168 static int hf_hnbap_local
= -1; /* INTEGER_0_65535 */
169 static int hf_hnbap_global
= -1; /* OBJECT_IDENTIFIER */
170 static int hf_hnbap_ProtocolIE_Container_item
= -1; /* ProtocolIE_Field */
171 static int hf_hnbap_protocol_ie_field_id
= -1; /* ProtocolIE_ID */
172 static int hf_hnbap_criticality
= -1; /* Criticality */
173 static int hf_hnbap_ie_field_value
= -1; /* ProtocolIE_Field_value */
174 static int hf_hnbap_ProtocolExtensionContainer_item
= -1; /* ProtocolExtensionField */
175 static int hf_hnbap_id
= -1; /* ProtocolIE_ID */
176 static int hf_hnbap_extensionValue
= -1; /* T_extensionValue */
177 static int hf_hnbap_PrivateIE_Container_item
= -1; /* PrivateIE_Field */
178 static int hf_hnbap_private_ie_field_id
= -1; /* PrivateIE_ID */
179 static int hf_hnbap_private_value
= -1; /* PrivateIE_Field_value */
180 static int hf_hnbap_directionOfAltitude
= -1; /* T_directionOfAltitude */
181 static int hf_hnbap_altitude
= -1; /* INTEGER_0_32767 */
182 static int hf_hnbap_radioNetwork
= -1; /* CauseRadioNetwork */
183 static int hf_hnbap_transport
= -1; /* CauseTransport */
184 static int hf_hnbap_protocol
= -1; /* CauseProtocol */
185 static int hf_hnbap_misc
= -1; /* CauseMisc */
186 static int hf_hnbap_procedureCode
= -1; /* ProcedureCode */
187 static int hf_hnbap_triggeringMessage
= -1; /* TriggeringMessage */
188 static int hf_hnbap_procedureCriticality
= -1; /* Criticality */
189 static int hf_hnbap_iEsCriticalityDiagnostics
= -1; /* CriticalityDiagnostics_IE_List */
190 static int hf_hnbap_iE_Extensions
= -1; /* ProtocolExtensionContainer */
191 static int hf_hnbap_CriticalityDiagnostics_IE_List_item
= -1; /* CriticalityDiagnostics_IE_List_item */
192 static int hf_hnbap_iECriticality
= -1; /* Criticality */
193 static int hf_hnbap_iE_ID
= -1; /* ProtocolIE_ID */
194 static int hf_hnbap_typeOfError
= -1; /* TypeOfError */
195 static int hf_hnbap_pLMNidentity
= -1; /* PLMNidentity */
196 static int hf_hnbap_lAC
= -1; /* LAC */
197 static int hf_hnbap_cI
= -1; /* CI */
198 static int hf_hnbap_geographical_location_geographical_coordinates
= -1; /* GeographicalCoordinates */
199 static int hf_hnbap_altitudeAndDirection
= -1; /* AltitudeAndDirection */
200 static int hf_hnbap_latitudeSign
= -1; /* T_latitudeSign */
201 static int hf_hnbap_latitude
= -1; /* INTEGER_0_8388607 */
202 static int hf_hnbap_longitude
= -1; /* INTEGER_M8388608_8388607 */
203 static int hf_hnbap_cellIdentity
= -1; /* CellIdentity */
204 static int hf_hnbap_hNB_Identity_as_Cell_Identifier
= -1; /* HNB_Cell_Identifier */
205 static int hf_hnbap_hnb_RNL_Identity
= -1; /* HNB_RNL_Identity */
206 static int hf_hnbap_configurationInformation
= -1; /* ConfigurationInformation */
207 static int hf_hnbap_provided
= -1; /* HNBConfigurationInformationProvided */
208 static int hf_hnbap_missing
= -1; /* HNBConfigurationInformationMissing */
209 static int hf_hnbap_psc
= -1; /* PSC */
210 static int hf_hnbap_cSG_ID
= -1; /* CSG_ID */
211 static int hf_hnbap_hNB_Cell_Access_Mode
= -1; /* HNB_Cell_Access_Mode */
212 static int hf_hnbap_iurh_Signalling_TNL_AddressList
= -1; /* Iurh_Signalling_TNL_AddressList */
213 static int hf_hnbap_cause
= -1; /* Cause */
214 static int hf_hnbap_macroCoverageInfo
= -1; /* MacroCoverageInformation */
215 static int hf_hnbap_hnb_location_information_geographical_coordinates
= -1; /* GeographicalLocation */
216 static int hf_hnbap_hNB_Identity_Info
= -1; /* HNB_Identity_Info */
217 static int hf_hnbap_iMSIDS41
= -1; /* IMSIDS41 */
218 static int hf_hnbap_eSN
= -1; /* ESN */
219 static int hf_hnbap_ipaddress
= -1; /* T_ipaddress */
220 static int hf_hnbap_ipv4info
= -1; /* Ipv4Address */
221 static int hf_hnbap_ipv6info
= -1; /* Ipv6Address */
222 static int hf_hnbap_Iurh_Signalling_TNL_AddressList_item
= -1; /* IP_Address */
223 static int hf_hnbap_pLMNID
= -1; /* PLMNidentity */
224 static int hf_hnbap_cellIdentity_01
= -1; /* MacroCellID */
225 static int hf_hnbap_uTRANCellID
= -1; /* UTRANCellID */
226 static int hf_hnbap_gERANCellID
= -1; /* CGI */
227 static int hf_hnbap_NeighbourInfoList_item
= -1; /* HNBConfigInfo */
228 static int hf_hnbap_NeighbourInfoRequestList_item
= -1; /* NeighbourInfoRequestItem */
229 static int hf_hnbap_pTMSI
= -1; /* PTMSI */
230 static int hf_hnbap_rAI
= -1; /* RAI */
231 static int hf_hnbap_RABList_item
= -1; /* RABListItem */
232 static int hf_hnbap_rAB_ID
= -1; /* RAB_ID */
233 static int hf_hnbap_old_transport_Info
= -1; /* TransportInfo */
234 static int hf_hnbap_new_transport_Info
= -1; /* TransportInfo */
235 static int hf_hnbap_cn_domain_indicator
= -1; /* CN_DomainIndicator */
236 static int hf_hnbap_lAI
= -1; /* LAI */
237 static int hf_hnbap_rAC
= -1; /* RAC */
238 static int hf_hnbap_tMSI
= -1; /* BIT_STRING_SIZE_32 */
239 static int hf_hnbap_transportLayerAddress
= -1; /* TransportLayerAddress */
240 static int hf_hnbap_transportAssociation
= -1; /* T_transportAssociation */
241 static int hf_hnbap_gtp_TEI
= -1; /* GTP_TEI */
242 static int hf_hnbap_bindingID
= -1; /* BindingID */
243 static int hf_hnbap_access_stratum_release_indicator
= -1; /* Access_stratum_release_indicator */
244 static int hf_hnbap_csg_capability
= -1; /* CSG_Capability */
245 static int hf_hnbap_uTRANcellID
= -1; /* CellIdentity */
246 static int hf_hnbap_iMSI
= -1; /* IMSI */
247 static int hf_hnbap_tMSILAI
= -1; /* TMSILAI */
248 static int hf_hnbap_pTMSIRAI
= -1; /* PTMSIRAI */
249 static int hf_hnbap_iMEI
= -1; /* IMEI */
250 static int hf_hnbap_iMSIESN
= -1; /* IMSIESN */
251 static int hf_hnbap_tMSIDS41
= -1; /* TMSIDS41 */
252 static int hf_hnbap_protocolIEs
= -1; /* ProtocolIE_Container */
253 static int hf_hnbap_protocolExtensions
= -1; /* ProtocolExtensionContainer */
254 static int hf_hnbap_privateIEs
= -1; /* PrivateIE_Container */
255 static int hf_hnbap_initiatingMessage
= -1; /* InitiatingMessage */
256 static int hf_hnbap_successfulOutcome
= -1; /* SuccessfulOutcome */
257 static int hf_hnbap_unsuccessfulOutcome
= -1; /* UnsuccessfulOutcome */
258 static int hf_hnbap_initiatingMessagevalue
= -1; /* InitiatingMessage_value */
259 static int hf_hnbap_successfulOutcome_value
= -1; /* SuccessfulOutcome_value */
260 static int hf_hnbap_unsuccessfulOutcome_value
= -1; /* UnsuccessfulOutcome_value */
262 /*--- End of included file: packet-hnbap-hf.c ---*/
263 #line 57 "../../asn1/hnbap/packet-hnbap-template.c"
265 /* Initialize the subtree pointers */
266 static int ett_hnbap
= -1;
269 /*--- Included file: packet-hnbap-ett.c ---*/
270 #line 1 "../../asn1/hnbap/packet-hnbap-ett.c"
271 static gint ett_hnbap_PrivateIE_ID
= -1;
272 static gint ett_hnbap_ProtocolIE_Container
= -1;
273 static gint ett_hnbap_ProtocolIE_Field
= -1;
274 static gint ett_hnbap_ProtocolExtensionContainer
= -1;
275 static gint ett_hnbap_ProtocolExtensionField
= -1;
276 static gint ett_hnbap_PrivateIE_Container
= -1;
277 static gint ett_hnbap_PrivateIE_Field
= -1;
278 static gint ett_hnbap_AltitudeAndDirection
= -1;
279 static gint ett_hnbap_Cause
= -1;
280 static gint ett_hnbap_CriticalityDiagnostics
= -1;
281 static gint ett_hnbap_CriticalityDiagnostics_IE_List
= -1;
282 static gint ett_hnbap_CriticalityDiagnostics_IE_List_item
= -1;
283 static gint ett_hnbap_CGI
= -1;
284 static gint ett_hnbap_GeographicalLocation
= -1;
285 static gint ett_hnbap_GeographicalCoordinates
= -1;
286 static gint ett_hnbap_HNB_Cell_Identifier
= -1;
287 static gint ett_hnbap_HNB_RNL_Identity
= -1;
288 static gint ett_hnbap_HNBConfigInfo
= -1;
289 static gint ett_hnbap_ConfigurationInformation
= -1;
290 static gint ett_hnbap_HNBConfigurationInformationProvided
= -1;
291 static gint ett_hnbap_HNBConfigurationInformationMissing
= -1;
292 static gint ett_hnbap_HNB_Location_Information
= -1;
293 static gint ett_hnbap_HNB_Identity
= -1;
294 static gint ett_hnbap_IMSIESN
= -1;
295 static gint ett_hnbap_IP_Address
= -1;
296 static gint ett_hnbap_T_ipaddress
= -1;
297 static gint ett_hnbap_Iurh_Signalling_TNL_AddressList
= -1;
298 static gint ett_hnbap_LAI
= -1;
299 static gint ett_hnbap_MacroCoverageInformation
= -1;
300 static gint ett_hnbap_MacroCellID
= -1;
301 static gint ett_hnbap_NeighbourInfoList
= -1;
302 static gint ett_hnbap_NeighbourInfoRequestList
= -1;
303 static gint ett_hnbap_NeighbourInfoRequestItem
= -1;
304 static gint ett_hnbap_PTMSIRAI
= -1;
305 static gint ett_hnbap_RABList
= -1;
306 static gint ett_hnbap_RABListItem
= -1;
307 static gint ett_hnbap_RAI
= -1;
308 static gint ett_hnbap_TMSILAI
= -1;
309 static gint ett_hnbap_TransportInfo
= -1;
310 static gint ett_hnbap_T_transportAssociation
= -1;
311 static gint ett_hnbap_UE_Capabilities
= -1;
312 static gint ett_hnbap_UTRANCellID
= -1;
313 static gint ett_hnbap_UE_Identity
= -1;
314 static gint ett_hnbap_HNBRegisterRequest
= -1;
315 static gint ett_hnbap_HNBRegisterAccept
= -1;
316 static gint ett_hnbap_HNBRegisterReject
= -1;
317 static gint ett_hnbap_HNBDe_Register
= -1;
318 static gint ett_hnbap_UERegisterRequest
= -1;
319 static gint ett_hnbap_UERegisterAccept
= -1;
320 static gint ett_hnbap_UERegisterReject
= -1;
321 static gint ett_hnbap_UEDe_Register
= -1;
322 static gint ett_hnbap_CSGMembershipUpdate
= -1;
323 static gint ett_hnbap_TNLUpdateRequest
= -1;
324 static gint ett_hnbap_TNLUpdateResponse
= -1;
325 static gint ett_hnbap_TNLUpdateFailure
= -1;
326 static gint ett_hnbap_HNBConfigTransferRequest
= -1;
327 static gint ett_hnbap_HNBConfigTransferResponse
= -1;
328 static gint ett_hnbap_RelocationComplete
= -1;
329 static gint ett_hnbap_ErrorIndication
= -1;
330 static gint ett_hnbap_PrivateMessage
= -1;
331 static gint ett_hnbap_HNBAP_PDU
= -1;
332 static gint ett_hnbap_InitiatingMessage
= -1;
333 static gint ett_hnbap_SuccessfulOutcome
= -1;
334 static gint ett_hnbap_UnsuccessfulOutcome
= -1;
336 /*--- End of included file: packet-hnbap-ett.c ---*/
337 #line 62 "../../asn1/hnbap/packet-hnbap-template.c"
339 /* Global variables */
340 static guint32 ProcedureCode
;
341 static guint32 ProtocolIE_ID
;
342 static guint global_sctp_port
= SCTP_PORT_HNBAP
;
344 /* Dissector tables */
345 static dissector_table_t hnbap_ies_dissector_table
;
346 static dissector_table_t hnbap_extension_dissector_table
;
347 static dissector_table_t hnbap_proc_imsg_dissector_table
;
348 static dissector_table_t hnbap_proc_sout_dissector_table
;
349 static dissector_table_t hnbap_proc_uout_dissector_table
;
351 static int dissect_ProtocolIEFieldValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *);
352 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *);
353 static int dissect_InitiatingMessageValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *);
354 static int dissect_SuccessfulOutcomeValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *);
355 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *);
356 void proto_reg_handoff_hnbap(void);
359 /*--- Included file: packet-hnbap-fn.c ---*/
360 #line 1 "../../asn1/hnbap/packet-hnbap-fn.c"
362 static const value_string hnbap_Criticality_vals
[] = {
371 dissect_hnbap_Criticality(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
372 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
373 3, NULL
, FALSE
, 0, NULL
);
381 dissect_hnbap_INTEGER_0_65535(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
382 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
383 0U, 65535U, NULL
, FALSE
);
391 dissect_hnbap_OBJECT_IDENTIFIER(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
392 offset
= dissect_per_object_identifier(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
398 static const value_string hnbap_PrivateIE_ID_vals
[] = {
404 static const per_choice_t PrivateIE_ID_choice
[] = {
405 { 0, &hf_hnbap_local
, ASN1_NO_EXTENSIONS
, dissect_hnbap_INTEGER_0_65535
},
406 { 1, &hf_hnbap_global
, ASN1_NO_EXTENSIONS
, dissect_hnbap_OBJECT_IDENTIFIER
},
411 dissect_hnbap_PrivateIE_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
412 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
413 ett_hnbap_PrivateIE_ID
, PrivateIE_ID_choice
,
420 static const value_string hnbap_ProcedureCode_vals
[] = {
421 { id_HNBRegister
, "id-HNBRegister" },
422 { id_HNBDe_Register
, "id-HNBDe-Register" },
423 { id_UERegister
, "id-UERegister" },
424 { id_UEDe_Register
, "id-UEDe-Register" },
425 { id_ErrorIndication
, "id-ErrorIndication" },
426 { id_privateMessage
, "id-privateMessage" },
427 { id_CSGMembershipUpdate
, "id-CSGMembershipUpdate" },
428 { id_TNLUpdate
, "id-TNLUpdate" },
429 { id_HNBConfigTransfer
, "id-HNBConfigTransfer" },
430 { id_RelocationComplete
, "id-RelocationComplete" },
436 dissect_hnbap_ProcedureCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
437 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
438 0U, 255U, &ProcedureCode
, FALSE
);
440 #line 62 "../../asn1/hnbap/hnbap.cnf"
441 if (strcmp(val_to_str(ProcedureCode
, hnbap_ProcedureCode_vals
, "Unknown"), "Unknown") == 0) {
442 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
444 } /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
451 static const value_string hnbap_ProtocolIE_ID_vals
[] = {
452 { id_Cause
, "id-Cause" },
453 { id_CriticalityDiagnostics
, "id-CriticalityDiagnostics" },
454 { id_HNB_Identity
, "id-HNB-Identity" },
455 { id_Context_ID
, "id-Context-ID" },
456 { id_UE_Identity
, "id-UE-Identity" },
457 { id_LAC
, "id-LAC" },
458 { id_RAC
, "id-RAC" },
459 { id_HNB_Location_Information
, "id-HNB-Location-Information" },
460 { id_PLMNidentity
, "id-PLMNidentity" },
461 { id_SAC
, "id-SAC" },
462 { id_CellIdentity
, "id-CellIdentity" },
463 { id_Registration_Cause
, "id-Registration-Cause" },
464 { id_UE_Capabilities
, "id-UE-Capabilities" },
465 { id_RNC_ID
, "id-RNC-ID" },
466 { id_CSG_ID
, "id-CSG-ID" },
467 { id_BackoffTimer
, "id-BackoffTimer" },
468 { id_HNB_Internet_Information
, "id-HNB-Internet-Information" },
469 { id_HNB_Cell_Access_Mode
, "id-HNB-Cell-Access-Mode" },
470 { id_MuxPortNumber
, "id-MuxPortNumber" },
471 { id_Service_Area_For_Broadcast
, "id-Service-Area-For-Broadcast" },
472 { id_CSGMembershipStatus
, "id-CSGMembershipStatus" },
473 { id_RABList
, "id-RABList" },
474 { id_HNBConfigInfo
, "id-HNBConfigInfo" },
475 { id_AccessResult
, "id-AccessResult" },
476 { id_Update_cause
, "id-Update-cause" },
477 { id_NeighbourInfoList
, "id-NeighbourInfoList" },
478 { id_NeighbourInfoRequestList
, "id-NeighbourInfoRequestList" },
479 { id_Iurh_Signalling_TNL_Address
, "id-Iurh-Signalling-TNL-Address" },
480 { id_PSC
, "id-PSC" },
481 { id_HNB_Cell_Identifier
, "id-HNB-Cell-Identifier" },
487 dissect_hnbap_ProtocolIE_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
488 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
489 0U, maxProtocolIEs
, &ProtocolIE_ID
, FALSE
);
491 #line 51 "../../asn1/hnbap/hnbap.cnf"
493 proto_item_append_text(proto_item_get_parent_nth(actx
->created_item
, 2), ": %s", val_to_str(ProtocolIE_ID
, VALS(hnbap_ProtocolIE_ID_vals
), "unknown (%d)"));
500 static const value_string hnbap_TriggeringMessage_vals
[] = {
501 { 0, "initiating-message" },
502 { 1, "successful-outcome" },
503 { 2, "unsuccessful-outcome" },
509 dissect_hnbap_TriggeringMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
510 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
511 3, NULL
, FALSE
, 0, NULL
);
519 dissect_hnbap_ProtocolIE_Field_value(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
520 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_ProtocolIEFieldValue
);
526 static const per_sequence_t ProtocolIE_Field_sequence
[] = {
527 { &hf_hnbap_protocol_ie_field_id
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_ID
},
528 { &hf_hnbap_criticality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
529 { &hf_hnbap_ie_field_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Field_value
},
534 dissect_hnbap_ProtocolIE_Field(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
535 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
536 ett_hnbap_ProtocolIE_Field
, ProtocolIE_Field_sequence
);
542 static const per_sequence_t ProtocolIE_Container_sequence_of
[1] = {
543 { &hf_hnbap_ProtocolIE_Container_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Field
},
547 dissect_hnbap_ProtocolIE_Container(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
548 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
549 ett_hnbap_ProtocolIE_Container
, ProtocolIE_Container_sequence_of
,
550 0, maxProtocolIEs
, FALSE
);
558 dissect_hnbap_T_extensionValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
559 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_ProtocolExtensionFieldExtensionValue
);
565 static const per_sequence_t ProtocolExtensionField_sequence
[] = {
566 { &hf_hnbap_id
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_ID
},
567 { &hf_hnbap_criticality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
568 { &hf_hnbap_extensionValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_T_extensionValue
},
573 dissect_hnbap_ProtocolExtensionField(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
574 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
575 ett_hnbap_ProtocolExtensionField
, ProtocolExtensionField_sequence
);
581 static const per_sequence_t ProtocolExtensionContainer_sequence_of
[1] = {
582 { &hf_hnbap_ProtocolExtensionContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolExtensionField
},
586 dissect_hnbap_ProtocolExtensionContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
587 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
588 ett_hnbap_ProtocolExtensionContainer
, ProtocolExtensionContainer_sequence_of
,
589 1, maxProtocolExtensions
, FALSE
);
597 dissect_hnbap_PrivateIE_Field_value(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
598 offset
= dissect_per_open_type(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
604 static const per_sequence_t PrivateIE_Field_sequence
[] = {
605 { &hf_hnbap_private_ie_field_id
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PrivateIE_ID
},
606 { &hf_hnbap_criticality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
607 { &hf_hnbap_private_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PrivateIE_Field_value
},
612 dissect_hnbap_PrivateIE_Field(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
613 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
614 ett_hnbap_PrivateIE_Field
, PrivateIE_Field_sequence
);
620 static const per_sequence_t PrivateIE_Container_sequence_of
[1] = {
621 { &hf_hnbap_PrivateIE_Container_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PrivateIE_Field
},
625 dissect_hnbap_PrivateIE_Container(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
626 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
627 ett_hnbap_PrivateIE_Container
, PrivateIE_Container_sequence_of
,
628 1, maxPrivateIEs
, FALSE
);
634 static const value_string hnbap_Access_stratum_release_indicator_vals
[] = {
640 { 5, "rel-8-and-beyond" },
646 dissect_hnbap_Access_stratum_release_indicator(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
647 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
648 6, NULL
, TRUE
, 0, NULL
);
655 static const value_string hnbap_T_directionOfAltitude_vals
[] = {
663 dissect_hnbap_T_directionOfAltitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
664 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
665 2, NULL
, FALSE
, 0, NULL
);
673 dissect_hnbap_INTEGER_0_32767(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
674 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
675 0U, 32767U, NULL
, FALSE
);
681 static const per_sequence_t AltitudeAndDirection_sequence
[] = {
682 { &hf_hnbap_directionOfAltitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_T_directionOfAltitude
},
683 { &hf_hnbap_altitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_INTEGER_0_32767
},
688 dissect_hnbap_AltitudeAndDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
689 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
690 ett_hnbap_AltitudeAndDirection
, AltitudeAndDirection_sequence
);
698 dissect_hnbap_BackoffTimer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
699 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
700 0U, 3600U, NULL
, FALSE
);
708 dissect_hnbap_BindingID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
709 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
716 static const value_string hnbap_CauseRadioNetwork_vals
[] = {
718 { 1, "unauthorised-Location" },
719 { 2, "unauthorised-HNB" },
720 { 3, "hNB-parameter-mismatch" },
721 { 4, "invalid-UE-identity" },
722 { 5, "uE-not-allowed-on-this-HNB" },
723 { 6, "uE-unauthorised" },
724 { 7, "connection-with-UE-lost" },
725 { 8, "ue-RRC-telease" },
726 { 9, "hNB-not-registered" },
727 { 10, "unspecified" },
729 { 12, "uE-relocated" },
730 { 13, "ue-registered-in-another-HNB" },
736 dissect_hnbap_CauseRadioNetwork(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
737 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
738 14, NULL
, TRUE
, 0, NULL
);
744 static const value_string hnbap_CauseTransport_vals
[] = {
745 { 0, "transport-resource-unavailable" },
746 { 1, "unspecified" },
752 dissect_hnbap_CauseTransport(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
753 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
754 2, NULL
, TRUE
, 0, NULL
);
760 static const value_string hnbap_CauseProtocol_vals
[] = {
761 { 0, "transfer-syntax-error" },
762 { 1, "abstract-syntax-error-reject" },
763 { 2, "abstract-syntax-error-ignore-and-notify" },
764 { 3, "message-not-compatible-with-receiver-state" },
765 { 4, "semantic-error" },
766 { 5, "unspecified" },
767 { 6, "abstract-syntax-error-falsely-constructed-message" },
773 dissect_hnbap_CauseProtocol(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
774 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
775 7, NULL
, TRUE
, 0, NULL
);
781 static const value_string hnbap_CauseMisc_vals
[] = {
782 { 0, "processing-overload" },
783 { 1, "hardware-failure" },
784 { 2, "o-and-m-intervention" },
785 { 3, "unspecified" },
791 dissect_hnbap_CauseMisc(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
792 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
793 4, NULL
, TRUE
, 0, NULL
);
799 static const value_string hnbap_Cause_vals
[] = {
800 { 0, "radioNetwork" },
807 static const per_choice_t Cause_choice
[] = {
808 { 0, &hf_hnbap_radioNetwork
, ASN1_EXTENSION_ROOT
, dissect_hnbap_CauseRadioNetwork
},
809 { 1, &hf_hnbap_transport
, ASN1_EXTENSION_ROOT
, dissect_hnbap_CauseTransport
},
810 { 2, &hf_hnbap_protocol
, ASN1_EXTENSION_ROOT
, dissect_hnbap_CauseProtocol
},
811 { 3, &hf_hnbap_misc
, ASN1_EXTENSION_ROOT
, dissect_hnbap_CauseMisc
},
816 dissect_hnbap_Cause(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
817 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
818 ett_hnbap_Cause
, Cause_choice
,
827 dissect_hnbap_CellIdentity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
828 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
829 28, 28, FALSE
, NULL
);
837 dissect_hnbap_Context_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
838 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
839 24, 24, FALSE
, NULL
);
845 static const value_string hnbap_TypeOfError_vals
[] = {
846 { 0, "not-understood" },
853 dissect_hnbap_TypeOfError(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
854 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
855 2, NULL
, TRUE
, 0, NULL
);
861 static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence
[] = {
862 { &hf_hnbap_iECriticality
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
863 { &hf_hnbap_iE_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_ID
},
864 { &hf_hnbap_typeOfError
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_TypeOfError
},
865 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
870 dissect_hnbap_CriticalityDiagnostics_IE_List_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
871 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
872 ett_hnbap_CriticalityDiagnostics_IE_List_item
, CriticalityDiagnostics_IE_List_item_sequence
);
878 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of
[1] = {
879 { &hf_hnbap_CriticalityDiagnostics_IE_List_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_CriticalityDiagnostics_IE_List_item
},
883 dissect_hnbap_CriticalityDiagnostics_IE_List(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
884 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
885 ett_hnbap_CriticalityDiagnostics_IE_List
, CriticalityDiagnostics_IE_List_sequence_of
,
886 1, maxNrOfErrors
, FALSE
);
892 static const per_sequence_t CriticalityDiagnostics_sequence
[] = {
893 { &hf_hnbap_procedureCode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProcedureCode
},
894 { &hf_hnbap_triggeringMessage
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_TriggeringMessage
},
895 { &hf_hnbap_procedureCriticality
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_Criticality
},
896 { &hf_hnbap_iEsCriticalityDiagnostics
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_CriticalityDiagnostics_IE_List
},
897 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
902 dissect_hnbap_CriticalityDiagnostics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
903 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
904 ett_hnbap_CriticalityDiagnostics
, CriticalityDiagnostics_sequence
);
912 dissect_hnbap_CSG_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
913 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
914 27, 27, FALSE
, NULL
);
920 static const value_string hnbap_CSG_Capability_vals
[] = {
921 { 0, "csg-capable" },
922 { 1, "not-csg-capable" },
928 dissect_hnbap_CSG_Capability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
929 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
930 2, NULL
, TRUE
, 0, NULL
);
936 static const value_string hnbap_CSGMembershipStatus_vals
[] = {
944 dissect_hnbap_CSGMembershipStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
945 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
946 2, NULL
, TRUE
, 0, NULL
);
954 dissect_hnbap_PLMNidentity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
955 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
964 dissect_hnbap_LAC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
965 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
974 dissect_hnbap_CI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
975 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
982 static const per_sequence_t CGI_sequence
[] = {
983 { &hf_hnbap_pLMNidentity
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PLMNidentity
},
984 { &hf_hnbap_lAC
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_LAC
},
985 { &hf_hnbap_cI
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_CI
},
986 { &hf_hnbap_iE_Extensions
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
991 dissect_hnbap_CGI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
992 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
993 ett_hnbap_CGI
, CGI_sequence
);
999 static const value_string hnbap_CN_DomainIndicator_vals
[] = {
1007 dissect_hnbap_CN_DomainIndicator(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1008 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1009 2, NULL
, FALSE
, 0, NULL
);
1017 dissect_hnbap_ESN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1018 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1019 32, 32, FALSE
, NULL
);
1025 static const value_string hnbap_T_latitudeSign_vals
[] = {
1033 dissect_hnbap_T_latitudeSign(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1034 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1035 2, NULL
, FALSE
, 0, NULL
);
1043 dissect_hnbap_INTEGER_0_8388607(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1044 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1045 0U, 8388607U, NULL
, FALSE
);
1053 dissect_hnbap_INTEGER_M8388608_8388607(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1054 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1055 -8388608, 8388607U, NULL
, FALSE
);
1061 static const per_sequence_t GeographicalCoordinates_sequence
[] = {
1062 { &hf_hnbap_latitudeSign
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_T_latitudeSign
},
1063 { &hf_hnbap_latitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_INTEGER_0_8388607
},
1064 { &hf_hnbap_longitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_INTEGER_M8388608_8388607
},
1065 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1066 { NULL
, 0, 0, NULL
}
1070 dissect_hnbap_GeographicalCoordinates(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1071 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1072 ett_hnbap_GeographicalCoordinates
, GeographicalCoordinates_sequence
);
1078 static const per_sequence_t GeographicalLocation_sequence
[] = {
1079 { &hf_hnbap_geographical_location_geographical_coordinates
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_GeographicalCoordinates
},
1080 { &hf_hnbap_altitudeAndDirection
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_AltitudeAndDirection
},
1081 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1082 { NULL
, 0, 0, NULL
}
1086 dissect_hnbap_GeographicalLocation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1087 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1088 ett_hnbap_GeographicalLocation
, GeographicalLocation_sequence
);
1096 dissect_hnbap_GTP_TEI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1097 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1104 static const value_string hnbap_HNB_Cell_Access_Mode_vals
[] = {
1113 dissect_hnbap_HNB_Cell_Access_Mode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1114 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1115 3, NULL
, TRUE
, 0, NULL
);
1121 static const per_sequence_t HNB_Cell_Identifier_sequence
[] = {
1122 { &hf_hnbap_pLMNidentity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PLMNidentity
},
1123 { &hf_hnbap_cellIdentity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_CellIdentity
},
1124 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1125 { NULL
, 0, 0, NULL
}
1129 dissect_hnbap_HNB_Cell_Identifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1130 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1131 ett_hnbap_HNB_Cell_Identifier
, HNB_Cell_Identifier_sequence
);
1137 static const value_string hnbap_HNB_RNL_Identity_vals
[] = {
1138 { 0, "hNB-Identity-as-Cell-Identifier" },
1142 static const per_choice_t HNB_RNL_Identity_choice
[] = {
1143 { 0, &hf_hnbap_hNB_Identity_as_Cell_Identifier
, ASN1_EXTENSION_ROOT
, dissect_hnbap_HNB_Cell_Identifier
},
1144 { 0, NULL
, 0, NULL
}
1148 dissect_hnbap_HNB_RNL_Identity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1149 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1150 ett_hnbap_HNB_RNL_Identity
, HNB_RNL_Identity_choice
,
1159 dissect_hnbap_PSC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1160 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1169 dissect_hnbap_Ipv4Address(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1170 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1179 dissect_hnbap_Ipv6Address(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1180 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1181 16, 16, FALSE
, NULL
);
1187 static const value_string hnbap_T_ipaddress_vals
[] = {
1193 static const per_choice_t T_ipaddress_choice
[] = {
1194 { 0, &hf_hnbap_ipv4info
, ASN1_EXTENSION_ROOT
, dissect_hnbap_Ipv4Address
},
1195 { 1, &hf_hnbap_ipv6info
, ASN1_EXTENSION_ROOT
, dissect_hnbap_Ipv6Address
},
1196 { 0, NULL
, 0, NULL
}
1200 dissect_hnbap_T_ipaddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1201 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1202 ett_hnbap_T_ipaddress
, T_ipaddress_choice
,
1209 static const per_sequence_t IP_Address_sequence
[] = {
1210 { &hf_hnbap_ipaddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_T_ipaddress
},
1211 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1212 { NULL
, 0, 0, NULL
}
1216 dissect_hnbap_IP_Address(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1217 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1218 ett_hnbap_IP_Address
, IP_Address_sequence
);
1224 static const per_sequence_t Iurh_Signalling_TNL_AddressList_sequence_of
[1] = {
1225 { &hf_hnbap_Iurh_Signalling_TNL_AddressList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_IP_Address
},
1229 dissect_hnbap_Iurh_Signalling_TNL_AddressList(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_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1231 ett_hnbap_Iurh_Signalling_TNL_AddressList
, Iurh_Signalling_TNL_AddressList_sequence_of
,
1232 1, maxnoofIurhAddresses
, FALSE
);
1238 static const per_sequence_t HNBConfigurationInformationProvided_sequence
[] = {
1239 { &hf_hnbap_psc
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_PSC
},
1240 { &hf_hnbap_cSG_ID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_CSG_ID
},
1241 { &hf_hnbap_hNB_Cell_Access_Mode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_HNB_Cell_Access_Mode
},
1242 { &hf_hnbap_iurh_Signalling_TNL_AddressList
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Iurh_Signalling_TNL_AddressList
},
1243 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1244 { NULL
, 0, 0, NULL
}
1248 dissect_hnbap_HNBConfigurationInformationProvided(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1249 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1250 ett_hnbap_HNBConfigurationInformationProvided
, HNBConfigurationInformationProvided_sequence
);
1256 static const per_sequence_t HNBConfigurationInformationMissing_sequence
[] = {
1257 { &hf_hnbap_cause
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Cause
},
1258 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1259 { NULL
, 0, 0, NULL
}
1263 dissect_hnbap_HNBConfigurationInformationMissing(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1264 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1265 ett_hnbap_HNBConfigurationInformationMissing
, HNBConfigurationInformationMissing_sequence
);
1271 static const value_string hnbap_ConfigurationInformation_vals
[] = {
1277 static const per_choice_t ConfigurationInformation_choice
[] = {
1278 { 0, &hf_hnbap_provided
, ASN1_EXTENSION_ROOT
, dissect_hnbap_HNBConfigurationInformationProvided
},
1279 { 1, &hf_hnbap_missing
, ASN1_EXTENSION_ROOT
, dissect_hnbap_HNBConfigurationInformationMissing
},
1280 { 0, NULL
, 0, NULL
}
1284 dissect_hnbap_ConfigurationInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1285 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1286 ett_hnbap_ConfigurationInformation
, ConfigurationInformation_choice
,
1293 static const per_sequence_t HNBConfigInfo_sequence
[] = {
1294 { &hf_hnbap_hnb_RNL_Identity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_HNB_RNL_Identity
},
1295 { &hf_hnbap_configurationInformation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ConfigurationInformation
},
1296 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1297 { NULL
, 0, 0, NULL
}
1301 dissect_hnbap_HNBConfigInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1302 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1303 ett_hnbap_HNBConfigInfo
, HNBConfigInfo_sequence
);
1311 dissect_hnbap_RAC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1312 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1319 static const per_sequence_t UTRANCellID_sequence
[] = {
1320 { &hf_hnbap_lAC
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_LAC
},
1321 { &hf_hnbap_rAC
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_RAC
},
1322 { &hf_hnbap_pLMNidentity
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PLMNidentity
},
1323 { &hf_hnbap_uTRANcellID
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_CellIdentity
},
1324 { &hf_hnbap_iE_Extensions
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1325 { NULL
, 0, 0, NULL
}
1329 dissect_hnbap_UTRANCellID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1330 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1331 ett_hnbap_UTRANCellID
, UTRANCellID_sequence
);
1337 static const value_string hnbap_MacroCellID_vals
[] = {
1338 { 0, "uTRANCellID" },
1339 { 1, "gERANCellID" },
1343 static const per_choice_t MacroCellID_choice
[] = {
1344 { 0, &hf_hnbap_uTRANCellID
, ASN1_EXTENSION_ROOT
, dissect_hnbap_UTRANCellID
},
1345 { 1, &hf_hnbap_gERANCellID
, ASN1_EXTENSION_ROOT
, dissect_hnbap_CGI
},
1346 { 0, NULL
, 0, NULL
}
1350 dissect_hnbap_MacroCellID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1351 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1352 ett_hnbap_MacroCellID
, MacroCellID_choice
,
1359 static const per_sequence_t MacroCoverageInformation_sequence
[] = {
1360 { &hf_hnbap_cellIdentity_01
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_MacroCellID
},
1361 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1362 { NULL
, 0, 0, NULL
}
1366 dissect_hnbap_MacroCoverageInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1367 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1368 ett_hnbap_MacroCoverageInformation
, MacroCoverageInformation_sequence
);
1374 static const per_sequence_t HNB_Location_Information_sequence
[] = {
1375 { &hf_hnbap_macroCoverageInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_MacroCoverageInformation
},
1376 { &hf_hnbap_hnb_location_information_geographical_coordinates
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_GeographicalLocation
},
1377 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1378 { NULL
, 0, 0, NULL
}
1382 dissect_hnbap_HNB_Location_Information(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1383 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1384 ett_hnbap_HNB_Location_Information
, HNB_Location_Information_sequence
);
1392 dissect_hnbap_HNB_Identity_Info(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1393 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1394 1, 255, FALSE
, NULL
);
1400 static const per_sequence_t HNB_Identity_sequence
[] = {
1401 { &hf_hnbap_hNB_Identity_Info
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_HNB_Identity_Info
},
1402 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1403 { NULL
, 0, 0, NULL
}
1407 dissect_hnbap_HNB_Identity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1408 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1409 ett_hnbap_HNB_Identity
, HNB_Identity_sequence
);
1417 dissect_hnbap_IMEI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1418 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1419 60, 60, FALSE
, NULL
);
1427 dissect_hnbap_IMSI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1428 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1437 dissect_hnbap_IMSIDS41(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1438 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1445 static const per_sequence_t IMSIESN_sequence
[] = {
1446 { &hf_hnbap_iMSIDS41
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_IMSIDS41
},
1447 { &hf_hnbap_eSN
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ESN
},
1448 { NULL
, 0, 0, NULL
}
1452 dissect_hnbap_IMSIESN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1453 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1454 ett_hnbap_IMSIESN
, IMSIESN_sequence
);
1460 static const per_sequence_t LAI_sequence
[] = {
1461 { &hf_hnbap_pLMNID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PLMNidentity
},
1462 { &hf_hnbap_lAC
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_LAC
},
1463 { NULL
, 0, 0, NULL
}
1467 dissect_hnbap_LAI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1468 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1469 ett_hnbap_LAI
, LAI_sequence
);
1477 dissect_hnbap_MuxPortNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1478 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1479 1024U, 65535U, NULL
, FALSE
);
1485 static const per_sequence_t NeighbourInfoList_sequence_of
[1] = {
1486 { &hf_hnbap_NeighbourInfoList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_HNBConfigInfo
},
1490 dissect_hnbap_NeighbourInfoList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1491 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1492 ett_hnbap_NeighbourInfoList
, NeighbourInfoList_sequence_of
,
1493 1, maxnoofNeighbours
, FALSE
);
1499 static const per_sequence_t NeighbourInfoRequestItem_sequence
[] = {
1500 { &hf_hnbap_hnb_RNL_Identity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_HNB_RNL_Identity
},
1501 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1502 { NULL
, 0, 0, NULL
}
1506 dissect_hnbap_NeighbourInfoRequestItem(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1507 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1508 ett_hnbap_NeighbourInfoRequestItem
, NeighbourInfoRequestItem_sequence
);
1514 static const per_sequence_t NeighbourInfoRequestList_sequence_of
[1] = {
1515 { &hf_hnbap_NeighbourInfoRequestList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_NeighbourInfoRequestItem
},
1519 dissect_hnbap_NeighbourInfoRequestList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1520 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1521 ett_hnbap_NeighbourInfoRequestList
, NeighbourInfoRequestList_sequence_of
,
1522 1, maxnoofNeighbours
, FALSE
);
1530 dissect_hnbap_PTMSI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1531 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1532 32, 32, FALSE
, NULL
);
1538 static const per_sequence_t RAI_sequence
[] = {
1539 { &hf_hnbap_lAI
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_LAI
},
1540 { &hf_hnbap_rAC
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_RAC
},
1541 { NULL
, 0, 0, NULL
}
1545 dissect_hnbap_RAI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1546 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1547 ett_hnbap_RAI
, RAI_sequence
);
1553 static const per_sequence_t PTMSIRAI_sequence
[] = {
1554 { &hf_hnbap_pTMSI
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PTMSI
},
1555 { &hf_hnbap_rAI
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_RAI
},
1556 { NULL
, 0, 0, NULL
}
1560 dissect_hnbap_PTMSIRAI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1561 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1562 ett_hnbap_PTMSIRAI
, PTMSIRAI_sequence
);
1570 dissect_hnbap_RAB_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1571 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1580 dissect_hnbap_TransportLayerAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1581 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1582 1, 160, TRUE
, NULL
);
1588 static const value_string hnbap_T_transportAssociation_vals
[] = {
1594 static const per_choice_t T_transportAssociation_choice
[] = {
1595 { 0, &hf_hnbap_gtp_TEI
, ASN1_EXTENSION_ROOT
, dissect_hnbap_GTP_TEI
},
1596 { 1, &hf_hnbap_bindingID
, ASN1_EXTENSION_ROOT
, dissect_hnbap_BindingID
},
1597 { 0, NULL
, 0, NULL
}
1601 dissect_hnbap_T_transportAssociation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1602 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1603 ett_hnbap_T_transportAssociation
, T_transportAssociation_choice
,
1610 static const per_sequence_t TransportInfo_sequence
[] = {
1611 { &hf_hnbap_transportLayerAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_TransportLayerAddress
},
1612 { &hf_hnbap_transportAssociation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_T_transportAssociation
},
1613 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1614 { NULL
, 0, 0, NULL
}
1618 dissect_hnbap_TransportInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1619 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1620 ett_hnbap_TransportInfo
, TransportInfo_sequence
);
1626 static const per_sequence_t RABListItem_sequence
[] = {
1627 { &hf_hnbap_rAB_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_RAB_ID
},
1628 { &hf_hnbap_old_transport_Info
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_TransportInfo
},
1629 { &hf_hnbap_new_transport_Info
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_TransportInfo
},
1630 { &hf_hnbap_cn_domain_indicator
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_CN_DomainIndicator
},
1631 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1632 { NULL
, 0, 0, NULL
}
1636 dissect_hnbap_RABListItem(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1637 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1638 ett_hnbap_RABListItem
, RABListItem_sequence
);
1644 static const per_sequence_t RABList_sequence_of
[1] = {
1645 { &hf_hnbap_RABList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_RABListItem
},
1649 dissect_hnbap_RABList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1650 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1651 ett_hnbap_RABList
, RABList_sequence_of
,
1652 1, maxnoofRABs
, FALSE
);
1658 static const value_string hnbap_Registration_Cause_vals
[] = {
1659 { 0, "emergency-call" },
1661 { 2, "ue-relocation" },
1667 dissect_hnbap_Registration_Cause(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1668 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1669 2, NULL
, TRUE
, 1, NULL
);
1677 dissect_hnbap_RNC_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1678 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1679 0U, 65535U, NULL
, FALSE
);
1687 dissect_hnbap_SAC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1688 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1697 dissect_hnbap_BIT_STRING_SIZE_32(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1698 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
1699 32, 32, FALSE
, NULL
);
1705 static const per_sequence_t TMSILAI_sequence
[] = {
1706 { &hf_hnbap_tMSI
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_BIT_STRING_SIZE_32
},
1707 { &hf_hnbap_lAI
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_LAI
},
1708 { NULL
, 0, 0, NULL
}
1712 dissect_hnbap_TMSILAI(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1713 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1714 ett_hnbap_TMSILAI
, TMSILAI_sequence
);
1722 dissect_hnbap_TMSIDS41(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1723 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1724 2, 17, FALSE
, NULL
);
1730 static const per_sequence_t UE_Capabilities_sequence
[] = {
1731 { &hf_hnbap_access_stratum_release_indicator
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Access_stratum_release_indicator
},
1732 { &hf_hnbap_csg_capability
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_CSG_Capability
},
1733 { &hf_hnbap_iE_Extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1734 { NULL
, 0, 0, NULL
}
1738 dissect_hnbap_UE_Capabilities(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1739 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1740 ett_hnbap_UE_Capabilities
, UE_Capabilities_sequence
);
1746 static const value_string hnbap_UE_Identity_vals
[] = {
1758 static const per_choice_t UE_Identity_choice
[] = {
1759 { 0, &hf_hnbap_iMSI
, ASN1_EXTENSION_ROOT
, dissect_hnbap_IMSI
},
1760 { 1, &hf_hnbap_tMSILAI
, ASN1_EXTENSION_ROOT
, dissect_hnbap_TMSILAI
},
1761 { 2, &hf_hnbap_pTMSIRAI
, ASN1_EXTENSION_ROOT
, dissect_hnbap_PTMSIRAI
},
1762 { 3, &hf_hnbap_iMEI
, ASN1_EXTENSION_ROOT
, dissect_hnbap_IMEI
},
1763 { 4, &hf_hnbap_eSN
, ASN1_EXTENSION_ROOT
, dissect_hnbap_ESN
},
1764 { 5, &hf_hnbap_iMSIDS41
, ASN1_EXTENSION_ROOT
, dissect_hnbap_IMSIDS41
},
1765 { 6, &hf_hnbap_iMSIESN
, ASN1_EXTENSION_ROOT
, dissect_hnbap_IMSIESN
},
1766 { 7, &hf_hnbap_tMSIDS41
, ASN1_EXTENSION_ROOT
, dissect_hnbap_TMSIDS41
},
1767 { 0, NULL
, 0, NULL
}
1771 dissect_hnbap_UE_Identity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1772 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1773 ett_hnbap_UE_Identity
, UE_Identity_choice
,
1780 static const value_string hnbap_Update_cause_vals
[] = {
1781 { 0, "relocation-preparation" },
1787 dissect_hnbap_Update_cause(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1788 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1789 1, NULL
, TRUE
, 0, NULL
);
1795 static const per_sequence_t HNBRegisterRequest_sequence
[] = {
1796 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1797 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1798 { NULL
, 0, 0, NULL
}
1802 dissect_hnbap_HNBRegisterRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1803 #line 75 "../../asn1/hnbap/hnbap.cnf"
1804 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1805 "HNB_REGISTER_REQUEST ");
1806 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1807 ett_hnbap_HNBRegisterRequest
, HNBRegisterRequest_sequence
);
1816 static const per_sequence_t HNBRegisterAccept_sequence
[] = {
1817 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1818 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1819 { NULL
, 0, 0, NULL
}
1823 dissect_hnbap_HNBRegisterAccept(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1824 #line 80 "../../asn1/hnbap/hnbap.cnf"
1825 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1826 "HNB_REGISTER_ACCEPT ");
1827 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1828 ett_hnbap_HNBRegisterAccept
, HNBRegisterAccept_sequence
);
1837 static const per_sequence_t HNBRegisterReject_sequence
[] = {
1838 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1839 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1840 { NULL
, 0, 0, NULL
}
1844 dissect_hnbap_HNBRegisterReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1845 #line 85 "../../asn1/hnbap/hnbap.cnf"
1846 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1847 "HNB_REGISTER_REJECT ");
1848 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1849 ett_hnbap_HNBRegisterReject
, HNBRegisterReject_sequence
);
1858 static const per_sequence_t HNBDe_Register_sequence
[] = {
1859 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1860 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1861 { NULL
, 0, 0, NULL
}
1865 dissect_hnbap_HNBDe_Register(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1866 #line 110 "../../asn1/hnbap/hnbap.cnf"
1867 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1868 "HNB_DE-REGISTER ");
1869 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1870 ett_hnbap_HNBDe_Register
, HNBDe_Register_sequence
);
1879 static const per_sequence_t UERegisterRequest_sequence
[] = {
1880 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1881 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1882 { NULL
, 0, 0, NULL
}
1886 dissect_hnbap_UERegisterRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1887 #line 90 "../../asn1/hnbap/hnbap.cnf"
1888 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1889 "UE_REGISTER_REQUEST ");
1890 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1891 ett_hnbap_UERegisterRequest
, UERegisterRequest_sequence
);
1900 static const per_sequence_t UERegisterAccept_sequence
[] = {
1901 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1902 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1903 { NULL
, 0, 0, NULL
}
1907 dissect_hnbap_UERegisterAccept(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1908 #line 95 "../../asn1/hnbap/hnbap.cnf"
1909 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1910 "UE_REGISTER_ACCEPT ");
1911 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1912 ett_hnbap_UERegisterAccept
, UERegisterAccept_sequence
);
1921 static const per_sequence_t UERegisterReject_sequence
[] = {
1922 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1923 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1924 { NULL
, 0, 0, NULL
}
1928 dissect_hnbap_UERegisterReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1929 #line 100 "../../asn1/hnbap/hnbap.cnf"
1930 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1931 "UE_REGISTER_REJECT ");
1932 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1933 ett_hnbap_UERegisterReject
, UERegisterReject_sequence
);
1942 static const per_sequence_t UEDe_Register_sequence
[] = {
1943 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1944 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1945 { NULL
, 0, 0, NULL
}
1949 dissect_hnbap_UEDe_Register(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1950 #line 105 "../../asn1/hnbap/hnbap.cnf"
1951 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1953 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1954 ett_hnbap_UEDe_Register
, UEDe_Register_sequence
);
1963 static const per_sequence_t CSGMembershipUpdate_sequence
[] = {
1964 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1965 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1966 { NULL
, 0, 0, NULL
}
1970 dissect_hnbap_CSGMembershipUpdate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1971 #line 121 "../../asn1/hnbap/hnbap.cnf"
1972 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1973 "CSG_MEMBERSHIP_UPDATE_MESSAGE ");
1974 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1975 ett_hnbap_CSGMembershipUpdate
, CSGMembershipUpdate_sequence
);
1984 static const per_sequence_t TNLUpdateRequest_sequence
[] = {
1985 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
1986 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
1987 { NULL
, 0, 0, NULL
}
1991 dissect_hnbap_TNLUpdateRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1992 #line 131 "../../asn1/hnbap/hnbap.cnf"
1993 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
1994 "TNL_UPDATE_REQUEST_MESSAGE ");
1995 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1996 ett_hnbap_TNLUpdateRequest
, TNLUpdateRequest_sequence
);
2004 static const per_sequence_t TNLUpdateResponse_sequence
[] = {
2005 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
2006 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
2007 { NULL
, 0, 0, NULL
}
2011 dissect_hnbap_TNLUpdateResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2012 #line 135 "../../asn1/hnbap/hnbap.cnf"
2013 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2014 "TNL_UPDATE_RESPONSE_MESSAGE ");
2015 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2016 ett_hnbap_TNLUpdateResponse
, TNLUpdateResponse_sequence
);
2024 static const per_sequence_t TNLUpdateFailure_sequence
[] = {
2025 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
2026 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
2027 { NULL
, 0, 0, NULL
}
2031 dissect_hnbap_TNLUpdateFailure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2032 #line 139 "../../asn1/hnbap/hnbap.cnf"
2033 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2034 "TNL_UPDATE_FAILURE_MESSAGE ");
2035 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2036 ett_hnbap_TNLUpdateFailure
, TNLUpdateFailure_sequence
);
2044 static const per_sequence_t HNBConfigTransferRequest_sequence
[] = {
2045 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
2046 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
2047 { NULL
, 0, 0, NULL
}
2051 dissect_hnbap_HNBConfigTransferRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2052 #line 143 "../../asn1/hnbap/hnbap.cnf"
2053 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2054 "HNB_CONFIG_TRANSFER_REQUEST_MESSAGE ");
2055 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2056 ett_hnbap_HNBConfigTransferRequest
, HNBConfigTransferRequest_sequence
);
2064 static const per_sequence_t HNBConfigTransferResponse_sequence
[] = {
2065 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
2066 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
2067 { NULL
, 0, 0, NULL
}
2071 dissect_hnbap_HNBConfigTransferResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2072 #line 147 "../../asn1/hnbap/hnbap.cnf"
2073 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2074 "HNB_CONFIG_TRANSFER_RESPONSE_MESSAGE ");
2075 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2076 ett_hnbap_HNBConfigTransferResponse
, HNBConfigTransferResponse_sequence
);
2084 static const per_sequence_t RelocationComplete_sequence
[] = {
2085 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
2086 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
2087 { NULL
, 0, 0, NULL
}
2091 dissect_hnbap_RelocationComplete(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2092 #line 151 "../../asn1/hnbap/hnbap.cnf"
2093 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2094 "RELOCATION_COMPLETE_MESSAGE ");
2095 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2096 ett_hnbap_RelocationComplete
, RelocationComplete_sequence
);
2105 static const per_sequence_t ErrorIndication_sequence
[] = {
2106 { &hf_hnbap_protocolIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProtocolIE_Container
},
2107 { &hf_hnbap_protocolExtensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_hnbap_ProtocolExtensionContainer
},
2108 { NULL
, 0, 0, NULL
}
2112 dissect_hnbap_ErrorIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2113 #line 115 "../../asn1/hnbap/hnbap.cnf"
2114 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2115 "ERROR_INDICATION ");
2116 col_set_fence(actx
->pinfo
->cinfo
, COL_INFO
); /* Protect info from CriticalityDiagnostics decodes */
2117 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2118 ett_hnbap_ErrorIndication
, ErrorIndication_sequence
);
2127 static const per_sequence_t PrivateMessage_sequence
[] = {
2128 { &hf_hnbap_privateIEs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_hnbap_PrivateIE_Container
},
2129 { NULL
, 0, 0, NULL
}
2133 dissect_hnbap_PrivateMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2134 #line 126 "../../asn1/hnbap/hnbap.cnf"
2135 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
,
2136 "PRIVATE_MESSAGE ");
2137 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2138 ett_hnbap_PrivateMessage
, PrivateMessage_sequence
);
2149 dissect_hnbap_InitiatingMessage_value(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2150 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_InitiatingMessageValue
);
2156 static const per_sequence_t InitiatingMessage_sequence
[] = {
2157 { &hf_hnbap_procedureCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProcedureCode
},
2158 { &hf_hnbap_criticality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
2159 { &hf_hnbap_initiatingMessagevalue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_InitiatingMessage_value
},
2160 { NULL
, 0, 0, NULL
}
2164 dissect_hnbap_InitiatingMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2165 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2166 ett_hnbap_InitiatingMessage
, InitiatingMessage_sequence
);
2174 dissect_hnbap_SuccessfulOutcome_value(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2175 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_SuccessfulOutcomeValue
);
2181 static const per_sequence_t SuccessfulOutcome_sequence
[] = {
2182 { &hf_hnbap_procedureCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProcedureCode
},
2183 { &hf_hnbap_criticality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
2184 { &hf_hnbap_successfulOutcome_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_SuccessfulOutcome_value
},
2185 { NULL
, 0, 0, NULL
}
2189 dissect_hnbap_SuccessfulOutcome(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2190 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2191 ett_hnbap_SuccessfulOutcome
, SuccessfulOutcome_sequence
);
2199 dissect_hnbap_UnsuccessfulOutcome_value(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2200 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_UnsuccessfulOutcomeValue
);
2206 static const per_sequence_t UnsuccessfulOutcome_sequence
[] = {
2207 { &hf_hnbap_procedureCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_ProcedureCode
},
2208 { &hf_hnbap_criticality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_Criticality
},
2209 { &hf_hnbap_unsuccessfulOutcome_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_hnbap_UnsuccessfulOutcome_value
},
2210 { NULL
, 0, 0, NULL
}
2214 dissect_hnbap_UnsuccessfulOutcome(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2215 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2216 ett_hnbap_UnsuccessfulOutcome
, UnsuccessfulOutcome_sequence
);
2222 static const value_string hnbap_HNBAP_PDU_vals
[] = {
2223 { 0, "initiatingMessage" },
2224 { 1, "successfulOutcome" },
2225 { 2, "unsuccessfulOutcome" },
2229 static const per_choice_t HNBAP_PDU_choice
[] = {
2230 { 0, &hf_hnbap_initiatingMessage
, ASN1_EXTENSION_ROOT
, dissect_hnbap_InitiatingMessage
},
2231 { 1, &hf_hnbap_successfulOutcome
, ASN1_EXTENSION_ROOT
, dissect_hnbap_SuccessfulOutcome
},
2232 { 2, &hf_hnbap_unsuccessfulOutcome
, ASN1_EXTENSION_ROOT
, dissect_hnbap_UnsuccessfulOutcome
},
2233 { 0, NULL
, 0, NULL
}
2237 dissect_hnbap_HNBAP_PDU(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2238 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2239 ett_hnbap_HNBAP_PDU
, HNBAP_PDU_choice
,
2247 static int dissect_BackoffTimer_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2249 asn1_ctx_t asn1_ctx
;
2250 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2251 offset
= dissect_hnbap_BackoffTimer(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_BackoffTimer_PDU
);
2252 offset
+= 7; offset
>>= 3;
2255 static int dissect_Cause_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2257 asn1_ctx_t asn1_ctx
;
2258 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2259 offset
= dissect_hnbap_Cause(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_Cause_PDU
);
2260 offset
+= 7; offset
>>= 3;
2263 static int dissect_CellIdentity_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2265 asn1_ctx_t asn1_ctx
;
2266 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2267 offset
= dissect_hnbap_CellIdentity(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_CellIdentity_PDU
);
2268 offset
+= 7; offset
>>= 3;
2271 static int dissect_Context_ID_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2273 asn1_ctx_t asn1_ctx
;
2274 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2275 offset
= dissect_hnbap_Context_ID(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_Context_ID_PDU
);
2276 offset
+= 7; offset
>>= 3;
2279 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2281 asn1_ctx_t asn1_ctx
;
2282 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2283 offset
= dissect_hnbap_CriticalityDiagnostics(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_CriticalityDiagnostics_PDU
);
2284 offset
+= 7; offset
>>= 3;
2287 static int dissect_CSG_ID_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2289 asn1_ctx_t asn1_ctx
;
2290 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2291 offset
= dissect_hnbap_CSG_ID(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_CSG_ID_PDU
);
2292 offset
+= 7; offset
>>= 3;
2295 static int dissect_CSGMembershipStatus_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2297 asn1_ctx_t asn1_ctx
;
2298 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2299 offset
= dissect_hnbap_CSGMembershipStatus(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_CSGMembershipStatus_PDU
);
2300 offset
+= 7; offset
>>= 3;
2303 static int dissect_HNB_Cell_Access_Mode_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2305 asn1_ctx_t asn1_ctx
;
2306 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2307 offset
= dissect_hnbap_HNB_Cell_Access_Mode(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNB_Cell_Access_Mode_PDU
);
2308 offset
+= 7; offset
>>= 3;
2311 static int dissect_HNB_Location_Information_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2313 asn1_ctx_t asn1_ctx
;
2314 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2315 offset
= dissect_hnbap_HNB_Location_Information(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNB_Location_Information_PDU
);
2316 offset
+= 7; offset
>>= 3;
2319 static int dissect_HNB_Identity_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2321 asn1_ctx_t asn1_ctx
;
2322 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2323 offset
= dissect_hnbap_HNB_Identity(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNB_Identity_PDU
);
2324 offset
+= 7; offset
>>= 3;
2327 static int dissect_IP_Address_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2329 asn1_ctx_t asn1_ctx
;
2330 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2331 offset
= dissect_hnbap_IP_Address(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_IP_Address_PDU
);
2332 offset
+= 7; offset
>>= 3;
2335 static int dissect_LAC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2337 asn1_ctx_t asn1_ctx
;
2338 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2339 offset
= dissect_hnbap_LAC(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_LAC_PDU
);
2340 offset
+= 7; offset
>>= 3;
2343 static int dissect_MuxPortNumber_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2345 asn1_ctx_t asn1_ctx
;
2346 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2347 offset
= dissect_hnbap_MuxPortNumber(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_MuxPortNumber_PDU
);
2348 offset
+= 7; offset
>>= 3;
2351 static int dissect_NeighbourInfoList_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2353 asn1_ctx_t asn1_ctx
;
2354 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2355 offset
= dissect_hnbap_NeighbourInfoList(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_NeighbourInfoList_PDU
);
2356 offset
+= 7; offset
>>= 3;
2359 static int dissect_NeighbourInfoRequestList_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2361 asn1_ctx_t asn1_ctx
;
2362 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2363 offset
= dissect_hnbap_NeighbourInfoRequestList(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_NeighbourInfoRequestList_PDU
);
2364 offset
+= 7; offset
>>= 3;
2367 static int dissect_PLMNidentity_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2369 asn1_ctx_t asn1_ctx
;
2370 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2371 offset
= dissect_hnbap_PLMNidentity(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_PLMNidentity_PDU
);
2372 offset
+= 7; offset
>>= 3;
2375 static int dissect_PSC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2377 asn1_ctx_t asn1_ctx
;
2378 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2379 offset
= dissect_hnbap_PSC(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_PSC_PDU
);
2380 offset
+= 7; offset
>>= 3;
2383 static int dissect_RABList_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2385 asn1_ctx_t asn1_ctx
;
2386 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2387 offset
= dissect_hnbap_RABList(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_RABList_PDU
);
2388 offset
+= 7; offset
>>= 3;
2391 static int dissect_RAC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2393 asn1_ctx_t asn1_ctx
;
2394 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2395 offset
= dissect_hnbap_RAC(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_RAC_PDU
);
2396 offset
+= 7; offset
>>= 3;
2399 static int dissect_Registration_Cause_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2401 asn1_ctx_t asn1_ctx
;
2402 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2403 offset
= dissect_hnbap_Registration_Cause(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_Registration_Cause_PDU
);
2404 offset
+= 7; offset
>>= 3;
2407 static int dissect_RNC_ID_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2409 asn1_ctx_t asn1_ctx
;
2410 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2411 offset
= dissect_hnbap_RNC_ID(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_RNC_ID_PDU
);
2412 offset
+= 7; offset
>>= 3;
2415 static int dissect_SAC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2417 asn1_ctx_t asn1_ctx
;
2418 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2419 offset
= dissect_hnbap_SAC(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_SAC_PDU
);
2420 offset
+= 7; offset
>>= 3;
2423 static int dissect_UE_Capabilities_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2425 asn1_ctx_t asn1_ctx
;
2426 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2427 offset
= dissect_hnbap_UE_Capabilities(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_UE_Capabilities_PDU
);
2428 offset
+= 7; offset
>>= 3;
2431 static int dissect_UE_Identity_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2433 asn1_ctx_t asn1_ctx
;
2434 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2435 offset
= dissect_hnbap_UE_Identity(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_UE_Identity_PDU
);
2436 offset
+= 7; offset
>>= 3;
2439 static int dissect_Update_cause_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2441 asn1_ctx_t asn1_ctx
;
2442 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2443 offset
= dissect_hnbap_Update_cause(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_Update_cause_PDU
);
2444 offset
+= 7; offset
>>= 3;
2447 static int dissect_HNBRegisterRequest_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2449 asn1_ctx_t asn1_ctx
;
2450 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2451 offset
= dissect_hnbap_HNBRegisterRequest(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNBRegisterRequest_PDU
);
2452 offset
+= 7; offset
>>= 3;
2455 static int dissect_HNBRegisterAccept_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2457 asn1_ctx_t asn1_ctx
;
2458 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2459 offset
= dissect_hnbap_HNBRegisterAccept(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNBRegisterAccept_PDU
);
2460 offset
+= 7; offset
>>= 3;
2463 static int dissect_HNBRegisterReject_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2465 asn1_ctx_t asn1_ctx
;
2466 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2467 offset
= dissect_hnbap_HNBRegisterReject(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNBRegisterReject_PDU
);
2468 offset
+= 7; offset
>>= 3;
2471 static int dissect_HNBDe_Register_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2473 asn1_ctx_t asn1_ctx
;
2474 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2475 offset
= dissect_hnbap_HNBDe_Register(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNBDe_Register_PDU
);
2476 offset
+= 7; offset
>>= 3;
2479 static int dissect_UERegisterRequest_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2481 asn1_ctx_t asn1_ctx
;
2482 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2483 offset
= dissect_hnbap_UERegisterRequest(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_UERegisterRequest_PDU
);
2484 offset
+= 7; offset
>>= 3;
2487 static int dissect_UERegisterAccept_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2489 asn1_ctx_t asn1_ctx
;
2490 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2491 offset
= dissect_hnbap_UERegisterAccept(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_UERegisterAccept_PDU
);
2492 offset
+= 7; offset
>>= 3;
2495 static int dissect_UERegisterReject_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2497 asn1_ctx_t asn1_ctx
;
2498 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2499 offset
= dissect_hnbap_UERegisterReject(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_UERegisterReject_PDU
);
2500 offset
+= 7; offset
>>= 3;
2503 static int dissect_UEDe_Register_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2505 asn1_ctx_t asn1_ctx
;
2506 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2507 offset
= dissect_hnbap_UEDe_Register(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_UEDe_Register_PDU
);
2508 offset
+= 7; offset
>>= 3;
2511 static int dissect_CSGMembershipUpdate_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2513 asn1_ctx_t asn1_ctx
;
2514 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2515 offset
= dissect_hnbap_CSGMembershipUpdate(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_CSGMembershipUpdate_PDU
);
2516 offset
+= 7; offset
>>= 3;
2519 static int dissect_TNLUpdateRequest_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2521 asn1_ctx_t asn1_ctx
;
2522 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2523 offset
= dissect_hnbap_TNLUpdateRequest(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_TNLUpdateRequest_PDU
);
2524 offset
+= 7; offset
>>= 3;
2527 static int dissect_TNLUpdateResponse_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2529 asn1_ctx_t asn1_ctx
;
2530 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2531 offset
= dissect_hnbap_TNLUpdateResponse(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_TNLUpdateResponse_PDU
);
2532 offset
+= 7; offset
>>= 3;
2535 static int dissect_TNLUpdateFailure_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2537 asn1_ctx_t asn1_ctx
;
2538 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2539 offset
= dissect_hnbap_TNLUpdateFailure(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_TNLUpdateFailure_PDU
);
2540 offset
+= 7; offset
>>= 3;
2543 static int dissect_HNBConfigTransferRequest_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2545 asn1_ctx_t asn1_ctx
;
2546 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2547 offset
= dissect_hnbap_HNBConfigTransferRequest(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNBConfigTransferRequest_PDU
);
2548 offset
+= 7; offset
>>= 3;
2551 static int dissect_HNBConfigTransferResponse_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2553 asn1_ctx_t asn1_ctx
;
2554 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2555 offset
= dissect_hnbap_HNBConfigTransferResponse(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_HNBConfigTransferResponse_PDU
);
2556 offset
+= 7; offset
>>= 3;
2559 static int dissect_RelocationComplete_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2561 asn1_ctx_t asn1_ctx
;
2562 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2563 offset
= dissect_hnbap_RelocationComplete(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_RelocationComplete_PDU
);
2564 offset
+= 7; offset
>>= 3;
2567 static int dissect_ErrorIndication_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2569 asn1_ctx_t asn1_ctx
;
2570 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2571 offset
= dissect_hnbap_ErrorIndication(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_ErrorIndication_PDU
);
2572 offset
+= 7; offset
>>= 3;
2575 static int dissect_PrivateMessage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2577 asn1_ctx_t asn1_ctx
;
2578 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2579 offset
= dissect_hnbap_PrivateMessage(tvb
, offset
, &asn1_ctx
, tree
, hf_hnbap_PrivateMessage_PDU
);
2580 offset
+= 7; offset
>>= 3;
2583 static void dissect_HNBAP_PDU_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2584 asn1_ctx_t asn1_ctx
;
2585 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
2586 dissect_hnbap_HNBAP_PDU(tvb
, 0, &asn1_ctx
, tree
, hf_hnbap_HNBAP_PDU_PDU
);
2590 /*--- End of included file: packet-hnbap-fn.c ---*/
2591 #line 83 "../../asn1/hnbap/packet-hnbap-template.c"
2593 static int dissect_ProtocolIEFieldValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2595 return (dissector_try_uint_new(hnbap_ies_dissector_table
, ProtocolIE_ID
, tvb
, pinfo
, tree
, FALSE
, NULL
)) ? tvb_length(tvb
) : 0;
2598 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2600 return (dissector_try_uint_new(hnbap_extension_dissector_table
, ProtocolIE_ID
, tvb
, pinfo
, tree
, FALSE
, NULL
)) ? tvb_length(tvb
) : 0;
2603 static int dissect_InitiatingMessageValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2605 if (!ProcedureCode
) return 0;
2606 return (dissector_try_string(hnbap_proc_imsg_dissector_table
, ProcedureCode
, tvb
, pinfo
, tree
, NULL
)) ? tvb_length(tvb
) : 0;
2609 static int dissect_SuccessfulOutcomeValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2611 if (!ProcedureCode
) return 0;
2612 return (dissector_try_string(hnbap_proc_sout_dissector_table
, ProcedureCode
, tvb
, pinfo
, tree
, NULL
)) ? tvb_length(tvb
) : 0;
2615 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2617 if (!ProcedureCode
) return 0;
2618 return (dissector_try_string(hnbap_proc_uout_dissector_table
, ProcedureCode
, tvb
, pinfo
, tree
, NULL
)) ? tvb_length(tvb
) : 0;
2622 static int dissect_InitiatingMessageValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2624 return (dissector_try_uint_new(hnbap_proc_imsg_dissector_table
, ProcedureCode
, tvb
, pinfo
, tree
, FALSE
, NULL
)) ? tvb_length(tvb
) : 0;
2627 static int dissect_SuccessfulOutcomeValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2629 return (dissector_try_uint_new(hnbap_proc_sout_dissector_table
, ProcedureCode
, tvb
, pinfo
, tree
, FALSE
, NULL
)) ? tvb_length(tvb
) : 0;
2632 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2634 return (dissector_try_uint_new(hnbap_proc_uout_dissector_table
, ProcedureCode
, tvb
, pinfo
, tree
, FALSE
, NULL
)) ? tvb_length(tvb
) : 0;
2638 dissect_hnbap(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
)
2640 proto_item
*hnbap_item
= NULL
;
2641 proto_tree
*hnbap_tree
= NULL
;
2643 /* make entry in the Protocol column on summary display */
2644 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "HNBAP");
2646 /* create the hnbap protocol tree */
2647 hnbap_item
= proto_tree_add_item(tree
, proto_hnbap
, tvb
, 0, -1, ENC_NA
);
2648 hnbap_tree
= proto_item_add_subtree(hnbap_item
, ett_hnbap
);
2650 dissect_HNBAP_PDU_PDU(tvb
, pinfo
, hnbap_tree
);
2653 /*--- proto_register_hnbap -------------------------------------------*/
2654 void proto_register_hnbap(void) {
2655 module_t
*hnbap_module
;
2657 /* List of fields */
2659 static hf_register_info hf
[] = {
2662 /*--- Included file: packet-hnbap-hfarr.c ---*/
2663 #line 1 "../../asn1/hnbap/packet-hnbap-hfarr.c"
2664 { &hf_hnbap_BackoffTimer_PDU
,
2665 { "BackoffTimer", "hnbap.BackoffTimer",
2666 FT_UINT32
, BASE_DEC
, NULL
, 0,
2668 { &hf_hnbap_Cause_PDU
,
2669 { "Cause", "hnbap.Cause",
2670 FT_UINT32
, BASE_DEC
, VALS(hnbap_Cause_vals
), 0,
2672 { &hf_hnbap_CellIdentity_PDU
,
2673 { "CellIdentity", "hnbap.CellIdentity",
2674 FT_BYTES
, BASE_NONE
, NULL
, 0,
2676 { &hf_hnbap_Context_ID_PDU
,
2677 { "Context-ID", "hnbap.Context_ID",
2678 FT_BYTES
, BASE_NONE
, NULL
, 0,
2680 { &hf_hnbap_CriticalityDiagnostics_PDU
,
2681 { "CriticalityDiagnostics", "hnbap.CriticalityDiagnostics_element",
2682 FT_NONE
, BASE_NONE
, NULL
, 0,
2684 { &hf_hnbap_CSG_ID_PDU
,
2685 { "CSG-ID", "hnbap.CSG_ID",
2686 FT_BYTES
, BASE_NONE
, NULL
, 0,
2688 { &hf_hnbap_CSGMembershipStatus_PDU
,
2689 { "CSGMembershipStatus", "hnbap.CSGMembershipStatus",
2690 FT_UINT32
, BASE_DEC
, VALS(hnbap_CSGMembershipStatus_vals
), 0,
2692 { &hf_hnbap_HNB_Cell_Access_Mode_PDU
,
2693 { "HNB-Cell-Access-Mode", "hnbap.HNB_Cell_Access_Mode",
2694 FT_UINT32
, BASE_DEC
, VALS(hnbap_HNB_Cell_Access_Mode_vals
), 0,
2696 { &hf_hnbap_HNB_Location_Information_PDU
,
2697 { "HNB-Location-Information", "hnbap.HNB_Location_Information_element",
2698 FT_NONE
, BASE_NONE
, NULL
, 0,
2700 { &hf_hnbap_HNB_Identity_PDU
,
2701 { "HNB-Identity", "hnbap.HNB_Identity_element",
2702 FT_NONE
, BASE_NONE
, NULL
, 0,
2704 { &hf_hnbap_IP_Address_PDU
,
2705 { "IP-Address", "hnbap.IP_Address_element",
2706 FT_NONE
, BASE_NONE
, NULL
, 0,
2708 { &hf_hnbap_LAC_PDU
,
2709 { "LAC", "hnbap.LAC",
2710 FT_BYTES
, BASE_NONE
, NULL
, 0,
2712 { &hf_hnbap_MuxPortNumber_PDU
,
2713 { "MuxPortNumber", "hnbap.MuxPortNumber",
2714 FT_UINT32
, BASE_DEC
, NULL
, 0,
2716 { &hf_hnbap_NeighbourInfoList_PDU
,
2717 { "NeighbourInfoList", "hnbap.NeighbourInfoList",
2718 FT_UINT32
, BASE_DEC
, NULL
, 0,
2720 { &hf_hnbap_NeighbourInfoRequestList_PDU
,
2721 { "NeighbourInfoRequestList", "hnbap.NeighbourInfoRequestList",
2722 FT_UINT32
, BASE_DEC
, NULL
, 0,
2724 { &hf_hnbap_PLMNidentity_PDU
,
2725 { "PLMNidentity", "hnbap.PLMNidentity",
2726 FT_BYTES
, BASE_NONE
, NULL
, 0,
2728 { &hf_hnbap_PSC_PDU
,
2729 { "PSC", "hnbap.PSC",
2730 FT_BYTES
, BASE_NONE
, NULL
, 0,
2732 { &hf_hnbap_RABList_PDU
,
2733 { "RABList", "hnbap.RABList",
2734 FT_UINT32
, BASE_DEC
, NULL
, 0,
2736 { &hf_hnbap_RAC_PDU
,
2737 { "RAC", "hnbap.RAC",
2738 FT_BYTES
, BASE_NONE
, NULL
, 0,
2740 { &hf_hnbap_Registration_Cause_PDU
,
2741 { "Registration-Cause", "hnbap.Registration_Cause",
2742 FT_UINT32
, BASE_DEC
, VALS(hnbap_Registration_Cause_vals
), 0,
2744 { &hf_hnbap_RNC_ID_PDU
,
2745 { "RNC-ID", "hnbap.RNC_ID",
2746 FT_UINT32
, BASE_DEC
, NULL
, 0,
2748 { &hf_hnbap_SAC_PDU
,
2749 { "SAC", "hnbap.SAC",
2750 FT_BYTES
, BASE_NONE
, NULL
, 0,
2752 { &hf_hnbap_UE_Capabilities_PDU
,
2753 { "UE-Capabilities", "hnbap.UE_Capabilities_element",
2754 FT_NONE
, BASE_NONE
, NULL
, 0,
2756 { &hf_hnbap_UE_Identity_PDU
,
2757 { "UE-Identity", "hnbap.UE_Identity",
2758 FT_UINT32
, BASE_DEC
, VALS(hnbap_UE_Identity_vals
), 0,
2760 { &hf_hnbap_Update_cause_PDU
,
2761 { "Update-cause", "hnbap.Update_cause",
2762 FT_UINT32
, BASE_DEC
, VALS(hnbap_Update_cause_vals
), 0,
2764 { &hf_hnbap_HNBRegisterRequest_PDU
,
2765 { "HNBRegisterRequest", "hnbap.HNBRegisterRequest_element",
2766 FT_NONE
, BASE_NONE
, NULL
, 0,
2768 { &hf_hnbap_HNBRegisterAccept_PDU
,
2769 { "HNBRegisterAccept", "hnbap.HNBRegisterAccept_element",
2770 FT_NONE
, BASE_NONE
, NULL
, 0,
2772 { &hf_hnbap_HNBRegisterReject_PDU
,
2773 { "HNBRegisterReject", "hnbap.HNBRegisterReject_element",
2774 FT_NONE
, BASE_NONE
, NULL
, 0,
2776 { &hf_hnbap_HNBDe_Register_PDU
,
2777 { "HNBDe-Register", "hnbap.HNBDe_Register_element",
2778 FT_NONE
, BASE_NONE
, NULL
, 0,
2780 { &hf_hnbap_UERegisterRequest_PDU
,
2781 { "UERegisterRequest", "hnbap.UERegisterRequest_element",
2782 FT_NONE
, BASE_NONE
, NULL
, 0,
2784 { &hf_hnbap_UERegisterAccept_PDU
,
2785 { "UERegisterAccept", "hnbap.UERegisterAccept_element",
2786 FT_NONE
, BASE_NONE
, NULL
, 0,
2788 { &hf_hnbap_UERegisterReject_PDU
,
2789 { "UERegisterReject", "hnbap.UERegisterReject_element",
2790 FT_NONE
, BASE_NONE
, NULL
, 0,
2792 { &hf_hnbap_UEDe_Register_PDU
,
2793 { "UEDe-Register", "hnbap.UEDe_Register_element",
2794 FT_NONE
, BASE_NONE
, NULL
, 0,
2796 { &hf_hnbap_CSGMembershipUpdate_PDU
,
2797 { "CSGMembershipUpdate", "hnbap.CSGMembershipUpdate_element",
2798 FT_NONE
, BASE_NONE
, NULL
, 0,
2800 { &hf_hnbap_TNLUpdateRequest_PDU
,
2801 { "TNLUpdateRequest", "hnbap.TNLUpdateRequest_element",
2802 FT_NONE
, BASE_NONE
, NULL
, 0,
2804 { &hf_hnbap_TNLUpdateResponse_PDU
,
2805 { "TNLUpdateResponse", "hnbap.TNLUpdateResponse_element",
2806 FT_NONE
, BASE_NONE
, NULL
, 0,
2808 { &hf_hnbap_TNLUpdateFailure_PDU
,
2809 { "TNLUpdateFailure", "hnbap.TNLUpdateFailure_element",
2810 FT_NONE
, BASE_NONE
, NULL
, 0,
2812 { &hf_hnbap_HNBConfigTransferRequest_PDU
,
2813 { "HNBConfigTransferRequest", "hnbap.HNBConfigTransferRequest_element",
2814 FT_NONE
, BASE_NONE
, NULL
, 0,
2816 { &hf_hnbap_HNBConfigTransferResponse_PDU
,
2817 { "HNBConfigTransferResponse", "hnbap.HNBConfigTransferResponse_element",
2818 FT_NONE
, BASE_NONE
, NULL
, 0,
2820 { &hf_hnbap_RelocationComplete_PDU
,
2821 { "RelocationComplete", "hnbap.RelocationComplete_element",
2822 FT_NONE
, BASE_NONE
, NULL
, 0,
2824 { &hf_hnbap_ErrorIndication_PDU
,
2825 { "ErrorIndication", "hnbap.ErrorIndication_element",
2826 FT_NONE
, BASE_NONE
, NULL
, 0,
2828 { &hf_hnbap_PrivateMessage_PDU
,
2829 { "PrivateMessage", "hnbap.PrivateMessage_element",
2830 FT_NONE
, BASE_NONE
, NULL
, 0,
2832 { &hf_hnbap_HNBAP_PDU_PDU
,
2833 { "HNBAP-PDU", "hnbap.HNBAP_PDU",
2834 FT_UINT32
, BASE_DEC
, VALS(hnbap_HNBAP_PDU_vals
), 0,
2837 { "local", "hnbap.local",
2838 FT_UINT32
, BASE_DEC
, NULL
, 0,
2839 "INTEGER_0_65535", HFILL
}},
2841 { "global", "hnbap.global",
2842 FT_OID
, BASE_NONE
, NULL
, 0,
2843 "OBJECT_IDENTIFIER", HFILL
}},
2844 { &hf_hnbap_ProtocolIE_Container_item
,
2845 { "ProtocolIE-Field", "hnbap.ProtocolIE_Field_element",
2846 FT_NONE
, BASE_NONE
, NULL
, 0,
2848 { &hf_hnbap_protocol_ie_field_id
,
2850 FT_UINT32
, BASE_DEC
, VALS(hnbap_ProtocolIE_ID_vals
), 0,
2851 "ProtocolIE_ID", HFILL
}},
2852 { &hf_hnbap_criticality
,
2853 { "criticality", "hnbap.criticality",
2854 FT_UINT32
, BASE_DEC
, VALS(hnbap_Criticality_vals
), 0,
2856 { &hf_hnbap_ie_field_value
,
2857 { "value", "hnbap.value_element",
2858 FT_NONE
, BASE_NONE
, NULL
, 0,
2859 "ProtocolIE_Field_value", HFILL
}},
2860 { &hf_hnbap_ProtocolExtensionContainer_item
,
2861 { "ProtocolExtensionField", "hnbap.ProtocolExtensionField_element",
2862 FT_NONE
, BASE_NONE
, NULL
, 0,
2866 FT_UINT32
, BASE_DEC
, VALS(hnbap_ProtocolIE_ID_vals
), 0,
2867 "ProtocolIE_ID", HFILL
}},
2868 { &hf_hnbap_extensionValue
,
2869 { "extensionValue", "hnbap.extensionValue_element",
2870 FT_NONE
, BASE_NONE
, NULL
, 0,
2872 { &hf_hnbap_PrivateIE_Container_item
,
2873 { "PrivateIE-Field", "hnbap.PrivateIE_Field_element",
2874 FT_NONE
, BASE_NONE
, NULL
, 0,
2876 { &hf_hnbap_private_ie_field_id
,
2878 FT_UINT32
, BASE_DEC
, VALS(hnbap_PrivateIE_ID_vals
), 0,
2879 "PrivateIE_ID", HFILL
}},
2880 { &hf_hnbap_private_value
,
2881 { "value", "hnbap.value_element",
2882 FT_NONE
, BASE_NONE
, NULL
, 0,
2883 "PrivateIE_Field_value", HFILL
}},
2884 { &hf_hnbap_directionOfAltitude
,
2885 { "directionOfAltitude", "hnbap.directionOfAltitude",
2886 FT_UINT32
, BASE_DEC
, VALS(hnbap_T_directionOfAltitude_vals
), 0,
2888 { &hf_hnbap_altitude
,
2889 { "altitude", "hnbap.altitude",
2890 FT_UINT32
, BASE_DEC
, NULL
, 0,
2891 "INTEGER_0_32767", HFILL
}},
2892 { &hf_hnbap_radioNetwork
,
2893 { "radioNetwork", "hnbap.radioNetwork",
2894 FT_UINT32
, BASE_DEC
, VALS(hnbap_CauseRadioNetwork_vals
), 0,
2895 "CauseRadioNetwork", HFILL
}},
2896 { &hf_hnbap_transport
,
2897 { "transport", "hnbap.transport",
2898 FT_UINT32
, BASE_DEC
, VALS(hnbap_CauseTransport_vals
), 0,
2899 "CauseTransport", HFILL
}},
2900 { &hf_hnbap_protocol
,
2901 { "protocol", "hnbap.protocol",
2902 FT_UINT32
, BASE_DEC
, VALS(hnbap_CauseProtocol_vals
), 0,
2903 "CauseProtocol", HFILL
}},
2905 { "misc", "hnbap.misc",
2906 FT_UINT32
, BASE_DEC
, VALS(hnbap_CauseMisc_vals
), 0,
2907 "CauseMisc", HFILL
}},
2908 { &hf_hnbap_procedureCode
,
2909 { "procedureCode", "hnbap.procedureCode",
2910 FT_UINT32
, BASE_DEC
, VALS(hnbap_ProcedureCode_vals
), 0,
2912 { &hf_hnbap_triggeringMessage
,
2913 { "triggeringMessage", "hnbap.triggeringMessage",
2914 FT_UINT32
, BASE_DEC
, VALS(hnbap_TriggeringMessage_vals
), 0,
2916 { &hf_hnbap_procedureCriticality
,
2917 { "procedureCriticality", "hnbap.procedureCriticality",
2918 FT_UINT32
, BASE_DEC
, VALS(hnbap_Criticality_vals
), 0,
2919 "Criticality", HFILL
}},
2920 { &hf_hnbap_iEsCriticalityDiagnostics
,
2921 { "iEsCriticalityDiagnostics", "hnbap.iEsCriticalityDiagnostics",
2922 FT_UINT32
, BASE_DEC
, NULL
, 0,
2923 "CriticalityDiagnostics_IE_List", HFILL
}},
2924 { &hf_hnbap_iE_Extensions
,
2925 { "iE-Extensions", "hnbap.iE_Extensions",
2926 FT_UINT32
, BASE_DEC
, NULL
, 0,
2927 "ProtocolExtensionContainer", HFILL
}},
2928 { &hf_hnbap_CriticalityDiagnostics_IE_List_item
,
2929 { "CriticalityDiagnostics-IE-List item", "hnbap.CriticalityDiagnostics_IE_List_item_element",
2930 FT_NONE
, BASE_NONE
, NULL
, 0,
2932 { &hf_hnbap_iECriticality
,
2933 { "iECriticality", "hnbap.iECriticality",
2934 FT_UINT32
, BASE_DEC
, VALS(hnbap_Criticality_vals
), 0,
2935 "Criticality", HFILL
}},
2937 { "iE-ID", "hnbap.iE_ID",
2938 FT_UINT32
, BASE_DEC
, VALS(hnbap_ProtocolIE_ID_vals
), 0,
2939 "ProtocolIE_ID", HFILL
}},
2940 { &hf_hnbap_typeOfError
,
2941 { "typeOfError", "hnbap.typeOfError",
2942 FT_UINT32
, BASE_DEC
, VALS(hnbap_TypeOfError_vals
), 0,
2944 { &hf_hnbap_pLMNidentity
,
2945 { "pLMNidentity", "hnbap.pLMNidentity",
2946 FT_BYTES
, BASE_NONE
, NULL
, 0,
2949 { "lAC", "hnbap.lAC",
2950 FT_BYTES
, BASE_NONE
, NULL
, 0,
2954 FT_BYTES
, BASE_NONE
, NULL
, 0,
2956 { &hf_hnbap_geographical_location_geographical_coordinates
,
2957 { "geographicalCoordinates", "hnbap.geographicalCoordinates_element",
2958 FT_NONE
, BASE_NONE
, NULL
, 0,
2960 { &hf_hnbap_altitudeAndDirection
,
2961 { "altitudeAndDirection", "hnbap.altitudeAndDirection_element",
2962 FT_NONE
, BASE_NONE
, NULL
, 0,
2964 { &hf_hnbap_latitudeSign
,
2965 { "latitudeSign", "hnbap.latitudeSign",
2966 FT_UINT32
, BASE_DEC
, VALS(hnbap_T_latitudeSign_vals
), 0,
2968 { &hf_hnbap_latitude
,
2969 { "latitude", "hnbap.latitude",
2970 FT_UINT32
, BASE_DEC
, NULL
, 0,
2971 "INTEGER_0_8388607", HFILL
}},
2972 { &hf_hnbap_longitude
,
2973 { "longitude", "hnbap.longitude",
2974 FT_INT32
, BASE_DEC
, NULL
, 0,
2975 "INTEGER_M8388608_8388607", HFILL
}},
2976 { &hf_hnbap_cellIdentity
,
2977 { "cellIdentity", "hnbap.cellIdentity",
2978 FT_BYTES
, BASE_NONE
, NULL
, 0,
2980 { &hf_hnbap_hNB_Identity_as_Cell_Identifier
,
2981 { "hNB-Identity-as-Cell-Identifier", "hnbap.hNB_Identity_as_Cell_Identifier_element",
2982 FT_NONE
, BASE_NONE
, NULL
, 0,
2983 "HNB_Cell_Identifier", HFILL
}},
2984 { &hf_hnbap_hnb_RNL_Identity
,
2985 { "hnb-RNL-Identity", "hnbap.hnb_RNL_Identity",
2986 FT_UINT32
, BASE_DEC
, VALS(hnbap_HNB_RNL_Identity_vals
), 0,
2988 { &hf_hnbap_configurationInformation
,
2989 { "configurationInformation", "hnbap.configurationInformation",
2990 FT_UINT32
, BASE_DEC
, VALS(hnbap_ConfigurationInformation_vals
), 0,
2992 { &hf_hnbap_provided
,
2993 { "provided", "hnbap.provided_element",
2994 FT_NONE
, BASE_NONE
, NULL
, 0,
2995 "HNBConfigurationInformationProvided", HFILL
}},
2996 { &hf_hnbap_missing
,
2997 { "missing", "hnbap.missing_element",
2998 FT_NONE
, BASE_NONE
, NULL
, 0,
2999 "HNBConfigurationInformationMissing", HFILL
}},
3001 { "psc", "hnbap.psc",
3002 FT_BYTES
, BASE_NONE
, NULL
, 0,
3005 { "cSG-ID", "hnbap.cSG_ID",
3006 FT_BYTES
, BASE_NONE
, NULL
, 0,
3008 { &hf_hnbap_hNB_Cell_Access_Mode
,
3009 { "hNB-Cell-Access-Mode", "hnbap.hNB_Cell_Access_Mode",
3010 FT_UINT32
, BASE_DEC
, VALS(hnbap_HNB_Cell_Access_Mode_vals
), 0,
3012 { &hf_hnbap_iurh_Signalling_TNL_AddressList
,
3013 { "iurh-Signalling-TNL-AddressList", "hnbap.iurh_Signalling_TNL_AddressList",
3014 FT_UINT32
, BASE_DEC
, NULL
, 0,
3017 { "cause", "hnbap.cause",
3018 FT_UINT32
, BASE_DEC
, VALS(hnbap_Cause_vals
), 0,
3020 { &hf_hnbap_macroCoverageInfo
,
3021 { "macroCoverageInfo", "hnbap.macroCoverageInfo_element",
3022 FT_NONE
, BASE_NONE
, NULL
, 0,
3023 "MacroCoverageInformation", HFILL
}},
3024 { &hf_hnbap_hnb_location_information_geographical_coordinates
,
3025 { "geographicalCoordinates", "hnbap.geographicalCoordinates_element",
3026 FT_NONE
, BASE_NONE
, NULL
, 0,
3027 "GeographicalLocation", HFILL
}},
3028 { &hf_hnbap_hNB_Identity_Info
,
3029 { "hNB-Identity-Info", "hnbap.hNB_Identity_Info",
3030 FT_BYTES
, BASE_NONE
, NULL
, 0,
3032 { &hf_hnbap_iMSIDS41
,
3033 { "iMSIDS41", "hnbap.iMSIDS41",
3034 FT_BYTES
, BASE_NONE
, NULL
, 0,
3037 { "eSN", "hnbap.eSN",
3038 FT_BYTES
, BASE_NONE
, NULL
, 0,
3040 { &hf_hnbap_ipaddress
,
3041 { "ipaddress", "hnbap.ipaddress",
3042 FT_UINT32
, BASE_DEC
, VALS(hnbap_T_ipaddress_vals
), 0,
3044 { &hf_hnbap_ipv4info
,
3045 { "ipv4info", "hnbap.ipv4info",
3046 FT_BYTES
, BASE_NONE
, NULL
, 0,
3047 "Ipv4Address", HFILL
}},
3048 { &hf_hnbap_ipv6info
,
3049 { "ipv6info", "hnbap.ipv6info",
3050 FT_BYTES
, BASE_NONE
, NULL
, 0,
3051 "Ipv6Address", HFILL
}},
3052 { &hf_hnbap_Iurh_Signalling_TNL_AddressList_item
,
3053 { "IP-Address", "hnbap.IP_Address_element",
3054 FT_NONE
, BASE_NONE
, NULL
, 0,
3057 { "pLMNID", "hnbap.pLMNID",
3058 FT_BYTES
, BASE_NONE
, NULL
, 0,
3059 "PLMNidentity", HFILL
}},
3060 { &hf_hnbap_cellIdentity_01
,
3061 { "cellIdentity", "hnbap.cellIdentity",
3062 FT_UINT32
, BASE_DEC
, VALS(hnbap_MacroCellID_vals
), 0,
3063 "MacroCellID", HFILL
}},
3064 { &hf_hnbap_uTRANCellID
,
3065 { "uTRANCellID", "hnbap.uTRANCellID_element",
3066 FT_NONE
, BASE_NONE
, NULL
, 0,
3068 { &hf_hnbap_gERANCellID
,
3069 { "gERANCellID", "hnbap.gERANCellID_element",
3070 FT_NONE
, BASE_NONE
, NULL
, 0,
3072 { &hf_hnbap_NeighbourInfoList_item
,
3073 { "HNBConfigInfo", "hnbap.HNBConfigInfo_element",
3074 FT_NONE
, BASE_NONE
, NULL
, 0,
3076 { &hf_hnbap_NeighbourInfoRequestList_item
,
3077 { "NeighbourInfoRequestItem", "hnbap.NeighbourInfoRequestItem_element",
3078 FT_NONE
, BASE_NONE
, NULL
, 0,
3081 { "pTMSI", "hnbap.pTMSI",
3082 FT_BYTES
, BASE_NONE
, NULL
, 0,
3085 { "rAI", "hnbap.rAI_element",
3086 FT_NONE
, BASE_NONE
, NULL
, 0,
3088 { &hf_hnbap_RABList_item
,
3089 { "RABListItem", "hnbap.RABListItem_element",
3090 FT_NONE
, BASE_NONE
, NULL
, 0,
3093 { "rAB-ID", "hnbap.rAB_ID",
3094 FT_BYTES
, BASE_NONE
, NULL
, 0,
3096 { &hf_hnbap_old_transport_Info
,
3097 { "old-transport-Info", "hnbap.old_transport_Info_element",
3098 FT_NONE
, BASE_NONE
, NULL
, 0,
3099 "TransportInfo", HFILL
}},
3100 { &hf_hnbap_new_transport_Info
,
3101 { "new-transport-Info", "hnbap.new_transport_Info_element",
3102 FT_NONE
, BASE_NONE
, NULL
, 0,
3103 "TransportInfo", HFILL
}},
3104 { &hf_hnbap_cn_domain_indicator
,
3105 { "cn-domain-indicator", "hnbap.cn_domain_indicator",
3106 FT_UINT32
, BASE_DEC
, VALS(hnbap_CN_DomainIndicator_vals
), 0,
3107 "CN_DomainIndicator", HFILL
}},
3109 { "lAI", "hnbap.lAI_element",
3110 FT_NONE
, BASE_NONE
, NULL
, 0,
3113 { "rAC", "hnbap.rAC",
3114 FT_BYTES
, BASE_NONE
, NULL
, 0,
3117 { "tMSI", "hnbap.tMSI",
3118 FT_BYTES
, BASE_NONE
, NULL
, 0,
3119 "BIT_STRING_SIZE_32", HFILL
}},
3120 { &hf_hnbap_transportLayerAddress
,
3121 { "transportLayerAddress", "hnbap.transportLayerAddress",
3122 FT_BYTES
, BASE_NONE
, NULL
, 0,
3124 { &hf_hnbap_transportAssociation
,
3125 { "transportAssociation", "hnbap.transportAssociation",
3126 FT_UINT32
, BASE_DEC
, VALS(hnbap_T_transportAssociation_vals
), 0,
3128 { &hf_hnbap_gtp_TEI
,
3129 { "gtp-TEI", "hnbap.gtp_TEI",
3130 FT_BYTES
, BASE_NONE
, NULL
, 0,
3132 { &hf_hnbap_bindingID
,
3133 { "bindingID", "hnbap.bindingID",
3134 FT_BYTES
, BASE_NONE
, NULL
, 0,
3136 { &hf_hnbap_access_stratum_release_indicator
,
3137 { "access-stratum-release-indicator", "hnbap.access_stratum_release_indicator",
3138 FT_UINT32
, BASE_DEC
, VALS(hnbap_Access_stratum_release_indicator_vals
), 0,
3140 { &hf_hnbap_csg_capability
,
3141 { "csg-capability", "hnbap.csg_capability",
3142 FT_UINT32
, BASE_DEC
, VALS(hnbap_CSG_Capability_vals
), 0,
3144 { &hf_hnbap_uTRANcellID
,
3145 { "uTRANcellID", "hnbap.uTRANcellID",
3146 FT_BYTES
, BASE_NONE
, NULL
, 0,
3147 "CellIdentity", HFILL
}},
3149 { "iMSI", "hnbap.iMSI",
3150 FT_BYTES
, BASE_NONE
, NULL
, 0,
3152 { &hf_hnbap_tMSILAI
,
3153 { "tMSILAI", "hnbap.tMSILAI_element",
3154 FT_NONE
, BASE_NONE
, NULL
, 0,
3156 { &hf_hnbap_pTMSIRAI
,
3157 { "pTMSIRAI", "hnbap.pTMSIRAI_element",
3158 FT_NONE
, BASE_NONE
, NULL
, 0,
3161 { "iMEI", "hnbap.iMEI",
3162 FT_BYTES
, BASE_NONE
, NULL
, 0,
3164 { &hf_hnbap_iMSIESN
,
3165 { "iMSIESN", "hnbap.iMSIESN_element",
3166 FT_NONE
, BASE_NONE
, NULL
, 0,
3168 { &hf_hnbap_tMSIDS41
,
3169 { "tMSIDS41", "hnbap.tMSIDS41",
3170 FT_BYTES
, BASE_NONE
, NULL
, 0,
3172 { &hf_hnbap_protocolIEs
,
3173 { "protocolIEs", "hnbap.protocolIEs",
3174 FT_UINT32
, BASE_DEC
, NULL
, 0,
3175 "ProtocolIE_Container", HFILL
}},
3176 { &hf_hnbap_protocolExtensions
,
3177 { "protocolExtensions", "hnbap.protocolExtensions",
3178 FT_UINT32
, BASE_DEC
, NULL
, 0,
3179 "ProtocolExtensionContainer", HFILL
}},
3180 { &hf_hnbap_privateIEs
,
3181 { "privateIEs", "hnbap.privateIEs",
3182 FT_UINT32
, BASE_DEC
, NULL
, 0,
3183 "PrivateIE_Container", HFILL
}},
3184 { &hf_hnbap_initiatingMessage
,
3185 { "initiatingMessage", "hnbap.initiatingMessage_element",
3186 FT_NONE
, BASE_NONE
, NULL
, 0,
3188 { &hf_hnbap_successfulOutcome
,
3189 { "successfulOutcome", "hnbap.successfulOutcome_element",
3190 FT_NONE
, BASE_NONE
, NULL
, 0,
3192 { &hf_hnbap_unsuccessfulOutcome
,
3193 { "unsuccessfulOutcome", "hnbap.unsuccessfulOutcome_element",
3194 FT_NONE
, BASE_NONE
, NULL
, 0,
3196 { &hf_hnbap_initiatingMessagevalue
,
3197 { "value", "hnbap.value_element",
3198 FT_NONE
, BASE_NONE
, NULL
, 0,
3199 "InitiatingMessage_value", HFILL
}},
3200 { &hf_hnbap_successfulOutcome_value
,
3201 { "value", "hnbap.value_element",
3202 FT_NONE
, BASE_NONE
, NULL
, 0,
3203 "SuccessfulOutcome_value", HFILL
}},
3204 { &hf_hnbap_unsuccessfulOutcome_value
,
3205 { "value", "hnbap.value_element",
3206 FT_NONE
, BASE_NONE
, NULL
, 0,
3207 "UnsuccessfulOutcome_value", HFILL
}},
3209 /*--- End of included file: packet-hnbap-hfarr.c ---*/
3210 #line 153 "../../asn1/hnbap/packet-hnbap-template.c"
3213 /* List of subtrees */
3214 static gint
*ett
[] = {
3217 /*--- Included file: packet-hnbap-ettarr.c ---*/
3218 #line 1 "../../asn1/hnbap/packet-hnbap-ettarr.c"
3219 &ett_hnbap_PrivateIE_ID
,
3220 &ett_hnbap_ProtocolIE_Container
,
3221 &ett_hnbap_ProtocolIE_Field
,
3222 &ett_hnbap_ProtocolExtensionContainer
,
3223 &ett_hnbap_ProtocolExtensionField
,
3224 &ett_hnbap_PrivateIE_Container
,
3225 &ett_hnbap_PrivateIE_Field
,
3226 &ett_hnbap_AltitudeAndDirection
,
3228 &ett_hnbap_CriticalityDiagnostics
,
3229 &ett_hnbap_CriticalityDiagnostics_IE_List
,
3230 &ett_hnbap_CriticalityDiagnostics_IE_List_item
,
3232 &ett_hnbap_GeographicalLocation
,
3233 &ett_hnbap_GeographicalCoordinates
,
3234 &ett_hnbap_HNB_Cell_Identifier
,
3235 &ett_hnbap_HNB_RNL_Identity
,
3236 &ett_hnbap_HNBConfigInfo
,
3237 &ett_hnbap_ConfigurationInformation
,
3238 &ett_hnbap_HNBConfigurationInformationProvided
,
3239 &ett_hnbap_HNBConfigurationInformationMissing
,
3240 &ett_hnbap_HNB_Location_Information
,
3241 &ett_hnbap_HNB_Identity
,
3243 &ett_hnbap_IP_Address
,
3244 &ett_hnbap_T_ipaddress
,
3245 &ett_hnbap_Iurh_Signalling_TNL_AddressList
,
3247 &ett_hnbap_MacroCoverageInformation
,
3248 &ett_hnbap_MacroCellID
,
3249 &ett_hnbap_NeighbourInfoList
,
3250 &ett_hnbap_NeighbourInfoRequestList
,
3251 &ett_hnbap_NeighbourInfoRequestItem
,
3252 &ett_hnbap_PTMSIRAI
,
3254 &ett_hnbap_RABListItem
,
3257 &ett_hnbap_TransportInfo
,
3258 &ett_hnbap_T_transportAssociation
,
3259 &ett_hnbap_UE_Capabilities
,
3260 &ett_hnbap_UTRANCellID
,
3261 &ett_hnbap_UE_Identity
,
3262 &ett_hnbap_HNBRegisterRequest
,
3263 &ett_hnbap_HNBRegisterAccept
,
3264 &ett_hnbap_HNBRegisterReject
,
3265 &ett_hnbap_HNBDe_Register
,
3266 &ett_hnbap_UERegisterRequest
,
3267 &ett_hnbap_UERegisterAccept
,
3268 &ett_hnbap_UERegisterReject
,
3269 &ett_hnbap_UEDe_Register
,
3270 &ett_hnbap_CSGMembershipUpdate
,
3271 &ett_hnbap_TNLUpdateRequest
,
3272 &ett_hnbap_TNLUpdateResponse
,
3273 &ett_hnbap_TNLUpdateFailure
,
3274 &ett_hnbap_HNBConfigTransferRequest
,
3275 &ett_hnbap_HNBConfigTransferResponse
,
3276 &ett_hnbap_RelocationComplete
,
3277 &ett_hnbap_ErrorIndication
,
3278 &ett_hnbap_PrivateMessage
,
3279 &ett_hnbap_HNBAP_PDU
,
3280 &ett_hnbap_InitiatingMessage
,
3281 &ett_hnbap_SuccessfulOutcome
,
3282 &ett_hnbap_UnsuccessfulOutcome
,
3284 /*--- End of included file: packet-hnbap-ettarr.c ---*/
3285 #line 159 "../../asn1/hnbap/packet-hnbap-template.c"
3289 /* Register protocol */
3290 proto_hnbap
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
3291 /* Register fields and subtrees */
3292 proto_register_field_array(proto_hnbap
, hf
, array_length(hf
));
3293 proto_register_subtree_array(ett
, array_length(ett
));
3295 /* Register dissector */
3296 register_dissector("hnbap", dissect_hnbap
, proto_hnbap
);
3298 /* Register dissector tables */
3299 hnbap_ies_dissector_table
= register_dissector_table("hnbap.ies", "HNBAP-PROTOCOL-IES", FT_UINT32
, BASE_DEC
);
3300 hnbap_extension_dissector_table
= register_dissector_table("hnbap.extension", "HNBAP-PROTOCOL-EXTENSION", FT_UINT32
, BASE_DEC
);
3301 hnbap_proc_imsg_dissector_table
= register_dissector_table("hnbap.proc.imsg", "HNBAP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32
, BASE_DEC
);
3302 hnbap_proc_sout_dissector_table
= register_dissector_table("hnbap.proc.sout", "HNBAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32
, BASE_DEC
);
3303 hnbap_proc_uout_dissector_table
= register_dissector_table("hnbap.proc.uout", "HNBAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32
, BASE_DEC
);
3305 hnbap_module
= prefs_register_protocol(proto_hnbap
, proto_reg_handoff_hnbap
);
3306 prefs_register_uint_preference(hnbap_module
, "port", "HNBAP SCTP Port", "Set the port for HNBAP messages (Default of 29169)", 10, &global_sctp_port
);
3310 /*--- proto_reg_handoff_hnbap ---------------------------------------*/
3312 proto_reg_handoff_hnbap(void)
3314 static gboolean initialized
= FALSE
;
3315 static dissector_handle_t hnbap_handle
;
3316 static guint sctp_port
;
3319 hnbap_handle
= find_dissector("hnbap");
3320 dissector_add_uint("sctp.ppi", HNBAP_PAYLOAD_PROTOCOL_ID
, hnbap_handle
);
3323 /*--- Included file: packet-hnbap-dis-tab.c ---*/
3324 #line 1 "../../asn1/hnbap/packet-hnbap-dis-tab.c"
3325 dissector_add_uint("hnbap.ies", id_Cause
, new_create_dissector_handle(dissect_Cause_PDU
, proto_hnbap
));
3326 dissector_add_uint("hnbap.ies", id_CriticalityDiagnostics
, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU
, proto_hnbap
));
3327 dissector_add_uint("hnbap.ies", id_HNB_Identity
, new_create_dissector_handle(dissect_HNB_Identity_PDU
, proto_hnbap
));
3328 dissector_add_uint("hnbap.ies", id_Context_ID
, new_create_dissector_handle(dissect_Context_ID_PDU
, proto_hnbap
));
3329 dissector_add_uint("hnbap.ies", id_UE_Identity
, new_create_dissector_handle(dissect_UE_Identity_PDU
, proto_hnbap
));
3330 dissector_add_uint("hnbap.ies", id_LAC
, new_create_dissector_handle(dissect_LAC_PDU
, proto_hnbap
));
3331 dissector_add_uint("hnbap.ies", id_RAC
, new_create_dissector_handle(dissect_RAC_PDU
, proto_hnbap
));
3332 dissector_add_uint("hnbap.ies", id_HNB_Location_Information
, new_create_dissector_handle(dissect_HNB_Location_Information_PDU
, proto_hnbap
));
3333 dissector_add_uint("hnbap.ies", id_PLMNidentity
, new_create_dissector_handle(dissect_PLMNidentity_PDU
, proto_hnbap
));
3334 dissector_add_uint("hnbap.ies", id_SAC
, new_create_dissector_handle(dissect_SAC_PDU
, proto_hnbap
));
3335 dissector_add_uint("hnbap.ies", id_CellIdentity
, new_create_dissector_handle(dissect_CellIdentity_PDU
, proto_hnbap
));
3336 dissector_add_uint("hnbap.ies", id_Registration_Cause
, new_create_dissector_handle(dissect_Registration_Cause_PDU
, proto_hnbap
));
3337 dissector_add_uint("hnbap.ies", id_UE_Capabilities
, new_create_dissector_handle(dissect_UE_Capabilities_PDU
, proto_hnbap
));
3338 dissector_add_uint("hnbap.ies", id_RNC_ID
, new_create_dissector_handle(dissect_RNC_ID_PDU
, proto_hnbap
));
3339 dissector_add_uint("hnbap.ies", id_CSG_ID
, new_create_dissector_handle(dissect_CSG_ID_PDU
, proto_hnbap
));
3340 dissector_add_uint("hnbap.ies", id_BackoffTimer
, new_create_dissector_handle(dissect_BackoffTimer_PDU
, proto_hnbap
));
3341 dissector_add_uint("hnbap.ies", id_CSGMembershipStatus
, new_create_dissector_handle(dissect_CSGMembershipStatus_PDU
, proto_hnbap
));
3342 dissector_add_uint("hnbap.ies", id_RABList
, new_create_dissector_handle(dissect_RABList_PDU
, proto_hnbap
));
3343 dissector_add_uint("hnbap.ies", id_Update_cause
, new_create_dissector_handle(dissect_Update_cause_PDU
, proto_hnbap
));
3344 dissector_add_uint("hnbap.ies", id_NeighbourInfoList
, new_create_dissector_handle(dissect_NeighbourInfoList_PDU
, proto_hnbap
));
3345 dissector_add_uint("hnbap.ies", id_NeighbourInfoRequestList
, new_create_dissector_handle(dissect_NeighbourInfoRequestList_PDU
, proto_hnbap
));
3346 dissector_add_uint("hnbap.extension", id_HNB_Internet_Information
, new_create_dissector_handle(dissect_IP_Address_PDU
, proto_hnbap
));
3347 dissector_add_uint("hnbap.extension", id_HNB_Cell_Access_Mode
, new_create_dissector_handle(dissect_HNB_Cell_Access_Mode_PDU
, proto_hnbap
));
3348 dissector_add_uint("hnbap.extension", id_MuxPortNumber
, new_create_dissector_handle(dissect_MuxPortNumber_PDU
, proto_hnbap
));
3349 dissector_add_uint("hnbap.extension", id_CSGMembershipStatus
, new_create_dissector_handle(dissect_CSGMembershipStatus_PDU
, proto_hnbap
));
3350 dissector_add_uint("hnbap.extension", id_Iurh_Signalling_TNL_Address
, new_create_dissector_handle(dissect_IP_Address_PDU
, proto_hnbap
));
3351 dissector_add_uint("hnbap.extension", id_PSC
, new_create_dissector_handle(dissect_PSC_PDU
, proto_hnbap
));
3352 dissector_add_uint("hnbap.proc.imsg", id_HNBRegister
, new_create_dissector_handle(dissect_HNBRegisterRequest_PDU
, proto_hnbap
));
3353 dissector_add_uint("hnbap.proc.sout", id_HNBRegister
, new_create_dissector_handle(dissect_HNBRegisterAccept_PDU
, proto_hnbap
));
3354 dissector_add_uint("hnbap.proc.uout", id_HNBRegister
, new_create_dissector_handle(dissect_HNBRegisterReject_PDU
, proto_hnbap
));
3355 dissector_add_uint("hnbap.proc.imsg", id_UERegister
, new_create_dissector_handle(dissect_UERegisterRequest_PDU
, proto_hnbap
));
3356 dissector_add_uint("hnbap.proc.sout", id_UERegister
, new_create_dissector_handle(dissect_UERegisterAccept_PDU
, proto_hnbap
));
3357 dissector_add_uint("hnbap.proc.uout", id_UERegister
, new_create_dissector_handle(dissect_UERegisterReject_PDU
, proto_hnbap
));
3358 dissector_add_uint("hnbap.proc.imsg", id_TNLUpdate
, new_create_dissector_handle(dissect_TNLUpdateRequest_PDU
, proto_hnbap
));
3359 dissector_add_uint("hnbap.proc.sout", id_TNLUpdate
, new_create_dissector_handle(dissect_TNLUpdateResponse_PDU
, proto_hnbap
));
3360 dissector_add_uint("hnbap.proc.uout", id_TNLUpdate
, new_create_dissector_handle(dissect_TNLUpdateFailure_PDU
, proto_hnbap
));
3361 dissector_add_uint("hnbap.proc.imsg", id_HNBConfigTransfer
, new_create_dissector_handle(dissect_HNBConfigTransferRequest_PDU
, proto_hnbap
));
3362 dissector_add_uint("hnbap.proc.sout", id_HNBConfigTransfer
, new_create_dissector_handle(dissect_HNBConfigTransferResponse_PDU
, proto_hnbap
));
3363 dissector_add_uint("hnbap.proc.imsg", id_RelocationComplete
, new_create_dissector_handle(dissect_RelocationComplete_PDU
, proto_hnbap
));
3364 dissector_add_uint("hnbap.proc.imsg", id_UEDe_Register
, new_create_dissector_handle(dissect_UEDe_Register_PDU
, proto_hnbap
));
3365 dissector_add_uint("hnbap.proc.imsg", id_HNBDe_Register
, new_create_dissector_handle(dissect_HNBDe_Register_PDU
, proto_hnbap
));
3366 dissector_add_uint("hnbap.proc.imsg", id_ErrorIndication
, new_create_dissector_handle(dissect_ErrorIndication_PDU
, proto_hnbap
));
3367 dissector_add_uint("hnbap.proc.imsg", id_CSGMembershipUpdate
, new_create_dissector_handle(dissect_CSGMembershipUpdate_PDU
, proto_hnbap
));
3368 dissector_add_uint("hnbap.proc.imsg", id_privateMessage
, new_create_dissector_handle(dissect_PrivateMessage_PDU
, proto_hnbap
));
3371 /*--- End of included file: packet-hnbap-dis-tab.c ---*/
3372 #line 196 "../../asn1/hnbap/packet-hnbap-template.c"
3375 dissector_delete_uint("sctp.port", sctp_port
, hnbap_handle
);
3377 /* Set our port number for future use */
3378 sctp_port
= global_sctp_port
;
3379 dissector_add_uint("sctp.port", sctp_port
, hnbap_handle
);