1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler */
3 /* .\packet-gsm_map.c */
4 /* ../../tools/asn2eth.py -X -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn */
6 /* Input file: packet-gsm_map-template.c */
8 #line 1 "packet-gsm_map-template.c"
9 /* packet-gsm_map-template.c
10 * Routines for GSM MobileApplication packet dissection
11 * Copyright 2004 - 2005 , Anders Broman <anders.broman [AT] ericsson.com>
12 * Based on the dissector by:
13 * Felix Fei <felix.fei [AT] utstar.com>
14 * and Michael Lum <mlum [AT] telostech.com>
18 * Ethereal - Network traffic analyzer
19 * By Gerald Combs <gerald@ethereal.com>
20 * Copyright 1998 Gerald Combs
22 * This program is free software; you can redistribute it and/or
23 * modify it under the terms of the GNU General Public License
24 * as published by the Free Software Foundation; either version 2
25 * of the License, or (at your option) any later version.
27 * This program is distributed in the hope that it will be useful,
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 * GNU General Public License for more details.
32 * You should have received a copy of the GNU General Public License
33 * along with this program; if not, write to the Free Software
34 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
35 * References: ETSI TS 129 002
36 * Updated to ETSI TS 129 002 V6.9.0 (2005-3GPP TS 29.002 version 6.9.0 Release 6)
44 #include <epan/packet.h>
45 #include <epan/prefs.h>
46 #include <epan/conversation.h>
48 #include <epan/emem.h>
53 #include "packet-ber.h"
54 #include "packet-q931.h"
55 #include "packet-gsm_map.h"
56 #include "packet-gsm_a.h"
57 #include "packet-tcap.h"
59 #define PNAME "GSM Mobile Application"
60 #define PSNAME "GSM_MAP"
61 #define PFNAME "gsm_map"
63 /* Initialize the protocol and registered fields */
64 int proto_gsm_map = -1;
66 static int hf_gsm_map_invokeCmd = -1; / Opcode /
67 static int hf_gsm_map_invokeid = -1; / INTEGER /
68 static int hf_gsm_map_absent = -1; / NULL /
69 static int hf_gsm_map_invokeId = -1; / InvokeId /
70 static int hf_gsm_map_invoke = -1; / InvokePDU /
71 static int hf_gsm_map_returnResult = -1; / InvokePDU /
72 static int hf_gsm_map_returnResult_result = -1;
73 static int hf_gsm_map_returnError_result = -1;
74 static int hf_gsm_map_returnError = -1;
75 static int hf_gsm_map_local_errorCode = -1;
76 static int hf_gsm_map_global_errorCode_oid = -1;
77 static int hf_gsm_map_global_errorCode = -1;
79 static int hf_gsm_map_SendAuthenticationInfoArg = -1;
80 static int hf_gsm_map_SendAuthenticationInfoRes = -1;
81 static int hf_gsm_mapSendEndSignal = -1;
82 static int hf_gsm_map_getPassword = -1;
83 static int hf_gsm_map_currentPassword = -1;
84 static int hf_gsm_map_extension = -1;
85 static int hf_gsm_map_nature_of_number = -1;
86 static int hf_gsm_map_number_plan = -1;
87 static int hf_gsm_map_isdn_address_digits = -1;
88 static int hf_gsm_map_address_digits = -1;
89 static int hf_gsm_map_servicecentreaddress_digits = -1;
90 static int hf_gsm_map_imsi_digits = -1;
91 static int hf_gsm_map_Ss_Status_unused = -1;
92 static int hf_gsm_map_Ss_Status_q_bit = -1;
93 static int hf_gsm_map_Ss_Status_p_bit = -1;
94 static int hf_gsm_map_Ss_Status_r_bit = -1;
95 static int hf_gsm_map_Ss_Status_a_bit = -1;
96 static int hf_gsm_map_notification_to_forwarding_party = -1;
97 static int hf_gsm_map_redirecting_presentation = -1;
98 static int hf_gsm_map_notification_to_calling_party = -1;
99 static int hf_gsm_map_forwarding_reason = -1;
100 static int hf_gsm_map_pdp_type_org = -1;
101 static int hf_gsm_map_etsi_pdp_type_number = -1;
102 static int hf_gsm_map_ietf_pdp_type_number = -1;
103 static int hf_gsm_map_ext_qos_subscribed_pri = -1;
105 static int hf_gsm_map_qos_traffic_cls = -1;
106 static int hf_gsm_map_qos_del_order = -1;
107 static int hf_gsm_map_qos_del_of_err_sdu = -1;
108 static int hf_gsm_map_qos_ber = -1;
109 static int hf_gsm_map_qos_sdu_err_rat = -1;
110 static int hf_gsm_map_qos_traff_hdl_pri = -1;
111 static int hf_gsm_map_qos_max_sdu = -1;
112 static int hf_gsm_map_max_brate_ulink = -1;
113 static int hf_gsm_map_max_brate_dlink = -1;
114 static int hf_gsm_map_qos_transfer_delay = -1;
115 static int hf_gsm_map_guaranteed_max_brate_ulink = -1;
116 static int hf_gsm_map_guaranteed_max_brate_dlink = -1;
119 /*--- Included file: packet-gsm_map-hf.c ---*/
120 #line 1 "packet-gsm_map-hf.c"
121 static int hf_gsm_map_Component_PDU = -1; /* Component */
122 static int hf_gsm_map_invoke = -1; /* Invoke */
123 static int hf_gsm_map_returnResultLast = -1; /* ReturnResult */
124 static int hf_gsm_map_returnError = -1; /* ReturnError */
125 static int hf_gsm_map_reject = -1; /* Reject */
126 static int hf_gsm_map_invokeID = -1; /* InvokeIdType */
127 static int hf_gsm_map_linkedID = -1; /* InvokeIdType */
128 static int hf_gsm_map_opCode = -1; /* OPERATION */
129 static int hf_gsm_map_invokeparameter = -1; /* InvokeParameter */
130 static int hf_gsm_map_resultretres = -1; /* T_resultretres */
131 static int hf_gsm_map_returnparameter = -1; /* ReturnResultParameter */
132 static int hf_gsm_map_errorCode = -1; /* ERROR */
133 static int hf_gsm_map_parameter = -1; /* ReturnErrorParameter */
134 static int hf_gsm_map_invokeIDRej = -1; /* T_invokeIDRej */
135 static int hf_gsm_map_derivable = -1; /* InvokeIdType */
136 static int hf_gsm_map_not_derivable = -1; /* NULL */
137 static int hf_gsm_map_problem = -1; /* T_problem */
138 static int hf_gsm_map_generalProblem = -1; /* GeneralProblem */
139 static int hf_gsm_map_invokeProblem = -1; /* InvokeProblem */
140 static int hf_gsm_map_returnResultProblem = -1; /* ReturnResultProblem */
141 static int hf_gsm_map_returnErrorProblem = -1; /* ReturnErrorProblem */
142 static int hf_gsm_map_localValue = -1; /* OperationLocalvalue */
143 static int hf_gsm_map_globalValue = -1; /* OBJECT_IDENTIFIER */
144 static int hf_gsm_map_localValue1 = -1; /* LocalErrorcode */
145 static int hf_gsm_map_protocolId = -1; /* ProtocolId */
146 static int hf_gsm_map_signalInfo = -1; /* SignalInfo */
147 static int hf_gsm_map_extensionContainer = -1; /* ExtensionContainer */
148 static int hf_gsm_map_imsi = -1; /* IMSI */
149 static int hf_gsm_map_msc_Number = -1; /* ISDN_AddressString */
150 static int hf_gsm_map_vlr_Number = -1; /* ISDN_AddressString */
151 static int hf_gsm_map_lmsi = -1; /* LMSI */
152 static int hf_gsm_map_vlr_Capability = -1; /* VLR_Capability */
153 static int hf_gsm_map_informPreviousNetworkEntity = -1; /* NULL */
154 static int hf_gsm_map_cs_LCS_NotSupportedByUE = -1; /* NULL */
155 static int hf_gsm_map_v_gmlc_Address = -1; /* GSN_Address */
156 static int hf_gsm_map_add_info = -1; /* ADD_Info */
157 static int hf_gsm_map_hlr_Number = -1; /* ISDN_AddressString */
158 static int hf_gsm_map_add_Capability = -1; /* NULL */
159 static int hf_gsm_map_supportedCamelPhases = -1; /* SupportedCamelPhases */
160 static int hf_gsm_map_solsaSupportIndicator = -1; /* NULL */
161 static int hf_gsm_map_istSupportIndicator = -1; /* IST_SupportIndicator */
162 static int hf_gsm_map_superChargerSupportedInServingNetworkEntity = -1; /* SuperChargerInfo */
163 static int hf_gsm_map_longFTN_Supported = -1; /* NULL */
164 static int hf_gsm_map_supportedLCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
165 static int hf_gsm_map_offeredCamel4CSIs = -1; /* OfferedCamel4CSIs */
166 static int hf_gsm_map_sendSubscriberData = -1; /* NULL */
167 static int hf_gsm_map_subscriberDataStored = -1; /* AgeIndicator */
168 static int hf_gsm_map_imeisv = -1; /* IMEI */
169 static int hf_gsm_map_skipSubscriberDataUpdate = -1; /* NULL */
170 static int hf_gsm_map_PrivateExtensionList_item = -1; /* PrivateExtension */
171 static int hf_gsm_map_extId = -1; /* OBJECT_IDENTIFIER */
172 static int hf_gsm_map_extType = -1; /* T_extType */
173 static int hf_gsm_map_privateExtensionList = -1; /* PrivateExtensionList */
174 static int hf_gsm_map_slr_Arg_PCS_Extensions = -1; /* SLR_Arg_PCS_Extensions */
175 static int hf_gsm_map_na_ESRK_Request = -1; /* NULL */
176 static int hf_gsm_map_identity = -1; /* Identity */
177 static int hf_gsm_map_cancellationType = -1; /* CancellationType */
178 static int hf_gsm_map_imsi_WithLMSI = -1; /* IMSI_WithLMSI */
179 static int hf_gsm_map_sgsn_Number = -1; /* ISDN_AddressString */
180 static int hf_gsm_map_freezeTMSI = -1; /* NULL */
181 static int hf_gsm_map_freezeP_TMSI = -1; /* NULL */
182 static int hf_gsm_map_tmsi = -1; /* TMSI */
183 static int hf_gsm_map_numberOfRequestedVectors = -1; /* NumberOfRequestedVectors */
184 static int hf_gsm_map_segmentationProhibited = -1; /* NULL */
185 static int hf_gsm_map_previous_LAI = -1; /* LAIFixedLength */
186 static int hf_gsm_map_hopCounter = -1; /* HopCounter */
187 static int hf_gsm_map_authenticationSetList = -1; /* AuthenticationSetList */
188 static int hf_gsm_map_currentSecurityContext = -1; /* CurrentSecurityContext */
189 static int hf_gsm_map_tripletList = -1; /* TripletList */
190 static int hf_gsm_map_quintupletList = -1; /* QuintupletList */
191 static int hf_gsm_map_TripletList_item = -1; /* AuthenticationTriplet */
192 static int hf_gsm_map_QuintupletList_item = -1; /* AuthenticationQuintuplet */
193 static int hf_gsm_map_rand = -1; /* RAND */
194 static int hf_gsm_map_sres = -1; /* SRES */
195 static int hf_gsm_map_kc = -1; /* Kc */
196 static int hf_gsm_map_xres = -1; /* XRES */
197 static int hf_gsm_map_ck = -1; /* CK */
198 static int hf_gsm_map_ik = -1; /* IK */
199 static int hf_gsm_map_autn = -1; /* AUTN */
200 static int hf_gsm_map_gsm_SecurityContextData = -1; /* GSM_SecurityContextData */
201 static int hf_gsm_map_umts_SecurityContextData = -1; /* UMTS_SecurityContextData */
202 static int hf_gsm_map_cksn = -1; /* Cksn */
203 static int hf_gsm_map_ksi = -1; /* KSI */
204 static int hf_gsm_map_targetCellId = -1; /* GlobalCellId */
205 static int hf_gsm_map_ho_NumberNotRequired = -1; /* NULL */
206 static int hf_gsm_map_bss_APDU = -1; /* Bss_APDU */
207 static int hf_gsm_map_targetRNCId = -1; /* RNCId */
208 static int hf_gsm_map_an_APDU = -1; /* AccessNetworkSignalInfo */
209 static int hf_gsm_map_multipleBearerRequested = -1; /* NULL */
210 static int hf_gsm_map_integrityProtectionInfo = -1; /* IntegrityProtectionInformation */
211 static int hf_gsm_map_encryptionInfo = -1; /* EncryptionInformation */
212 static int hf_gsm_map_radioResourceInformation = -1; /* RadioResourceInformation */
213 static int hf_gsm_map_allowedGSM_Algorithms = -1; /* AllowedGSM_Algorithms */
214 static int hf_gsm_map_allowedUMTS_Algorithms = -1; /* AllowedUMTS_Algorithms */
215 static int hf_gsm_map_radioResourceList = -1; /* RadioResourceList */
216 static int hf_gsm_map_rab_Id = -1; /* RAB_Id */
217 static int hf_gsm_map_bssmap_ServiceHandover = -1; /* BSSMAP_ServiceHandover */
218 static int hf_gsm_map_ranap_ServiceHandover = -1; /* RANAP_ServiceHandover */
219 static int hf_gsm_map_bssmap_ServiceHandoverList = -1; /* BSSMAP_ServiceHandoverList */
220 static int hf_gsm_map_asciCallReference = -1; /* ASCI_CallReference */
221 static int hf_gsm_map_geran_classmark = -1; /* GERAN_Classmark */
222 static int hf_gsm_map_iuCurrentlyUsedCodec = -1; /* Codec */
223 static int hf_gsm_map_iuSupportedCodecsList = -1; /* SupportedCodecsList */
224 static int hf_gsm_map_rab_ConfigurationIndicator = -1; /* NULL */
225 static int hf_gsm_map_uesbi_Iu = -1; /* UESBI_Iu */
226 static int hf_gsm_map_BSSMAP_ServiceHandoverList_item = -1; /* BSSMAP_ServiceHandoverInfo */
227 static int hf_gsm_map_RadioResourceList_item = -1; /* RadioResource */
228 static int hf_gsm_map_handoverNumber = -1; /* ISDN_AddressString */
229 static int hf_gsm_map_relocationNumberList = -1; /* RelocationNumberList */
230 static int hf_gsm_map_multicallBearerInfo = -1; /* MulticallBearerInfo */
231 static int hf_gsm_map_multipleBearerNotSupported = -1; /* NULL */
232 static int hf_gsm_map_selectedUMTS_Algorithms = -1; /* SelectedUMTS_Algorithms */
233 static int hf_gsm_map_chosenRadioResourceInformation = -1; /* ChosenRadioResourceInformation */
234 static int hf_gsm_map_iuSelectedCodec = -1; /* Codec */
235 static int hf_gsm_map_iuAvailableCodecsList = -1; /* CodecList */
236 static int hf_gsm_map_integrityProtectionAlgorithm = -1; /* ChosenIntegrityProtectionAlgorithm */
237 static int hf_gsm_map_encryptionAlgorithm = -1; /* ChosenEncryptionAlgorithm */
238 static int hf_gsm_map_chosenChannelInfo = -1; /* ChosenChannelInfo */
239 static int hf_gsm_map_chosenSpeechVersion = -1; /* ChosenSpeechVersion */
240 static int hf_gsm_map_RelocationNumberList_item = -1; /* RelocationNumber */
241 static int hf_gsm_map_selectedGSM_Algorithm = -1; /* SelectedGSM_Algorithm */
242 static int hf_gsm_map_selectedRab_Id = -1; /* RAB_Id */
243 static int hf_gsm_map_iUSelectedCodec = -1; /* Codec */
244 static int hf_gsm_map_utranCodecList = -1; /* CodecList */
245 static int hf_gsm_map_geranCodecList = -1; /* CodecList */
246 static int hf_gsm_map_codec1 = -1; /* Codec */
247 static int hf_gsm_map_codec2 = -1; /* Codec */
248 static int hf_gsm_map_codec3 = -1; /* Codec */
249 static int hf_gsm_map_codec4 = -1; /* Codec */
250 static int hf_gsm_map_codec5 = -1; /* Codec */
251 static int hf_gsm_map_codec6 = -1; /* Codec */
252 static int hf_gsm_map_codec7 = -1; /* Codec */
253 static int hf_gsm_map_codec8 = -1; /* Codec */
254 static int hf_gsm_map_keyStatus = -1; /* KeyStatus */
255 static int hf_gsm_map_currentlyUsedCodec = -1; /* Codec */
256 static int hf_gsm_map_integrityProtectionAlgorithms = -1; /* PermittedIntegrityProtectionAlgorithms */
257 static int hf_gsm_map_encryptionAlgorithms = -1; /* PermittedEncryptionAlgorithms */
258 static int hf_gsm_map_targetMSC_Number = -1; /* ISDN_AddressString */
259 static int hf_gsm_map_immediateResponsePreferred = -1; /* NULL */
260 static int hf_gsm_map_re_synchronisationInfo = -1; /* Re_synchronisationInfo */
261 static int hf_gsm_map_requestingNodeType = -1; /* RequestingNodeType */
262 static int hf_gsm_map_requestingPLMN_Id = -1; /* PLMN_Id */
263 static int hf_gsm_map_SendAuthenticationInfoRes_item = -1; /* SendAuthenticationInfoRes_item */
264 static int hf_gsm_map_auts = -1; /* AUTS */
265 static int hf_gsm_map_imei = -1; /* IMEI */
266 static int hf_gsm_map_requestedEquipmentInfo = -1; /* RequestedEquipmentInfo */
267 static int hf_gsm_map_equipmentStatus = -1; /* EquipmentStatus */
268 static int hf_gsm_map_bmuef = -1; /* UESBI_Iu */
269 static int hf_gsm_map_uesbi_IuA = -1; /* UESBI_IuA */
270 static int hf_gsm_map_uesbi_IuB = -1; /* UESBI_IuB */
271 static int hf_gsm_map_bearerservice = -1; /* Bearerservice */
272 static int hf_gsm_map_teleservice = -1; /* Teleservice */
273 static int hf_gsm_map_BasicServiceGroupList_item = -1; /* BasicService */
274 static int hf_gsm_map_bcsmTriggerDetectionPoint = -1; /* BcsmTriggerDetectionPoint */
275 static int hf_gsm_map_serviceKey = -1; /* ServiceKey */
276 static int hf_gsm_map_gsmSCFAddress = -1; /* GsmSCF_Address */
277 static int hf_gsm_map_defaultCallHandling = -1; /* DefaultCallHandling */
278 static int hf_gsm_map_BcsmCamelTDPDataList_item = -1; /* BcsmCamelTDPData */
279 static int hf_gsm_map_o_BcsmCamelTDPDataList = -1; /* O_BcsmCamelTDPDataList */
280 static int hf_gsm_map_camelCapabilityHandling = -1; /* CamelCapabilityHandling */
281 static int hf_gsm_map_notificationToCSE = -1; /* NULL */
282 static int hf_gsm_map_csiActive = -1; /* NULL */
283 static int hf_gsm_map_O_BcsmCamelTDPDataList_item = -1; /* O_BcsmCamelTDPData */
284 static int hf_gsm_map_o_BcsmTriggerDetectionPoint = -1; /* O_BcsmTriggerDetectionPoint */
285 static int hf_gsm_map_gsmSCF_Address = -1; /* ISDN_AddressString */
286 static int hf_gsm_map_msisdn = -1; /* ISDN_AddressString */
287 static int hf_gsm_map_category = -1; /* Category */
288 static int hf_gsm_map_subscriberStatus = -1; /* SubscriberStatus */
289 static int hf_gsm_map_bearerserviceList = -1; /* BearerServiceList */
290 static int hf_gsm_map_teleserviceList = -1; /* TeleserviceList */
291 static int hf_gsm_map_provisionedSS = -1; /* Ext_SS_InfoList */
292 static int hf_gsm_map_odb_Data = -1; /* ODB_Data */
293 static int hf_gsm_map_roamingRestrictionDueToUnsupportedFeature = -1; /* NULL */
294 static int hf_gsm_map_regionalSubscriptionData = -1; /* ZoneCodeList */
295 static int hf_gsm_map_vbsSubscriptionData = -1; /* VBSDataList */
296 static int hf_gsm_map_vgcsSubscriptionData = -1; /* VGCSDataList */
297 static int hf_gsm_map_vlrCamelSubscriptionInfo = -1; /* VlrCamelSubscriptionInfo */
298 static int hf_gsm_map_naea_PreferredCI = -1; /* NAEA_PreferredCI */
299 static int hf_gsm_map_gprsSubscriptionData = -1; /* GPRSSubscriptionData */
300 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature = -1; /* NULL */
301 static int hf_gsm_map_networkAccessMode = -1; /* NetworkAccessMode */
302 static int hf_gsm_map_lsaInformation = -1; /* LSAInformation */
303 static int hf_gsm_map_lmu_Indicator = -1; /* NULL */
304 static int hf_gsm_map_lcsInformation = -1; /* LCSInformation */
305 static int hf_gsm_map_istAlertTimer = -1; /* IST_AlertTimerValue */
306 static int hf_gsm_map_superChargerSupportedInHLR = -1; /* AgeIndicator */
307 static int hf_gsm_map_mc_SS_Info = -1; /* MC_SS_Info */
308 static int hf_gsm_map_cs_AllocationRetentionPriority = -1; /* CS_AllocationRetentionPriority */
309 static int hf_gsm_map_sgsn_CAMEL_SubscriptionInfo = -1; /* SGSN_CAMEL_SubscriptionInfo */
310 static int hf_gsm_map_chargingCharacteristics = -1; /* ChargingCharacteristics */
311 static int hf_gsm_map_accessRestrictionData = -1; /* AccessRestrictionData */
312 static int hf_gsm_map_gmlc_List = -1; /* GMLC_List */
313 static int hf_gsm_map_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */
314 static int hf_gsm_map_molr_List = -1; /* MOLR_List */
315 static int hf_gsm_map_add_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */
316 static int hf_gsm_map_GMLC_List_item = -1; /* ISDN_AddressString */
317 static int hf_gsm_map_GPRSDataList_item = -1; /* PDP_Context */
318 static int hf_gsm_map_pdp_ContextId = -1; /* ContextId */
319 static int hf_gsm_map_pdp_Type = -1; /* PDP_Type */
320 static int hf_gsm_map_pdp_Address = -1; /* PDP_Address */
321 static int hf_gsm_map_qos_Subscribed = -1; /* QoS_Subscribed */
322 static int hf_gsm_map_vplmnAddressAllowed = -1; /* NULL */
323 static int hf_gsm_map_apn = -1; /* APN */
324 static int hf_gsm_map_ext_QoS_Subscribed = -1; /* Ext_QoS_Subscribed */
325 static int hf_gsm_map_pdp_ChargingCharacteristics = -1; /* ChargingCharacteristics */
326 static int hf_gsm_map_ext2_QoS_Subscribed = -1; /* Ext2_QoS_Subscribed */
327 static int hf_gsm_map_completeDataListIncluded = -1; /* NULL */
328 static int hf_gsm_map_gprsDataList = -1; /* GPRSDataList */
329 static int hf_gsm_map_gprs_CSI = -1; /* GPRS_CSI */
330 static int hf_gsm_map_mo_sms_CSI = -1; /* SMS_CSI */
331 static int hf_gsm_map_mt_sms_CSI = -1; /* SMS_CSI */
332 static int hf_gsm_map_mt_smsCAMELTDP_CriteriaList = -1; /* MT_smsCAMELTDP_CriteriaList */
333 static int hf_gsm_map_mg_csi = -1; /* MG_CSI */
334 static int hf_gsm_map_gprs_CamelTDPDataList = -1; /* GPRS_CamelTDPDataList */
335 static int hf_gsm_map_csi_Active = -1; /* NULL */
336 static int hf_gsm_map_GPRS_CamelTDPDataList_item = -1; /* GPRS_CamelTDPData */
337 static int hf_gsm_map_gprs_TriggerDetectionPoint = -1; /* GPRS_TriggerDetectionPoint */
338 static int hf_gsm_map_defaultSessionHandling = -1; /* DefaultGPRS_Handling */
339 static int hf_gsm_map_LSADataList_item = -1; /* LSAData */
340 static int hf_gsm_map_lsaIdentity = -1; /* LSAIdentity */
341 static int hf_gsm_map_lsaAttributes = -1; /* LSAAttributes */
342 static int hf_gsm_map_lsaActiveModeIndicator = -1; /* NULL */
343 static int hf_gsm_map_lsaOnlyAccessIndicator = -1; /* LSAOnlyAccessIndicator */
344 static int hf_gsm_map_lsaDataList = -1; /* LSADataList */
345 static int hf_gsm_map_bearerServiceList = -1; /* BearerServiceList */
346 static int hf_gsm_map_ss_List = -1; /* SS_List */
347 static int hf_gsm_map_odb_GeneralData = -1; /* ODB_GeneralData */
348 static int hf_gsm_map_regionalSubscriptionResponse = -1; /* RegionalSubscriptionResponse */
349 static int hf_gsm_map_basicServiceList = -1; /* BasicServiceList */
350 static int hf_gsm_map_regionalSubscriptionIdentifier = -1; /* ZoneCode */
351 static int hf_gsm_map_vbsGroupIndication = -1; /* NULL */
352 static int hf_gsm_map_vgcsGroupIndication = -1; /* NULL */
353 static int hf_gsm_map_camelSubscriptionInfoWithdraw = -1; /* NULL */
354 static int hf_gsm_map_gprsSubscriptionDataWithdraw = -1; /* GPRSSubscriptionDataWithdraw */
355 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1; /* NULL */
356 static int hf_gsm_map_lsaInformationWithdraw = -1; /* LSAInformationWithdraw */
357 static int hf_gsm_map_gmlc_ListWithdraw = -1; /* NULL */
358 static int hf_gsm_map_istInformationWithdraw = -1; /* NULL */
359 static int hf_gsm_map_specificCSI_Withdraw = -1; /* SpecificCSI_Withdraw */
360 static int hf_gsm_map_chargingCharacteristicsWithdraw = -1; /* NULL */
361 static int hf_gsm_map_allGPRSData = -1; /* NULL */
362 static int hf_gsm_map_contextIdList = -1; /* ContextIdList */
363 static int hf_gsm_map_ContextIdList_item = -1; /* ContextId */
364 static int hf_gsm_map_allLSAData = -1; /* NULL */
365 static int hf_gsm_map_lsaIdentityList = -1; /* LSAIdentityList */
366 static int hf_gsm_map_LSAIdentityList_item = -1; /* LSAIdentity */
367 static int hf_gsm_map_BasicServiceList_item = -1; /* Ext_BasicServiceCode */
368 static int hf_gsm_map_o_CSI = -1; /* O_CSI */
369 static int hf_gsm_map_ss_CSI = -1; /* SS_CSI */
370 static int hf_gsm_map_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
371 static int hf_gsm_map_tif_CSI = -1; /* NULL */
372 static int hf_gsm_map_m_CSI = -1; /* M_CSI */
373 static int hf_gsm_map_vt_CSI = -1; /* T_CSI */
374 static int hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
375 static int hf_gsm_map_d_CSI = -1; /* D_CSI */
376 static int hf_gsm_map_MT_smsCAMELTDP_CriteriaList_item = -1; /* MT_smsCAMELTDP_Criteria */
377 static int hf_gsm_map_sms_TriggerDetectionPoint = -1; /* SMS_TriggerDetectionPoint */
378 static int hf_gsm_map_tpdu_TypeCriterion = -1; /* TPDU_TypeCriterion */
379 static int hf_gsm_map_TPDU_TypeCriterion_item = -1; /* MT_SMS_TPDU_Type */
380 static int hf_gsm_map_dp_AnalysedInfoCriteriaList = -1; /* DP_AnalysedInfoCriteriaList */
381 static int hf_gsm_map_DP_AnalysedInfoCriteriaList_item = -1; /* DP_AnalysedInfoCriterium */
382 static int hf_gsm_map_dialledNumber = -1; /* ISDN_AddressString */
383 static int hf_gsm_map_ss_CamelData = -1; /* SS_CamelData */
384 static int hf_gsm_map_ss_EventList = -1; /* SS_EventList */
385 static int hf_gsm_map_mobilityTriggers = -1; /* MobilityTriggers */
386 static int hf_gsm_map_BearerServiceList_item = -1; /* Ext_BearerServiceCode */
387 static int hf_gsm_map_TeleserviceList_item = -1; /* Ext_TeleserviceCode */
388 static int hf_gsm_map_Ext_SS_InfoList_item = -1; /* Ext_SS_Info */
389 static int hf_gsm_map_ext_forwardingInfo = -1; /* Ext_ForwInfo */
390 static int hf_gsm_map_ext_callBarringInfo = -1; /* Ext_CallBarInfo */
391 static int hf_gsm_map_cug_Info = -1; /* CUG_Info */
392 static int hf_gsm_map_ext_ss_Data = -1; /* Ext_SS_Data */
393 static int hf_gsm_map_emlpp_Info = -1; /* EMLPP_Info */
394 static int hf_gsm_map_ss_Code = -1; /* SS_Code */
395 static int hf_gsm_map_ext_forwardingFeatureList = -1; /* Ext_ForwFeatureList */
396 static int hf_gsm_map_Ext_ForwFeatureList_item = -1; /* Ext_ForwFeature */
397 static int hf_gsm_map_ext_basicService = -1; /* Ext_BasicServiceCode */
398 static int hf_gsm_map_ext_ss_Status = -1; /* Ext_SS_Status */
399 static int hf_gsm_map_forwardedToNumber = -1; /* ISDN_AddressString */
400 static int hf_gsm_map_forwardedToSubaddress = -1; /* ISDN_SubaddressString */
401 static int hf_gsm_map_ext_forwardingOptions = -1; /* T_forwardingOptions */
402 static int hf_gsm_map_ext_noReplyConditionTime = -1; /* Ext_NoRepCondTime */
403 static int hf_gsm_map_longForwardedToNumber = -1; /* FTN_AddressString */
404 static int hf_gsm_map_ext_callBarringFeatureList = -1; /* Ext_CallBarFeatureList */
405 static int hf_gsm_map_Ext_CallBarFeatureList_item = -1; /* Ext_CallBarringFeature */
406 static int hf_gsm_map_ZoneCodeList_item = -1; /* ZoneCode */
407 static int hf_gsm_map_maximumentitledPriority = -1; /* EMLPP_Priority */
408 static int hf_gsm_map_defaultPriority = -1; /* EMLPP_Priority */
409 static int hf_gsm_map_cug_SubscriptionList = -1; /* CUG_SubscriptionList */
410 static int hf_gsm_map_cug_FeatureList = -1; /* CUG_FeatureList */
411 static int hf_gsm_map_CUG_SubscriptionList_item = -1; /* CUG_Subscription */
412 static int hf_gsm_map_cug_Index = -1; /* CUG_Index */
413 static int hf_gsm_map_cug_Interlock = -1; /* CUG_Interlock */
414 static int hf_gsm_map_intraCUG_Options = -1; /* IntraCUG_Options */
415 static int hf_gsm_map_basicServiceGroupList = -1; /* Ext_BasicServiceGroupList */
416 static int hf_gsm_map_CUG_FeatureList_item = -1; /* CUG_Feature */
417 static int hf_gsm_map_Ext_BasicServiceGroupList_item = -1; /* Ext_BasicServiceCode */
418 static int hf_gsm_map_preferentialCUG_Indicator = -1; /* CUG_Index */
419 static int hf_gsm_map_interCUG_Restrictions = -1; /* InterCUG_Restrictions */
420 static int hf_gsm_map_ss_SubscriptionOption = -1; /* SS_SubscriptionOption */
421 static int hf_gsm_map_LCS_PrivacyExceptionList_item = -1; /* LCS_PrivacyClass */
422 static int hf_gsm_map_notificationToMSUser = -1; /* NotificationToMSUser */
423 static int hf_gsm_map_externalClientList = -1; /* ExternalClientList */
424 static int hf_gsm_map_plmnClientList = -1; /* PLMNClientList */
425 static int hf_gsm_map_ext_externalClientList = -1; /* Ext_ExternalClientList */
426 static int hf_gsm_map_serviceTypeList = -1; /* ServiceTypeList */
427 static int hf_gsm_map_ExternalClientList_item = -1; /* ExternalClient */
428 static int hf_gsm_map_PLMNClientList_item = -1; /* LCSClientInternalID */
429 static int hf_gsm_map_Ext_ExternalClientList_item = -1; /* ExternalClient */
430 static int hf_gsm_map_clientIdentity = -1; /* LCSClientExternalID */
431 static int hf_gsm_map_gmlc_Restriction = -1; /* GMLC_Restriction */
432 static int hf_gsm_map_ServiceTypeList_item = -1; /* ServiceType */
433 static int hf_gsm_map_serviceTypeIdentity = -1; /* LCSServiceTypeID */
434 static int hf_gsm_map_MOLR_List_item = -1; /* MOLR_Class */
435 static int hf_gsm_map_CallBarringFeatureList_item = -1; /* CallBarringFeature */
436 static int hf_gsm_map_basicService = -1; /* BasicServiceCode */
437 static int hf_gsm_map_ss_Status = -1; /* SS_Status */
438 static int hf_gsm_map_ForwardingFeatureList_item = -1; /* ForwardingFeature */
439 static int hf_gsm_map_forwardingOptions = -1; /* ForwardingOptions */
440 static int hf_gsm_map_noReplyConditionTime = -1; /* NoReplyConditionTime */
441 static int hf_gsm_map_matchType = -1; /* MatchType */
442 static int hf_gsm_map_destinationNumberList = -1; /* DestinationNumberList */
443 static int hf_gsm_map_destinationNumberLengthList = -1; /* DestinationNumberLengthList */
444 static int hf_gsm_map_DestinationNumberList_item = -1; /* ISDN_AddressString */
445 static int hf_gsm_map_DestinationNumberLengthList_item = -1; /* INTEGER_1_15 */
446 static int hf_gsm_map_forwardingFeatureList = -1; /* ForwardingFeatureList */
447 static int hf_gsm_map_callBarringFeatureList = -1; /* CallBarringFeatureList */
448 static int hf_gsm_map_nbrSB = -1; /* MaxMC_Bearers */
449 static int hf_gsm_map_nbrUser = -1; /* MC_Bearers */
450 static int hf_gsm_map_hlr_List = -1; /* HLR_List */
451 static int hf_gsm_map_msNotReachable = -1; /* NULL */
452 static int hf_gsm_map_VBSDataList_item = -1; /* VoiceBroadcastData */
453 static int hf_gsm_map_VGCSDataList_item = -1; /* VoiceGroupCallData */
454 static int hf_gsm_map_groupId = -1; /* GroupId */
455 static int hf_gsm_map_groupid = -1; /* GroupId */
456 static int hf_gsm_map_broadcastInitEntitlement = -1; /* NULL */
457 static int hf_gsm_map_traceReference = -1; /* OCTET_STRING_SIZE_1_2 */
458 static int hf_gsm_map_traceType = -1; /* INTEGER_0_255 */
459 static int hf_gsm_map_omc_Id = -1; /* OCTET_STRING_SIZE_1_20 */
460 static int hf_gsm_map_cug_CheckInfo = -1; /* CUG_CheckInfo */
461 static int hf_gsm_map_numberOfForwarding = -1; /* NumberOfForwarding */
462 static int hf_gsm_map_interrogationType = -1; /* InterrogationType */
463 static int hf_gsm_map_or_Interrogation = -1; /* NULL */
464 static int hf_gsm_map_or_Capability = -1; /* OR_Phase */
465 static int hf_gsm_map_gmsc_OrGsmSCF_Address = -1; /* ISDN_AddressString */
466 static int hf_gsm_map_callReferenceNumber = -1; /* CallReferenceNumber */
467 static int hf_gsm_map_forwardingReason = -1; /* ForwardingReason */
468 static int hf_gsm_map_ext_basicServiceGroup = -1; /* Ext_BasicServiceCode */
469 static int hf_gsm_map_networkSignalInfo = -1; /* ExternalSignalInfo */
470 static int hf_gsm_map_camelInfo = -1; /* CamelInfo */
471 static int hf_gsm_map_suppressionOfAnnouncement = -1; /* SuppressionOfAnnouncement */
472 static int hf_gsm_map_alertingPattern = -1; /* AlertingPattern */
473 static int hf_gsm_map_ccbs_Call = -1; /* NULL */
474 static int hf_gsm_map_supportedCCBS_Phase = -1; /* SupportedCCBS_Phase */
475 static int hf_gsm_map_additionalSignalInfo = -1; /* Ext_ExternalSignalInfo */
476 static int hf_gsm_map_pre_pagingSupported = -1; /* NULL */
477 static int hf_gsm_map_callDiversionTreatmentIndicator = -1; /* CallDiversionTreatmentIndicator */
478 static int hf_gsm_map_suppress_VT_CSI = -1; /* NULL */
479 static int hf_gsm_map_suppressIncomingCallBarring = -1; /* NULL */
480 static int hf_gsm_map_gsmSCF_InitiatedCall = -1; /* NULL */
481 static int hf_gsm_map_basicServiceGroup2 = -1; /* Ext_BasicServiceCode */
482 static int hf_gsm_map_networkSignalInfo2 = -1; /* ExternalSignalInfo */
483 static int hf_gsm_map_extendedRoutingInfo = -1; /* ExtendedRoutingInfo */
484 static int hf_gsm_map_cugSubscriptionFlag = -1; /* NULL */
485 static int hf_gsm_map_subscriberInfo = -1; /* SubscriberInfo */
486 static int hf_gsm_map_forwardingInterrogationRequired = -1; /* NULL */
487 static int hf_gsm_map_vmsc_Address = -1; /* ISDN_AddressString */
488 static int hf_gsm_map_ccbs_Indicators = -1; /* CCBS_Indicators */
489 static int hf_gsm_map_numberPortabilityStatus = -1; /* NumberPortabilityStatus */
490 static int hf_gsm_map_supportedCamelPhasesInVMSC = -1; /* SupportedCamelPhases */
491 static int hf_gsm_map_offeredCamel4CSIsInVMSC = -1; /* OfferedCamel4CSIs */
492 static int hf_gsm_map_routingInfo2 = -1; /* RoutingInfo */
493 static int hf_gsm_map_ss_List2 = -1; /* SS_List */
494 static int hf_gsm_map_basicService2 = -1; /* Ext_BasicServiceCode */
495 static int hf_gsm_map_allowedServices = -1; /* AllowedServices */
496 static int hf_gsm_map_unavailabilityCause = -1; /* UnavailabilityCause */
497 static int hf_gsm_map_releaseResourcesSupported = -1; /* NULL */
498 static int hf_gsm_map_ext_ProtocolId = -1; /* Ext_ProtocolId */
499 static int hf_gsm_map_accessNetworkProtocolId = -1; /* AccessNetworkProtocolId */
500 static int hf_gsm_map_longsignalInfo = -1; /* LongSignalInfo */
501 static int hf_gsm_map_suppress_T_CSI = -1; /* NULL */
502 static int hf_gsm_map_HLR_List_item = -1; /* HLR_Id */
503 static int hf_gsm_map_SS_List_item = -1; /* SS_Code */
504 static int hf_gsm_map_naea_PreferredCIC = -1; /* NAEA_CIC */
505 static int hf_gsm_map_externalAddress = -1; /* ISDN_AddressString */
506 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
507 static int hf_gsm_map_laiFixedLength = -1; /* LAIFixedLength */
508 static int hf_gsm_map_ccbs_Possible = -1; /* NULL */
509 static int hf_gsm_map_keepCCBS_CallIndicator = -1; /* NULL */
510 static int hf_gsm_map_roamingNumber = -1; /* ISDN_AddressString */
511 static int hf_gsm_map_forwardingData = -1; /* ForwardingData */
512 static int hf_gsm_map_routingInfo = -1; /* RoutingInfo */
513 static int hf_gsm_map_camelRoutingInfo = -1; /* CamelRoutingInfo */
514 static int hf_gsm_map_gmscCamelSubscriptionInfo = -1; /* GmscCamelSubscriptionInfo */
515 static int hf_gsm_map_t_CSI = -1; /* T_CSI */
516 static int hf_gsm_map_d_csi = -1; /* D_CSI */
517 static int hf_gsm_map_ageOfLocationInformation = -1; /* AgeOfLocationInformation */
518 static int hf_gsm_map_geographicalInformation = -1; /* GeographicalInformation */
519 static int hf_gsm_map_vlr_number = -1; /* ISDN_AddressString */
520 static int hf_gsm_map_locationNumber = -1; /* LocationNumber */
521 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
522 static int hf_gsm_map_selectedLSA_Id = -1; /* LSAIdentity */
523 static int hf_gsm_map_geodeticInformation = -1; /* GeodeticInformation */
524 static int hf_gsm_map_currentLocationRetrieved = -1; /* NULL */
525 static int hf_gsm_map_sai_Present = -1; /* NULL */
526 static int hf_gsm_map_routeingAreaIdentity = -1; /* RAIdentity */
527 static int hf_gsm_map_selectedLSAIdentity = -1; /* LSAIdentity */
528 static int hf_gsm_map_assumedIdle = -1; /* NULL */
529 static int hf_gsm_map_camelBusy = -1; /* NULL */
530 static int hf_gsm_map_notProvidedFromVLR = -1; /* NULL */
531 static int hf_gsm_map_notProvidedFromSGSN = -1; /* NULL */
532 static int hf_gsm_map_ps_Detached = -1; /* NULL */
533 static int hf_gsm_map_ps_AttachedNotReachableForPaging = -1; /* NULL */
534 static int hf_gsm_map_ps_AttachedReachableForPaging = -1; /* NULL */
535 static int hf_gsm_map_ps_PDP_ActiveNotReachableForPaging = -1; /* PDP_ContextInfoList */
536 static int hf_gsm_map_ps_PDP_ActiveReachableForPaging = -1; /* PDP_ContextInfoList */
537 static int hf_gsm_map_netDetNotReachable = -1; /* NotReachableReason */
538 static int hf_gsm_map_PDP_ContextInfoList_item = -1; /* PDP_ContextInfo */
539 static int hf_gsm_map_pdp_ContextIdentifier = -1; /* ContextId */
540 static int hf_gsm_map_pdp_ContextActive = -1; /* NULL */
541 static int hf_gsm_map_apn_Subscribed = -1; /* APN */
542 static int hf_gsm_map_apn_InUse = -1; /* APN */
543 static int hf_gsm_map_nsapi = -1; /* NSAPI */
544 static int hf_gsm_map_transactionId = -1; /* TransactionId */
545 static int hf_gsm_map_teid_ForGnAndGp = -1; /* TEID */
546 static int hf_gsm_map_teid_ForIu = -1; /* TEID */
547 static int hf_gsm_map_ggsn_Address = -1; /* GSN_Address */
548 static int hf_gsm_map_ext_qos_Subscribed = -1; /* Ext_QoS_Subscribed */
549 static int hf_gsm_map_qos_Requested = -1; /* Ext_QoS_Subscribed */
550 static int hf_gsm_map_qos_Negotiated = -1; /* Ext_QoS_Subscribed */
551 static int hf_gsm_map_chargingId = -1; /* GPRSChargingID */
552 static int hf_gsm_map_rnc_Address = -1; /* GSN_Address */
553 static int hf_gsm_map_qos2_Subscribed = -1; /* Ext2_QoS_Subscribed */
554 static int hf_gsm_map_qos2_Requested = -1; /* Ext2_QoS_Subscribed */
555 static int hf_gsm_map_qos2_Negotiated = -1; /* Ext2_QoS_Subscribed */
556 static int hf_gsm_map_cug_OutgoingAccess = -1; /* NULL */
557 static int hf_gsm_map_gsm_BearerCapability = -1; /* ExternalSignalInfo */
558 static int hf_gsm_map_gmsc_Address = -1; /* ISDN_AddressString */
559 static int hf_gsm_map_supportedCamelPhasesInInterrogatingNode = -1; /* SupportedCamelPhases */
560 static int hf_gsm_map_orNotSupportedInGMSC = -1; /* NULL */
561 static int hf_gsm_map_offeredCamel4CSIsInInterrogatingNode = -1; /* OfferedCamel4CSIs */
562 static int hf_gsm_map_uu_Data = -1; /* UU_Data */
563 static int hf_gsm_map_allInformationSent = -1; /* NULL */
564 static int hf_gsm_map_o_BcsmCamelTDPCriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
565 static int hf_gsm_map_uuIndicator = -1; /* UUIndicator */
566 static int hf_gsm_map_uui = -1; /* UUI */
567 static int hf_gsm_map_uusCFInteraction = -1; /* NULL */
568 static int hf_gsm_map_isdn_BearerCapability = -1; /* ExternalSignalInfo */
569 static int hf_gsm_map_call_Direction = -1; /* CallDirection */
570 static int hf_gsm_map_b_Subscriber_Address = -1; /* ISDN_AddressString */
571 static int hf_gsm_map_chosenChannel = -1; /* ExternalSignalInfo */
572 static int hf_gsm_map_lowerLayerCompatibility = -1; /* ExternalSignalInfo */
573 static int hf_gsm_map_highLayerCompatibility = -1; /* ExternalSignalInfo */
574 static int hf_gsm_map_sIWFSNumber = -1; /* ISDN_AddressString */
575 static int hf_gsm_map_channelType = -1; /* ExternalSignalInfo */
576 static int hf_gsm_map_ccbs_Monitoring = -1; /* ReportingState */
577 static int hf_gsm_map_ccbs_SubscriberStatus = -1; /* CCBS_SubscriberStatus */
578 static int hf_gsm_map_eventReportData = -1; /* EventReportData */
579 static int hf_gsm_map_callReportdata = -1; /* CallReportData */
580 static int hf_gsm_map_monitoringMode = -1; /* MonitoringMode */
581 static int hf_gsm_map_callOutcome = -1; /* CallOutcome */
582 static int hf_gsm_map_callTerminationIndicator = -1; /* CallTerminationIndicator */
583 static int hf_gsm_map_msrn = -1; /* ISDN_AddressString */
584 static int hf_gsm_map_callInfo = -1; /* ExternalSignalInfo */
585 static int hf_gsm_map_ccbs_Feature = -1; /* CCBS_Feature */
586 static int hf_gsm_map_translatedB_Number = -1; /* ISDN_AddressString */
587 static int hf_gsm_map_replaceB_Number = -1; /* NULL */
588 static int hf_gsm_map_ruf_Outcome = -1; /* Ruf_Outcome */
589 static int hf_gsm_map_ext_basicServiceGroupList = -1; /* BasicServiceGroupList */
590 static int hf_gsm_map_cliRestrictionOption = -1; /* CliRestrictionOption */
591 static int hf_gsm_map_overrideCategory = -1; /* OverrideCategory */
592 static int hf_gsm_map_forwardedToNumber_addr = -1; /* AddressString */
593 static int hf_gsm_map_forwardingInfo = -1; /* ForwardingInfo */
594 static int hf_gsm_map_callBarringInfo = -1; /* CallBarringInfo */
595 static int hf_gsm_map_ss_Data = -1; /* SS_Data */
596 static int hf_gsm_map_genericServiceInfo = -1; /* GenericServiceInfo */
597 static int hf_gsm_map_ussd_DataCodingScheme = -1; /* USSD_DataCodingScheme */
598 static int hf_gsm_map_ussd_String = -1; /* USSD_String */
599 static int hf_gsm_map_failureCause = -1; /* FailureCause */
600 static int hf_gsm_map_re_attempt = -1; /* BOOLEAN */
601 static int hf_gsm_map_accessType = -1; /* AccessType */
602 static int hf_gsm_map_ccbs_Data = -1; /* CCBS_Data */
603 static int hf_gsm_map_serviceIndicator = -1; /* ServiceIndicator */
604 static int hf_gsm_map_ccbs_Index = -1; /* CCBS_Index */
605 static int hf_gsm_map_sm_RP_PRI = -1; /* BOOLEAN */
606 static int hf_gsm_map_serviceCentreAddress = -1; /* ServiceCentreAddress */
607 static int hf_gsm_map_gprsSupportIndicator = -1; /* NULL */
608 static int hf_gsm_map_sm_RP_MTI = -1; /* INTEGER_0_10 */
609 static int hf_gsm_map_sm_RP_SMEA = -1; /* OCTET_STRING_SIZE_1_12 */
610 static int hf_gsm_map_locationInfoWithLMSI = -1; /* LocationInfoWithLMSI */
611 static int hf_gsm_map_networkNode_Number = -1; /* ISDN_AddressString */
612 static int hf_gsm_map_gprsNodeIndicator = -1; /* NULL */
613 static int hf_gsm_map_additional_Number = -1; /* Additional_Number */
614 static int hf_gsm_map_sm_RP_DA = -1; /* Sm_RP_DA */
615 static int hf_gsm_map_sm_RP_OA = -1; /* Sm_RP_OA */
616 static int hf_gsm_map_sm_RP_UI = -1; /* Sm_RP_UI */
617 static int hf_gsm_map_serviceCentreAddressOA = -1; /* ServiceCentreAddress */
618 static int hf_gsm_map_noSM_RP_OA = -1; /* NULL */
619 static int hf_gsm_map_serviceCentreAddressDA = -1; /* ServiceCentreAddress */
620 static int hf_gsm_map_noSM_RP_DA = -1; /* NULL */
621 static int hf_gsm_map_moreMessagesToSend = -1; /* NULL */
622 static int hf_gsm_map_sm_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
623 static int hf_gsm_map_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
624 static int hf_gsm_map_deliveryOutcomeIndicator = -1; /* NULL */
625 static int hf_gsm_map_additionalSM_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
626 static int hf_gsm_map_additionalAbsentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
627 static int hf_gsm_map_storedMSISDN = -1; /* StoredMSISDN */
628 static int hf_gsm_map_mw_Status = -1; /* T_mw_Status */
629 static int hf_gsm_map_alertReason = -1; /* T_alertReason */
630 static int hf_gsm_map_alertReasonIndicator = -1; /* NULL */
631 static int hf_gsm_map_requestedInfo = -1; /* RequestedInfo */
632 static int hf_gsm_map_locationInformation = -1; /* LocationInformation */
633 static int hf_gsm_map_subscriberState = -1; /* SubscriberState */
634 static int hf_gsm_map_locationInformationGPRS = -1; /* LocationInformationGPRS */
635 static int hf_gsm_map_ps_SubscriberState = -1; /* PS_SubscriberState */
636 static int hf_gsm_map_ms_Classmark2 = -1; /* MS_Classmark2 */
637 static int hf_gsm_map_gprs_MS_Class = -1; /* GPRSMSClass */
638 static int hf_gsm_map_mnpInfoRes = -1; /* MNPInfoRes */
639 static int hf_gsm_map_routeingNumber = -1; /* RouteingNumber */
640 static int hf_gsm_map_mSNetworkCapability = -1; /* MSNetworkCapability */
641 static int hf_gsm_map_mSRadioAccessCapability = -1; /* MSRadioAccessCapability */
642 static int hf_gsm_map_locationInformation_flg = -1; /* NULL */
643 static int hf_gsm_map_subscriberState_flg = -1; /* NULL */
644 static int hf_gsm_map_currentLocation = -1; /* NULL */
645 static int hf_gsm_map_requestedDomain = -1; /* T_requestedDomain */
646 static int hf_gsm_map_imei_flg = -1; /* NULL */
647 static int hf_gsm_map_ms_classmark = -1; /* NULL */
648 static int hf_gsm_map_mnpRequestedInfo = -1; /* NULL */
649 static int hf_gsm_map_subscriberIdentity = -1; /* SubscriberIdentity */
650 static int hf_gsm_map_requestedSubscriptionInfo = -1; /* RequestedSubscriptionInfo */
651 static int hf_gsm_map_callForwardingData = -1; /* CallForwardingData */
652 static int hf_gsm_map_callBarringData = -1; /* CallBarringData */
653 static int hf_gsm_map_odb_Info = -1; /* ODB_Info */
654 static int hf_gsm_map_camel_SubscriptionInfo = -1; /* CAMEL_SubscriptionInfo */
655 static int hf_gsm_map_supportedVLR_CAMEL_Phases = -1; /* SupportedCamelPhases */
656 static int hf_gsm_map_supportedSGSN_CAMEL_Phases = -1; /* SupportedCamelPhases */
657 static int hf_gsm_map_offeredCamel4CSIsInVLR = -1; /* OfferedCamel4CSIs */
658 static int hf_gsm_map_offeredCamel4CSIsInSGSN = -1; /* OfferedCamel4CSIs */
659 static int hf_gsm_map_requestedSS_Info = -1; /* SS_ForBS_Code */
660 static int hf_gsm_map_odb = -1; /* NULL */
661 static int hf_gsm_map_requestedCAMEL_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */
662 static int hf_gsm_map_supportedVLR_CAMEL_Phases_flg = -1; /* NULL */
663 static int hf_gsm_map_supportedSGSN_CAMEL_Phases_flg = -1; /* NULL */
664 static int hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo = -1; /* AdditionalRequestedCAMEL_SubscriptionInfo */
665 static int hf_gsm_map_password = -1; /* Password */
666 static int hf_gsm_map_wrongPasswordAttemptsCounter = -1; /* WrongPasswordAttemptsCounter */
667 static int hf_gsm_map_bearerService = -1; /* BearerServiceCode */
668 static int hf_gsm_map_teleservice_code = -1; /* TeleserviceCode */
669 static int hf_gsm_map_O_BcsmCamelTDPCriteriaList_item = -1; /* O_BcsmCamelTDP_Criteria */
670 static int hf_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_BCSM_CAMEL_TDP_Criteria */
671 static int hf_gsm_map_destinationNumberCriteria = -1; /* DestinationNumberCriteria */
672 static int hf_gsm_map_basicServiceCriteria = -1; /* BasicServiceCriteria */
673 static int hf_gsm_map_callTypeCriteria = -1; /* CallTypeCriteria */
674 static int hf_gsm_map_o_CauseValueCriteria = -1; /* O_CauseValueCriteria */
675 static int hf_gsm_map_t_BCSM_TriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */
676 static int hf_gsm_map_t_CauseValueCriteria = -1; /* T_CauseValueCriteria */
677 static int hf_gsm_map_maximumEntitledPriority = -1; /* EMLPP_Priority */
678 static int hf_gsm_map_ccbs_FeatureList = -1; /* CCBS_FeatureList */
679 static int hf_gsm_map_nbrSN = -1; /* MC_Bearers */
680 static int hf_gsm_map_CCBS_FeatureList_item = -1; /* CCBS_Feature */
681 static int hf_gsm_map_b_subscriberNumber = -1; /* ISDN_AddressString */
682 static int hf_gsm_map_b_subscriberSubaddress = -1; /* ISDN_SubaddressString */
683 static int hf_gsm_map_basicServiceGroup = -1; /* BasicServiceCode */
684 static int hf_gsm_map_T_CauseValueCriteria_item = -1; /* CauseValue */
685 static int hf_gsm_map_O_CauseValueCriteria_item = -1; /* CauseValue */
686 static int hf_gsm_map_BasicServiceCriteria_item = -1; /* Ext_BasicServiceCode */
687 static int hf_gsm_map_modificationRequestFor_CF_Info = -1; /* ModificationRequestFor_CF_Info */
688 static int hf_gsm_map_modificationRequestFor_CB_Info = -1; /* ModificationRequestFor_CB_Info */
689 static int hf_gsm_map_modificationRequestFor_CSI = -1; /* ModificationRequestFor_CSI */
690 static int hf_gsm_map_modificationRequestFor_ODB_data = -1; /* ModificationRequestFor_ODB_data */
691 static int hf_gsm_map_ss_InfoFor_CSE = -1; /* Ext_SS_InfoFor_CSE */
692 static int hf_gsm_map_modifyNotificationToCSE = -1; /* ModificationInstruction */
693 static int hf_gsm_map_odb_data = -1; /* ODB_Data */
694 static int hf_gsm_map_requestedCamel_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */
695 static int hf_gsm_map_modifyCSI_State = -1; /* ModificationInstruction */
696 static int hf_gsm_map_forwardingInfoFor_CSE = -1; /* Ext_ForwardingInfoFor_CSE */
697 static int hf_gsm_map_callBarringInfoFor_CSE = -1; /* Ext_CallBarringInfoFor_CSE */
698 static int hf_gsm_map_eventMet = -1; /* MM_Code */
699 static int hf_gsm_map_supportedCAMELPhases = -1; /* SupportedCamelPhases */
700 static int hf_gsm_map_offeredCamel4Functionalities = -1; /* OfferedCamel4Functionalities */
701 static int hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
702 static int hf_gsm_map_tif_CSI_NotificationToCSE = -1; /* NULL */
703 static int hf_gsm_map_specificCSIDeletedList = -1; /* SpecificCSI_Withdraw */
704 static int hf_gsm_map_o_IM_CSI = -1; /* O_CSI */
705 static int hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
706 static int hf_gsm_map_d_IM_CSI = -1; /* D_CSI */
707 static int hf_gsm_map_vt_IM_CSI = -1; /* T_CSI */
708 static int hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
709 static int hf_gsm_map_ext_BearerService = -1; /* Ext_BearerServiceCode */
710 static int hf_gsm_map_ext_Teleservice = -1; /* Ext_TeleserviceCode */
711 static int hf_gsm_map_odb_HPLMN_Data = -1; /* ODB_HPLMN_Data */
712 static int hf_gsm_map_SS_EventList_item = -1; /* SS_Code */
713 static int hf_gsm_map_t_BcsmCamelTDPDataList = -1; /* T_BcsmCamelTDPDataList */
714 static int hf_gsm_map_T_BcsmCamelTDPDataList_item = -1; /* T_BcsmCamelTDPData */
715 static int hf_gsm_map_t_BcsmTriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */
716 static int hf_gsm_map_sms_CAMEL_TDP_DataList = -1; /* SMS_CAMEL_TDP_DataList */
717 static int hf_gsm_map_SMS_CAMEL_TDP_DataList_item = -1; /* SMS_CAMEL_TDP_Data */
718 static int hf_gsm_map_defaultSMS_Handling = -1; /* DefaultSMS_Handling */
719 static int hf_gsm_map_MobilityTriggers_item = -1; /* MM_Code */
720 static int hf_gsm_map_ss_Event = -1; /* OCTET_STRING_SIZE_1 */
721 static int hf_gsm_map_ss_EventSpecification = -1; /* T_ss_EventSpecification */
722 static int hf_gsm_map_ss_EventSpecification_item = -1; /* OCTET_STRING_SIZE_1_20 */
723 static int hf_gsm_map_ext_teleservice = -1; /* Ext_TeleserviceCode */
724 static int hf_gsm_map_codec_Info = -1; /* CODEC_Info */
725 static int hf_gsm_map_cipheringAlgorithm = -1; /* CipheringAlgorithm */
726 static int hf_gsm_map_groupKeyNumber_Vk_Id = -1; /* GroupKeyNumber */
727 static int hf_gsm_map_groupKey = -1; /* Kc */
728 static int hf_gsm_map_priority = -1; /* EMLPP_Priority */
729 static int hf_gsm_map_uplinkFree = -1; /* NULL */
730 static int hf_gsm_map_vstk = -1; /* VSTK */
731 static int hf_gsm_map_vstk_rand = -1; /* VSTK_RAND */
732 static int hf_gsm_map_groupCallNumber = -1; /* ISDN_AddressString */
733 static int hf_gsm_map_uplinkRequest = -1; /* NULL */
734 static int hf_gsm_map_uplinkReleaseIndication = -1; /* NULL */
735 static int hf_gsm_map_releaseGroupCall = -1; /* NULL */
736 static int hf_gsm_map_uplinkRequestAck = -1; /* NULL */
737 static int hf_gsm_map_uplinkRejectCommand = -1; /* NULL */
738 static int hf_gsm_map_uplinkSeizedCommand = -1; /* NULL */
739 static int hf_gsm_map_uplinkReleaseCommand = -1; /* NULL */
740 static int hf_gsm_map_sgsn_Address = -1; /* GSN_Address */
741 static int hf_gsm_map_sgsn_Capability = -1; /* SGSN_Capability */
742 static int hf_gsm_map_ps_LCS_NotSupportedByUE = -1; /* NULL */
743 static int hf_gsm_map_gprsEnhancementsSupportIndicator = -1; /* NULL */
744 static int hf_gsm_map_smsCallBarringSupportIndicator = -1; /* NULL */
745 static int hf_gsm_map_ggsn_Number = -1; /* ISDN_AddressString */
746 static int hf_gsm_map_mobileNotReachableReason = -1; /* AbsentSubscriberDiagnosticSM */
747 static int hf_gsm_map_locationType = -1; /* LocationType */
748 static int hf_gsm_map_mlc_Number = -1; /* ISDN_AddressString */
749 static int hf_gsm_map_lcs_ClientID = -1; /* LCS_ClientID */
750 static int hf_gsm_map_privacyOverride = -1; /* NULL */
751 static int hf_gsm_map_lcs_Priority = -1; /* LCS_Priority */
752 static int hf_gsm_map_lcs_QoS = -1; /* LCS_QoS */
753 static int hf_gsm_map_supportedGADShapes = -1; /* SupportedGADShapes */
754 static int hf_gsm_map_lcs_ReferenceNumber = -1; /* LCS_ReferenceNumber */
755 static int hf_gsm_map_lcsServiceTypeID = -1; /* LCSServiceTypeID */
756 static int hf_gsm_map_lcsCodeword = -1; /* LCSCodeword */
757 static int hf_gsm_map_lcs_PrivacyCheck = -1; /* LCS_PrivacyCheck */
758 static int hf_gsm_map_areaEventInfo = -1; /* AreaEventInfo */
759 static int hf_gsm_map_h_gmlc_Address = -1; /* GSN_Address */
760 static int hf_gsm_map_locationEstimateType = -1; /* LocationEstimateType */
761 static int hf_gsm_map_deferredLocationEventType = -1; /* DeferredLocationEventType */
762 static int hf_gsm_map_lcsClientType = -1; /* LCSClientType */
763 static int hf_gsm_map_lcsClientExternalID = -1; /* LCSClientExternalID */
764 static int hf_gsm_map_lcsClientDialedByMS = -1; /* AddressString */
765 static int hf_gsm_map_lcsClientInternalID = -1; /* LCSClientInternalID */
766 static int hf_gsm_map_lcsClientName = -1; /* LCSClientName */
767 static int hf_gsm_map_lcsAPN = -1; /* APN */
768 static int hf_gsm_map_lcsRequestorID = -1; /* LCSRequestorID */
769 static int hf_gsm_map_dataCodingScheme = -1; /* USSD_DataCodingScheme */
770 static int hf_gsm_map_nameString = -1; /* NameString */
771 static int hf_gsm_map_lcs_FormatIndicator = -1; /* LCS_FormatIndicator */
772 static int hf_gsm_map_requestorIDString = -1; /* RequestorIDString */
773 static int hf_gsm_map_horizontal_accuracy = -1; /* Horizontal_Accuracy */
774 static int hf_gsm_map_verticalCoordinateRequest = -1; /* NULL */
775 static int hf_gsm_map_vertical_accuracy = -1; /* Vertical_Accuracy */
776 static int hf_gsm_map_responseTime = -1; /* ResponseTime */
777 static int hf_gsm_map_responseTimeCategory = -1; /* ResponseTimeCategory */
778 static int hf_gsm_map_lcsCodewordString = -1; /* LCSCodewordString */
779 static int hf_gsm_map_callSessionUnrelated = -1; /* PrivacyCheckRelatedAction */
780 static int hf_gsm_map_callSessionRelated = -1; /* PrivacyCheckRelatedAction */
781 static int hf_gsm_map_areaDefinition = -1; /* AreaDefinition */
782 static int hf_gsm_map_occurrenceInfo = -1; /* OccurrenceInfo */
783 static int hf_gsm_map_intervalTime = -1; /* IntervalTime */
784 static int hf_gsm_map_areaList = -1; /* AreaList */
785 static int hf_gsm_map_AreaList_item = -1; /* Area */
786 static int hf_gsm_map_areaType = -1; /* AreaType */
787 static int hf_gsm_map_areaIdentification = -1; /* AreaIdentification */
788 static int hf_gsm_map_locationEstimate = -1; /* Ext_GeographicalInformation */
789 static int hf_gsm_map_ageOfLocationEstimate = -1; /* AgeOfLocationInformation */
790 static int hf_gsm_map_add_LocationEstimate = -1; /* Add_GeographicalInformation */
791 static int hf_gsm_map_deferredmt_lrResponseIndicator = -1; /* NULL */
792 static int hf_gsm_map_geranPositioningData = -1; /* PositioningDataInformation */
793 static int hf_gsm_map_utranPositioningData = -1; /* UtranPositioningDataInfo */
794 static int hf_gsm_map_cellIdOrSai = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
795 static int hf_gsm_map_mlcNumber = -1; /* ISDN_AddressString */
796 static int hf_gsm_map_targetMS = -1; /* SubscriberIdentity */
797 static int hf_gsm_map_lcsLocationInfo = -1; /* LCSLocationInfo */
798 static int hf_gsm_map_ppr_Address = -1; /* GSN_Address */
799 static int hf_gsm_map_additional_v_gmlc_Address = -1; /* GSN_Address */
800 static int hf_gsm_map_additional_LCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
801 static int hf_gsm_map_lcs_Event = -1; /* LCS_Event */
802 static int hf_gsm_map_na_ESRD = -1; /* ISDN_AddressString */
803 static int hf_gsm_map_na_ESRK = -1; /* ISDN_AddressString */
804 static int hf_gsm_map_slr_ArgExtensionContainer = -1; /* SLR_ArgExtensionContainer */
805 static int hf_gsm_map_deferredmt_lrData = -1; /* Deferredmt_lrData */
806 static int hf_gsm_map_pseudonymIndicator = -1; /* NULL */
807 static int hf_gsm_map_terminationCause = -1; /* TerminationCause */
808 static int hf_gsm_map_securityHeader = -1; /* SecurityHeader */
809 static int hf_gsm_map_protectedPayload = -1; /* ProtectedPayload */
810 static int hf_gsm_map_securityParametersIndex = -1; /* SecurityParametersIndex */
811 static int hf_gsm_map_originalComponentIdentifier = -1; /* OriginalComponentIdentifier */
812 static int hf_gsm_map_initialisationVector = -1; /* InitialisationVector */
813 static int hf_gsm_map_operationCode = -1; /* OperationCode */
814 static int hf_gsm_map_errorCode1 = -1; /* ErrorCode */
815 static int hf_gsm_map_userInfo = -1; /* NULL */
816 static int hf_gsm_map_localValue2 = -1; /* INTEGER */
817 static int hf_gsm_map_networkResource = -1; /* NetworkResource */
818 static int hf_gsm_map_extensibleSystemFailureParam = -1; /* T_extensibleSystemFailureParam */
819 static int hf_gsm_map_unknownSubscriberDiagnostic = -1; /* T_unknownSubscriberDiagnostic */
820 static int hf_gsm_map_roamingNotAllowedCause = -1; /* T_roamingNotAllowedCause */
821 static int hf_gsm_map_absentSubscriberReason = -1; /* AbsentSubscriberReason */
822 static int hf_gsm_map_ccbs_Busy = -1; /* NULL */
823 static int hf_gsm_map_gprsConnectionSuspended = -1; /* NULL */
824 static int hf_gsm_map_callBarringCause = -1; /* CallBarringCause */
825 static int hf_gsm_map_extensibleCallBarredParam = -1; /* ExtensibleCallBarredParam */
826 static int hf_gsm_map_unauthorisedMessageOriginator = -1; /* NULL */
827 static int hf_gsm_map_cug_RejectCause = -1; /* CUG_RejectCause */
828 static int hf_gsm_map_cug_RejectCause1 = -1; /* T_cug_RejectCause */
829 static int hf_gsm_map_sm_EnumeratedDeliveryFailureCause = -1; /* SM_EnumeratedDeliveryFailureCause */
830 static int hf_gsm_map_diagnosticInfo = -1; /* SignalInfo */
831 static int hf_gsm_map_unauthorizedLCSClient_Diagnostic = -1; /* T_unauthorizedLCSClient_Diagnostic */
832 static int hf_gsm_map_positionMethodFailure_Diagnostic = -1; /* PositionMethodFailure_Diagnostic */
833 static int hf_gsm_map_pcsExtensions = -1; /* PcsExtensions */
835 static int hf_gsm_map_SupportedCamelPhases_phase1 = -1;
836 static int hf_gsm_map_SupportedCamelPhases_phase2 = -1;
837 static int hf_gsm_map_SupportedCamelPhases_phase3 = -1;
838 static int hf_gsm_map_SupportedCamelPhases_phase4 = -1;
839 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
840 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
841 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
842 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
843 static int hf_gsm_map_RequestedEquipmentInfo_equipmentStatus = -1;
844 static int hf_gsm_map_RequestedEquipmentInfo_bmuef = -1;
845 static int hf_gsm_map_ODB_GeneralData_allOG_CallsBarred = -1;
846 static int hf_gsm_map_ODB_GeneralData_internationalOGCallsBarred = -1;
847 static int hf_gsm_map_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred = -1;
848 static int hf_gsm_map_ODB_GeneralData_interzonalOGCallsBarred = -1;
849 static int hf_gsm_map_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred = -1;
850 static int hf_gsm_map_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred = -1;
851 static int hf_gsm_map_ODB_GeneralData_premiumRateInformationOGCallsBarred = -1;
852 static int hf_gsm_map_ODB_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
853 static int hf_gsm_map_ODB_GeneralData_ss_AccessBarred = -1;
854 static int hf_gsm_map_ODB_GeneralData_allECT_Barred = -1;
855 static int hf_gsm_map_ODB_GeneralData_chargeableECT_Barred = -1;
856 static int hf_gsm_map_ODB_GeneralData_internationalECT_Barred = -1;
857 static int hf_gsm_map_ODB_GeneralData_interzonalECT_Barred = -1;
858 static int hf_gsm_map_ODB_GeneralData_doublyChargeableECT_Barred = -1;
859 static int hf_gsm_map_ODB_GeneralData_multipleECT_Barred = -1;
860 static int hf_gsm_map_ODB_GeneralData_allPacketOrientedServicesBarred = -1;
861 static int hf_gsm_map_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
862 static int hf_gsm_map_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
863 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
864 static int hf_gsm_map_ODB_GeneralData_allIC_CallsBarred = -1;
865 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
866 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
867 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_Barred = -1;
868 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
869 static int hf_gsm_map_ODB_GeneralData_registrationAllCF_Barred = -1;
870 static int hf_gsm_map_ODB_GeneralData_registrationCFNotToHPLMN_Barred = -1;
871 static int hf_gsm_map_ODB_GeneralData_registrationInterzonalCF_Barred = -1;
872 static int hf_gsm_map_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
873 static int hf_gsm_map_ODB_GeneralData_registrationInternationalCF_Barred = -1;
874 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType1 = -1;
875 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType2 = -1;
876 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType3 = -1;
877 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType4 = -1;
878 static int hf_gsm_map_AccessRestrictionData_utranNotAllowed = -1;
879 static int hf_gsm_map_AccessRestrictionData_geranNotAllowed = -1;
880 static int hf_gsm_map_SpecificCSI_Withdraw_o_csi = -1;
881 static int hf_gsm_map_SpecificCSI_Withdraw_ss_csi = -1;
882 static int hf_gsm_map_SpecificCSI_Withdraw_tif_csi = -1;
883 static int hf_gsm_map_SpecificCSI_Withdraw_d_csi = -1;
884 static int hf_gsm_map_SpecificCSI_Withdraw_vt_csi = -1;
885 static int hf_gsm_map_SpecificCSI_Withdraw_mo_sms_csi = -1;
886 static int hf_gsm_map_SpecificCSI_Withdraw_m_csi = -1;
887 static int hf_gsm_map_SpecificCSI_Withdraw_gprs_csi = -1;
888 static int hf_gsm_map_SpecificCSI_Withdraw_t_csi = -1;
889 static int hf_gsm_map_SpecificCSI_Withdraw_mt_sms_csi = -1;
890 static int hf_gsm_map_SpecificCSI_Withdraw_mg_csi = -1;
891 static int hf_gsm_map_SpecificCSI_Withdraw_o_IM_CSI = -1;
892 static int hf_gsm_map_SpecificCSI_Withdraw_d_IM_CSI = -1;
893 static int hf_gsm_map_SpecificCSI_Withdraw_vt_IM_CSI = -1;
894 static int hf_gsm_map_AllowedServices_firstServiceAllowed = -1;
895 static int hf_gsm_map_AllowedServices_secondServiceAllowed = -1;
896 static int hf_gsm_map_ServiceIndicator_clir_invoked = -1;
897 static int hf_gsm_map_ServiceIndicator_camel_invoked = -1;
898 static int hf_gsm_map_T_mw_Status_scAddressNotIncluded = -1;
899 static int hf_gsm_map_T_mw_Status_mnrfSet = -1;
900 static int hf_gsm_map_T_mw_Status_mcefSet = -1;
901 static int hf_gsm_map_T_mw_Status_mnrgSet = -1;
902 static int hf_gsm_map_OfferedCamel4CSIs_o_csi = -1;
903 static int hf_gsm_map_OfferedCamel4CSIs_d_csi = -1;
904 static int hf_gsm_map_OfferedCamel4CSIs_vt_csi = -1;
905 static int hf_gsm_map_OfferedCamel4CSIs_t_csi = -1;
906 static int hf_gsm_map_OfferedCamel4CSIs_mt_sms_csi = -1;
907 static int hf_gsm_map_OfferedCamel4CSIs_mg_csi = -1;
908 static int hf_gsm_map_OfferedCamel4CSIs_psi_enhancements = -1;
909 static int hf_gsm_map_OfferedCamel4Functionalities_initiateCallAttempt = -1;
910 static int hf_gsm_map_OfferedCamel4Functionalities_splitLeg = -1;
911 static int hf_gsm_map_OfferedCamel4Functionalities_moveLeg = -1;
912 static int hf_gsm_map_OfferedCamel4Functionalities_disconnectLeg = -1;
913 static int hf_gsm_map_OfferedCamel4Functionalities_entityReleased = -1;
914 static int hf_gsm_map_OfferedCamel4Functionalities_dfc_WithArgument = -1;
915 static int hf_gsm_map_OfferedCamel4Functionalities_playTone = -1;
916 static int hf_gsm_map_OfferedCamel4Functionalities_dtmf_MidCall = -1;
917 static int hf_gsm_map_OfferedCamel4Functionalities_chargingIndicator = -1;
918 static int hf_gsm_map_OfferedCamel4Functionalities_alertingDP = -1;
919 static int hf_gsm_map_OfferedCamel4Functionalities_locationAtAlerting = -1;
920 static int hf_gsm_map_OfferedCamel4Functionalities_changeOfPositionDP = -1;
921 static int hf_gsm_map_OfferedCamel4Functionalities_or_Interactions = -1;
922 static int hf_gsm_map_OfferedCamel4Functionalities_warningToneEnhancements = -1;
923 static int hf_gsm_map_OfferedCamel4Functionalities_cf_Enhancements = -1;
924 static int hf_gsm_map_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1;
925 static int hf_gsm_map_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1;
926 static int hf_gsm_map_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1;
927 static int hf_gsm_map_OfferedCamel4Functionalities_serviceChangeDP = -1;
928 static int hf_gsm_map_DeferredLocationEventType_msAvailable = -1;
929 static int hf_gsm_map_DeferredLocationEventType_enteringIntoArea = -1;
930 static int hf_gsm_map_DeferredLocationEventType_leavingFromArea = -1;
931 static int hf_gsm_map_DeferredLocationEventType_beingInsideArea = -1;
932 static int hf_gsm_map_SupportedGADShapes_ellipsoidPoint = -1;
933 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle = -1;
934 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse = -1;
935 static int hf_gsm_map_SupportedGADShapes_polygon = -1;
936 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitude = -1;
937 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid = -1;
938 static int hf_gsm_map_SupportedGADShapes_ellipsoidArc = -1;
940 /*--- End of included file: packet-gsm_map-hf.c ---*/
941 #line 111 "packet-gsm_map-template.c"
943 /* Initialize the subtree pointers */
944 static gint ett_gsm_map = -1;
945 static gint ett_gsm_map_InvokeId = -1;
946 static gint ett_gsm_map_InvokePDU = -1;
947 static gint ett_gsm_map_ReturnResultPDU = -1;
948 static gint ett_gsm_map_ReturnErrorPDU = -1;
949 static gint ett_gsm_map_ReturnResult_result = -1;
950 static gint ett_gsm_map_ReturnError_result = -1;
951 static gint ett_gsm_map_GSMMAPPDU = -1;
952 static gint ett_gsm_map_ext_qos_subscribed = -1;
955 /*--- Included file: packet-gsm_map-ett.c ---*/
956 #line 1 "packet-gsm_map-ett.c"
957 static gint ett_gsm_map_Component = -1;
958 static gint ett_gsm_map_Invoke = -1;
959 static gint ett_gsm_map_ReturnResult = -1;
960 static gint ett_gsm_map_T_resultretres = -1;
961 static gint ett_gsm_map_ReturnError = -1;
962 static gint ett_gsm_map_Reject = -1;
963 static gint ett_gsm_map_T_invokeIDRej = -1;
964 static gint ett_gsm_map_T_problem = -1;
965 static gint ett_gsm_map_OPERATION = -1;
966 static gint ett_gsm_map_ERROR = -1;
967 static gint ett_gsm_map_Bss_APDU = -1;
968 static gint ett_gsm_map_SupportedCamelPhases = -1;
969 static gint ett_gsm_map_UpdateLocationArg = -1;
970 static gint ett_gsm_map_UpdateLocationRes = -1;
971 static gint ett_gsm_map_VLR_Capability = -1;
972 static gint ett_gsm_map_SuperChargerInfo = -1;
973 static gint ett_gsm_map_SupportedLCS_CapabilitySets = -1;
974 static gint ett_gsm_map_ADD_Info = -1;
975 static gint ett_gsm_map_PrivateExtensionList = -1;
976 static gint ett_gsm_map_PrivateExtension = -1;
977 static gint ett_gsm_map_SLR_ArgExtensionContainer = -1;
978 static gint ett_gsm_map_PcsExtensions = -1;
979 static gint ett_gsm_map_SLR_Arg_PCS_Extensions = -1;
980 static gint ett_gsm_map_CancelLocationArg = -1;
981 static gint ett_gsm_map_CancelLocationArgV2 = -1;
982 static gint ett_gsm_map_CancelLocationRes = -1;
983 static gint ett_gsm_map_PurgeMSArg = -1;
984 static gint ett_gsm_map_PurgeMSRes = -1;
985 static gint ett_gsm_map_SendIdentificationArg = -1;
986 static gint ett_gsm_map_SendIdentificationRes = -1;
987 static gint ett_gsm_map_AuthenticationSetList = -1;
988 static gint ett_gsm_map_TripletList = -1;
989 static gint ett_gsm_map_QuintupletList = -1;
990 static gint ett_gsm_map_AuthenticationTriplet = -1;
991 static gint ett_gsm_map_AuthenticationQuintuplet = -1;
992 static gint ett_gsm_map_CurrentSecurityContext = -1;
993 static gint ett_gsm_map_GSM_SecurityContextData = -1;
994 static gint ett_gsm_map_UMTS_SecurityContextData = -1;
995 static gint ett_gsm_map_PrepareHO_Arg = -1;
996 static gint ett_gsm_map_PrepareHO_ArgV3 = -1;
997 static gint ett_gsm_map_BSSMAP_ServiceHandoverList = -1;
998 static gint ett_gsm_map_BSSMAP_ServiceHandoverInfo = -1;
999 static gint ett_gsm_map_RadioResourceList = -1;
1000 static gint ett_gsm_map_RadioResource = -1;
1001 static gint ett_gsm_map_PrepareHO_Res = -1;
1002 static gint ett_gsm_map_PrepareHO_ResV3 = -1;
1003 static gint ett_gsm_map_SelectedUMTS_Algorithms = -1;
1004 static gint ett_gsm_map_ChosenRadioResourceInformation = -1;
1005 static gint ett_gsm_map_SendEndSignalArgV3 = -1;
1006 static gint ett_gsm_map_SendEndSignalRes = -1;
1007 static gint ett_gsm_map_RelocationNumberList = -1;
1008 static gint ett_gsm_map_RelocationNumber = -1;
1009 static gint ett_gsm_map_ProcessAccessSignallingArgV3 = -1;
1010 static gint ett_gsm_map_SupportedCodecsList = -1;
1011 static gint ett_gsm_map_CodecList = -1;
1012 static gint ett_gsm_map_ForwardAccessSignallingArgV3 = -1;
1013 static gint ett_gsm_map_AllowedUMTS_Algorithms = -1;
1014 static gint ett_gsm_map_PrepareSubsequentHOArg = -1;
1015 static gint ett_gsm_map_PrepareSubsequentHOArgV3 = -1;
1016 static gint ett_gsm_map_PrepareSubsequentHOResV3 = -1;
1017 static gint ett_gsm_map_SendAuthenticationInfoArgV2 = -1;
1018 static gint ett_gsm_map_SendAuthenticationInfoRes = -1;
1019 static gint ett_gsm_map_SendAuthenticationInfoRes_item = -1;
1020 static gint ett_gsm_map_SendAuthenticationInfoResV3 = -1;
1021 static gint ett_gsm_map_Re_synchronisationInfo = -1;
1022 static gint ett_gsm_map_CheckIMEIArgV2 = -1;
1023 static gint ett_gsm_map_CheckIMEIRes = -1;
1024 static gint ett_gsm_map_RequestedEquipmentInfo = -1;
1025 static gint ett_gsm_map_UESBI_Iu = -1;
1026 static gint ett_gsm_map_BasicService = -1;
1027 static gint ett_gsm_map_BasicServiceGroupList = -1;
1028 static gint ett_gsm_map_ODB_GeneralData = -1;
1029 static gint ett_gsm_map_ODB_HPLMN_Data = -1;
1030 static gint ett_gsm_map_BcsmCamelTDPData = -1;
1031 static gint ett_gsm_map_BcsmCamelTDPDataList = -1;
1032 static gint ett_gsm_map_O_CSI = -1;
1033 static gint ett_gsm_map_O_BcsmCamelTDPDataList = -1;
1034 static gint ett_gsm_map_O_BcsmCamelTDPData = -1;
1035 static gint ett_gsm_map_InsertSubscriberDataArg = -1;
1036 static gint ett_gsm_map_AccessRestrictionData = -1;
1037 static gint ett_gsm_map_LCSInformation = -1;
1038 static gint ett_gsm_map_GMLC_List = -1;
1039 static gint ett_gsm_map_GPRSDataList = -1;
1040 static gint ett_gsm_map_PDP_Context = -1;
1041 static gint ett_gsm_map_GPRSSubscriptionData = -1;
1042 static gint ett_gsm_map_SGSN_CAMEL_SubscriptionInfo = -1;
1043 static gint ett_gsm_map_GPRS_CSI = -1;
1044 static gint ett_gsm_map_GPRS_CamelTDPDataList = -1;
1045 static gint ett_gsm_map_GPRS_CamelTDPData = -1;
1046 static gint ett_gsm_map_LSADataList = -1;
1047 static gint ett_gsm_map_LSAData = -1;
1048 static gint ett_gsm_map_LSAInformation = -1;
1049 static gint ett_gsm_map_InsertSubscriberDataRes = -1;
1050 static gint ett_gsm_map_DeleteSubscriberDataArg = -1;
1051 static gint ett_gsm_map_DeleteSubscriberDataRes = -1;
1052 static gint ett_gsm_map_SpecificCSI_Withdraw = -1;
1053 static gint ett_gsm_map_GPRSSubscriptionDataWithdraw = -1;
1054 static gint ett_gsm_map_ContextIdList = -1;
1055 static gint ett_gsm_map_LSAInformationWithdraw = -1;
1056 static gint ett_gsm_map_LSAIdentityList = -1;
1057 static gint ett_gsm_map_BasicServiceList = -1;
1058 static gint ett_gsm_map_VlrCamelSubscriptionInfo = -1;
1059 static gint ett_gsm_map_MT_smsCAMELTDP_CriteriaList = -1;
1060 static gint ett_gsm_map_MT_smsCAMELTDP_Criteria = -1;
1061 static gint ett_gsm_map_TPDU_TypeCriterion = -1;
1062 static gint ett_gsm_map_D_CSI = -1;
1063 static gint ett_gsm_map_DP_AnalysedInfoCriteriaList = -1;
1064 static gint ett_gsm_map_DP_AnalysedInfoCriterium = -1;
1065 static gint ett_gsm_map_SS_CSI = -1;
1066 static gint ett_gsm_map_SS_CamelData = -1;
1067 static gint ett_gsm_map_MG_CSI = -1;
1068 static gint ett_gsm_map_BearerServiceList = -1;
1069 static gint ett_gsm_map_TeleserviceList = -1;
1070 static gint ett_gsm_map_Ext_SS_InfoList = -1;
1071 static gint ett_gsm_map_Ext_SS_Info = -1;
1072 static gint ett_gsm_map_Ext_ForwInfo = -1;
1073 static gint ett_gsm_map_Ext_ForwFeatureList = -1;
1074 static gint ett_gsm_map_Ext_ForwFeature = -1;
1075 static gint ett_gsm_map_Ext_CallBarInfo = -1;
1076 static gint ett_gsm_map_Ext_CallBarFeatureList = -1;
1077 static gint ett_gsm_map_Ext_CallBarringFeature = -1;
1078 static gint ett_gsm_map_ZoneCodeList = -1;
1079 static gint ett_gsm_map_EMLPP_Info = -1;
1080 static gint ett_gsm_map_CUG_Info = -1;
1081 static gint ett_gsm_map_CUG_SubscriptionList = -1;
1082 static gint ett_gsm_map_CUG_Subscription = -1;
1083 static gint ett_gsm_map_CUG_FeatureList = -1;
1084 static gint ett_gsm_map_Ext_BasicServiceGroupList = -1;
1085 static gint ett_gsm_map_CUG_Feature = -1;
1086 static gint ett_gsm_map_Ext_SS_Data = -1;
1087 static gint ett_gsm_map_LCS_PrivacyExceptionList = -1;
1088 static gint ett_gsm_map_LCS_PrivacyClass = -1;
1089 static gint ett_gsm_map_ExternalClientList = -1;
1090 static gint ett_gsm_map_PLMNClientList = -1;
1091 static gint ett_gsm_map_Ext_ExternalClientList = -1;
1092 static gint ett_gsm_map_ExternalClient = -1;
1093 static gint ett_gsm_map_ServiceTypeList = -1;
1094 static gint ett_gsm_map_ServiceType = -1;
1095 static gint ett_gsm_map_MOLR_List = -1;
1096 static gint ett_gsm_map_MOLR_Class = -1;
1097 static gint ett_gsm_map_CallBarringFeatureList = -1;
1098 static gint ett_gsm_map_CallBarringFeature = -1;
1099 static gint ett_gsm_map_ForwardingFeatureList = -1;
1100 static gint ett_gsm_map_ForwardingFeature = -1;
1101 static gint ett_gsm_map_DestinationNumberCriteria = -1;
1102 static gint ett_gsm_map_DestinationNumberList = -1;
1103 static gint ett_gsm_map_DestinationNumberLengthList = -1;
1104 static gint ett_gsm_map_ForwardingInfo = -1;
1105 static gint ett_gsm_map_CallBarringInfo = -1;
1106 static gint ett_gsm_map_MC_SS_Info = -1;
1107 static gint ett_gsm_map_ResetArg = -1;
1108 static gint ett_gsm_map_RestoreDataArg = -1;
1109 static gint ett_gsm_map_RestoreDataRes = -1;
1110 static gint ett_gsm_map_VBSDataList = -1;
1111 static gint ett_gsm_map_VGCSDataList = -1;
1112 static gint ett_gsm_map_VoiceGroupCallData = -1;
1113 static gint ett_gsm_map_VoiceBroadcastData = -1;
1114 static gint ett_gsm_map_ActivateTraceModeArg = -1;
1115 static gint ett_gsm_map_ActivateTraceModeRes = -1;
1116 static gint ett_gsm_map_DeactivateTraceModeArg = -1;
1117 static gint ett_gsm_map_DeactivateTraceModeRes = -1;
1118 static gint ett_gsm_map_SendRoutingInfoArg = -1;
1119 static gint ett_gsm_map_SendRoutingInfoRes = -1;
1120 static gint ett_gsm_map_ExternalSignalInfo = -1;
1121 static gint ett_gsm_map_Ext_ExternalSignalInfo = -1;
1122 static gint ett_gsm_map_AccessNetworkSignalInfo = -1;
1123 static gint ett_gsm_map_CamelInfo = -1;
1124 static gint ett_gsm_map_Identity = -1;
1125 static gint ett_gsm_map_IMSI_WithLMSI = -1;
1126 static gint ett_gsm_map_SubscriberId = -1;
1127 static gint ett_gsm_map_HLR_List = -1;
1128 static gint ett_gsm_map_SS_List = -1;
1129 static gint ett_gsm_map_NAEA_PreferredCI = -1;
1130 static gint ett_gsm_map_SubscriberIdentity = -1;
1131 static gint ett_gsm_map_LCSClientExternalID = -1;
1132 static gint ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI = -1;
1133 static gint ett_gsm_map_AllowedServices = -1;
1134 static gint ett_gsm_map_CCBS_Indicators = -1;
1135 static gint ett_gsm_map_RoutingInfo = -1;
1136 static gint ett_gsm_map_ExtendedRoutingInfo = -1;
1137 static gint ett_gsm_map_CamelRoutingInfo = -1;
1138 static gint ett_gsm_map_GmscCamelSubscriptionInfo = -1;
1139 static gint ett_gsm_map_LocationInformation = -1;
1140 static gint ett_gsm_map_LocationInformationGPRS = -1;
1141 static gint ett_gsm_map_SubscriberState = -1;
1142 static gint ett_gsm_map_PS_SubscriberState = -1;
1143 static gint ett_gsm_map_PDP_ContextInfoList = -1;
1144 static gint ett_gsm_map_PDP_ContextInfo = -1;
1145 static gint ett_gsm_map_CUG_CheckInfo = -1;
1146 static gint ett_gsm_map_ForwardingData = -1;
1147 static gint ett_gsm_map_ProvideRoamingNumberArg = -1;
1148 static gint ett_gsm_map_ProvideRoamingNumberRes = -1;
1149 static gint ett_gsm_map_ResumeCallHandlingArg = -1;
1150 static gint ett_gsm_map_ResumeCallHandlingRes = -1;
1151 static gint ett_gsm_map_UU_Data = -1;
1152 static gint ett_gsm_map_ProvideSIWFSNumberArg = -1;
1153 static gint ett_gsm_map_ProvideSIWFSNumberRes = -1;
1154 static gint ett_gsm_map_SIWFSSignallingModifyArg = -1;
1155 static gint ett_gsm_map_SIWFSSignallingModifyRes = -1;
1156 static gint ett_gsm_map_SetReportingStateArg = -1;
1157 static gint ett_gsm_map_SetReportingStateRes = -1;
1158 static gint ett_gsm_map_StatusReportArg = -1;
1159 static gint ett_gsm_map_StatusReportRes = -1;
1160 static gint ett_gsm_map_EventReportData = -1;
1161 static gint ett_gsm_map_CallReportData = -1;
1162 static gint ett_gsm_map_IST_AlertArg = -1;
1163 static gint ett_gsm_map_IST_AlertRes = -1;
1164 static gint ett_gsm_map_IST_CommandArg = -1;
1165 static gint ett_gsm_map_IST_CommandRes = -1;
1166 static gint ett_gsm_map_ReleaseResourcesArg = -1;
1167 static gint ett_gsm_map_ReleaseResourcesRes = -1;
1168 static gint ett_gsm_map_RemoteUserFreeArg = -1;
1169 static gint ett_gsm_map_RemoteUserFreeRes = -1;
1170 static gint ett_gsm_map_SS_Data = -1;
1171 static gint ett_gsm_map_SS_SubscriptionOption = -1;
1172 static gint ett_gsm_map_RegisterSS_Arg = -1;
1173 static gint ett_gsm_map_SS_Info = -1;
1174 static gint ett_gsm_map_InterrogateSS_Res = -1;
1175 static gint ett_gsm_map_Ussd_Arg = -1;
1176 static gint ett_gsm_map_Ussd_Res = -1;
1177 static gint ett_gsm_map_AuthenticationFailureReportArg = -1;
1178 static gint ett_gsm_map_AuthenticationFailureReportRes = -1;
1179 static gint ett_gsm_map_RegisterCC_EntryArg = -1;
1180 static gint ett_gsm_map_RegisterCC_EntryRes = -1;
1181 static gint ett_gsm_map_CCBS_Data = -1;
1182 static gint ett_gsm_map_ServiceIndicator = -1;
1183 static gint ett_gsm_map_EraseCC_EntryArg = -1;
1184 static gint ett_gsm_map_EraseCC_EntryRes = -1;
1185 static gint ett_gsm_map_RoutingInfoForSMArg = -1;
1186 static gint ett_gsm_map_RoutingInfoForSM_Res = -1;
1187 static gint ett_gsm_map_LocationInfoWithLMSI = -1;
1188 static gint ett_gsm_map_Additional_Number = -1;
1189 static gint ett_gsm_map_Mo_forwardSM_Arg = -1;
1190 static gint ett_gsm_map_Mo_forwardSM_Res = -1;
1191 static gint ett_gsm_map_Sm_RP_OA = -1;
1192 static gint ett_gsm_map_Sm_RP_DA = -1;
1193 static gint ett_gsm_map_Mt_forwardSM_Arg = -1;
1194 static gint ett_gsm_map_Mt_forwardSM_Res = -1;
1195 static gint ett_gsm_map_ReportSM_DeliveryStatusArg = -1;
1196 static gint ett_gsm_map_ReportSM_DeliveryStatusRes = -1;
1197 static gint ett_gsm_map_InformServiceCentreArg = -1;
1198 static gint ett_gsm_map_T_mw_Status = -1;
1199 static gint ett_gsm_map_AlertServiceCentreArg = -1;
1200 static gint ett_gsm_map_ReadyForSM_Arg = -1;
1201 static gint ett_gsm_map_ReadyForSM_Res = -1;
1202 static gint ett_gsm_map_ProvideSubscriberInfoArg = -1;
1203 static gint ett_gsm_map_ProvideSubscriberInfoRes = -1;
1204 static gint ett_gsm_map_SubscriberInfo = -1;
1205 static gint ett_gsm_map_MNPInfoRes = -1;
1206 static gint ett_gsm_map_GPRSMSClass = -1;
1207 static gint ett_gsm_map_RequestedInfo = -1;
1208 static gint ett_gsm_map_AnyTimeInterrogationArg = -1;
1209 static gint ett_gsm_map_AnyTimeInterrogationRes = -1;
1210 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationArg = -1;
1211 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationRes = -1;
1212 static gint ett_gsm_map_RequestedSubscriptionInfo = -1;
1213 static gint ett_gsm_map_CallForwardingData = -1;
1214 static gint ett_gsm_map_CallBarringData = -1;
1215 static gint ett_gsm_map_BasicServiceCode = -1;
1216 static gint ett_gsm_map_O_BcsmCamelTDPCriteriaList = -1;
1217 static gint ett_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList = -1;
1218 static gint ett_gsm_map_O_BcsmCamelTDP_Criteria = -1;
1219 static gint ett_gsm_map_T_BCSM_CAMEL_TDP_Criteria = -1;
1220 static gint ett_gsm_map_OfferedCamel4CSIs = -1;
1221 static gint ett_gsm_map_OfferedCamel4Functionalities = -1;
1222 static gint ett_gsm_map_SS_ForBS_Code = -1;
1223 static gint ett_gsm_map_GenericServiceInfo = -1;
1224 static gint ett_gsm_map_CCBS_FeatureList = -1;
1225 static gint ett_gsm_map_CCBS_Feature = -1;
1226 static gint ett_gsm_map_T_CauseValueCriteria = -1;
1227 static gint ett_gsm_map_O_CauseValueCriteria = -1;
1228 static gint ett_gsm_map_BasicServiceCriteria = -1;
1229 static gint ett_gsm_map_AnyTimeModificationArg = -1;
1230 static gint ett_gsm_map_AnyTimeModificationRes = -1;
1231 static gint ett_gsm_map_ModificationRequestFor_CF_Info = -1;
1232 static gint ett_gsm_map_ModificationRequestFor_CB_Info = -1;
1233 static gint ett_gsm_map_ModificationRequestFor_ODB_data = -1;
1234 static gint ett_gsm_map_ModificationRequestFor_CSI = -1;
1235 static gint ett_gsm_map_Ext_SS_InfoFor_CSE = -1;
1236 static gint ett_gsm_map_NoteSubscriberDataModifiedArg = -1;
1237 static gint ett_gsm_map_NoteSubscriberDataModifiedRes = -1;
1238 static gint ett_gsm_map_NoteMM_EventArg = -1;
1239 static gint ett_gsm_map_NoteMM_EventRes = -1;
1240 static gint ett_gsm_map_CAMEL_SubscriptionInfo = -1;
1241 static gint ett_gsm_map_Ext_ForwardingInfoFor_CSE = -1;
1242 static gint ett_gsm_map_Ext_BasicServiceCode = -1;
1243 static gint ett_gsm_map_Ext_CallBarringInfoFor_CSE = -1;
1244 static gint ett_gsm_map_ODB_Info = -1;
1245 static gint ett_gsm_map_ODB_Data = -1;
1246 static gint ett_gsm_map_M_CSI = -1;
1247 static gint ett_gsm_map_SS_EventList = -1;
1248 static gint ett_gsm_map_T_CSI = -1;
1249 static gint ett_gsm_map_T_BcsmCamelTDPDataList = -1;
1250 static gint ett_gsm_map_T_BcsmCamelTDPData = -1;
1251 static gint ett_gsm_map_SMS_CSI = -1;
1252 static gint ett_gsm_map_SMS_CAMEL_TDP_DataList = -1;
1253 static gint ett_gsm_map_SMS_CAMEL_TDP_Data = -1;
1254 static gint ett_gsm_map_MobilityTriggers = -1;
1255 static gint ett_gsm_map_Ss_InvocationNotificationArg = -1;
1256 static gint ett_gsm_map_T_ss_EventSpecification = -1;
1257 static gint ett_gsm_map_Ss_InvocationNotificationRes = -1;
1258 static gint ett_gsm_map_PrepareGroupCallArg = -1;
1259 static gint ett_gsm_map_PrepareGroupCallRes = -1;
1260 static gint ett_gsm_map_SendGroupCallEndSignalArg = -1;
1261 static gint ett_gsm_map_SendGroupCallEndSignalRes = -1;
1262 static gint ett_gsm_map_ProcessGroupCallSignallingArg = -1;
1263 static gint ett_gsm_map_ForwardGroupCallSignallingArg = -1;
1264 static gint ett_gsm_map_UpdateGprsLocationArg = -1;
1265 static gint ett_gsm_map_UpdateGprsLocationRes = -1;
1266 static gint ett_gsm_map_SGSN_Capability = -1;
1267 static gint ett_gsm_map_SendRoutingInfoForGprsArg = -1;
1268 static gint ett_gsm_map_SendRoutingInfoForGprsRes = -1;
1269 static gint ett_gsm_map_FailureReportArg = -1;
1270 static gint ett_gsm_map_FailureReportRes = -1;
1271 static gint ett_gsm_map_NoteMsPresentForGprsArg = -1;
1272 static gint ett_gsm_map_NoteMsPresentForGprsRes = -1;
1273 static gint ett_gsm_map_ProvideSubscriberLocation_Arg = -1;
1274 static gint ett_gsm_map_LocationType = -1;
1275 static gint ett_gsm_map_DeferredLocationEventType = -1;
1276 static gint ett_gsm_map_LCS_ClientID = -1;
1277 static gint ett_gsm_map_LCSClientName = -1;
1278 static gint ett_gsm_map_LCSRequestorID = -1;
1279 static gint ett_gsm_map_LCS_QoS = -1;
1280 static gint ett_gsm_map_ResponseTime = -1;
1281 static gint ett_gsm_map_SupportedGADShapes = -1;
1282 static gint ett_gsm_map_LCSCodeword = -1;
1283 static gint ett_gsm_map_LCS_PrivacyCheck = -1;
1284 static gint ett_gsm_map_AreaEventInfo = -1;
1285 static gint ett_gsm_map_AreaDefinition = -1;
1286 static gint ett_gsm_map_AreaList = -1;
1287 static gint ett_gsm_map_Area = -1;
1288 static gint ett_gsm_map_ProvideSubscriberLocation_Res = -1;
1289 static gint ett_gsm_map_TargetMS = -1;
1290 static gint ett_gsm_map_RoutingInfoForLCS_Arg = -1;
1291 static gint ett_gsm_map_RoutingInfoForLCS_Res = -1;
1292 static gint ett_gsm_map_LCSLocationInfo = -1;
1293 static gint ett_gsm_map_SubscriberLocationReport_Arg = -1;
1294 static gint ett_gsm_map_Deferredmt_lrData = -1;
1295 static gint ett_gsm_map_SubscriberLocationReport_Res = -1;
1296 static gint ett_gsm_map_SecureTransportArg = -1;
1297 static gint ett_gsm_map_SecureTransportRes = -1;
1298 static gint ett_gsm_map_SecurityHeader = -1;
1299 static gint ett_gsm_map_OriginalComponentIdentifier = -1;
1300 static gint ett_gsm_map_OperationCode = -1;
1301 static gint ett_gsm_map_ErrorCode = -1;
1302 static gint ett_gsm_map_SystemFailureParam = -1;
1303 static gint ett_gsm_map_T_extensibleSystemFailureParam = -1;
1304 static gint ett_gsm_map_DataMissingParam = -1;
1305 static gint ett_gsm_map_UnexpectedDataParam = -1;
1306 static gint ett_gsm_map_FacilityNotSupParam = -1;
1307 static gint ett_gsm_map_OR_NotAllowedParam = -1;
1308 static gint ett_gsm_map_IncompatibleTerminalParam = -1;
1309 static gint ett_gsm_map_ResourceLimitationParam = -1;
1310 static gint ett_gsm_map_UnknownSubscriberParam = -1;
1311 static gint ett_gsm_map_NumberChangedParam = -1;
1312 static gint ett_gsm_map_UnidentifiedSubParam = -1;
1313 static gint ett_gsm_map_RoamingNotAllowedParam = -1;
1314 static gint ett_gsm_map_IllegalSubscriberParam = -1;
1315 static gint ett_gsm_map_IllegalEquipmentParam = -1;
1316 static gint ett_gsm_map_BearerServNotProvParam = -1;
1317 static gint ett_gsm_map_TeleservNotProvParam = -1;
1318 static gint ett_gsm_map_TracingBufferFullParam = -1;
1319 static gint ett_gsm_map_NoRoamingNbParam = -1;
1320 static gint ett_gsm_map_AbsentSubscriberParam = -1;
1321 static gint ett_gsm_map_BusySubscriberParam = -1;
1322 static gint ett_gsm_map_NoSubscriberReplyParam = -1;
1323 static gint ett_gsm_map_ForwardingViolationParam = -1;
1324 static gint ett_gsm_map_ForwardingFailedParam = -1;
1325 static gint ett_gsm_map_ATI_NotAllowedParam = -1;
1326 static gint ett_gsm_map_ATSI_NotAllowedParam = -1;
1327 static gint ett_gsm_map_ATM_NotAllowedParam = -1;
1328 static gint ett_gsm_map_IllegalSS_OperationParam = -1;
1329 static gint ett_gsm_map_SS_NotAvailableParam = -1;
1330 static gint ett_gsm_map_SS_SubscriptionViolationParam = -1;
1331 static gint ett_gsm_map_InformationNotAvailableParam = -1;
1332 static gint ett_gsm_map_SubBusyForMT_SMS_Param = -1;
1333 static gint ett_gsm_map_CallBarredParam = -1;
1334 static gint ett_gsm_map_ExtensibleCallBarredParam = -1;
1335 static gint ett_gsm_map_CUG_RejectParam = -1;
1336 static gint ett_gsm_map_Or_NotAllowedParam = -1;
1337 static gint ett_gsm_map_Cug_RejectParam = -1;
1338 static gint ett_gsm_map_NoGroupCallNbParam = -1;
1339 static gint ett_gsm_map_SS_IncompatibilityCause = -1;
1340 static gint ett_gsm_map_ShortTermDenialParam = -1;
1341 static gint ett_gsm_map_LongTermDenialParam = -1;
1342 static gint ett_gsm_map_SM_DeliveryFailureCause = -1;
1343 static gint ett_gsm_map_MessageWaitListFullParam = -1;
1344 static gint ett_gsm_map_AbsentSubscriberSM_Param = -1;
1345 static gint ett_gsm_map_UnauthorizedRequestingNetwork_Param = -1;
1346 static gint ett_gsm_map_UnauthorizedLCSClient_Param = -1;
1347 static gint ett_gsm_map_PositionMethodFailure_Param = -1;
1348 static gint ett_gsm_map_UnknownOrUnreachableLCSClient_Param = -1;
1349 static gint ett_gsm_map_MM_EventNotSupported_Param = -1;
1350 static gint ett_gsm_map_TargetCellOutsideGCA_Param = -1;
1351 static gint ett_gsm_map_SecureTransportErrorParam = -1;
1352 static gint ett_gsm_map_ExtensionContainer = -1;
1354 /*--- End of included file: packet-gsm_map-ett.c ---*/
1355 #line 124 "packet-gsm_map-template.c"
1357 static dissector_table_t sms_dissector_table; /* SMS TPDU */
1358 static dissector_handle_t data_handle;
1360 /* Preferenc settings default */
1362 static range_t *global_ssn_range;
1363 static range_t *ssn_range;
1364 dissector_handle_t map_handle;
1366 /* Global variables */
1367 static guint32 opcode=0;
1368 static guint32 errorCode;
1369 static proto_tree *top_tree;
1370 static int application_context_version;
1372 gint AccessNetworkProtocolId;
1373 static int gsm_map_tap = -1;
1375 /* Forward declarations */
1376 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
1377 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
1378 static int dissect_returnErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
1382 unpack_digits(tvbuff_t *tvb, int offset){
1389 length = tvb_length(tvb);
1390 if (length < offset)
1392 digit_str = ep_alloc((length - offset)*2+1);
1394 while ( offset < length ){
1396 octet = tvb_get_guint8(tvb,offset);
1397 digit_str[i] = ((octet & 0x0f) + '0');
1401 * unpack second value in byte
1405 if (octet == 0x0f) /* odd number bytes - hit filler */
1408 digit_str[i] = ((octet & 0x0f) + '0');
1420 dissect_gsm_map_ext_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
1423 proto_tree *subtree;
1426 item = get_ber_last_created_item();
1427 subtree = proto_item_add_subtree(item, ett_gsm_map_ext_qos_subscribed);
1429 Allocation/Retention Priority (This octet encodes each priority level defined in
1430 23.107 as the binary value of the priority level, declaration in 29.060)
1431 Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets
1434 /* Allocation/Retention Priority */
1435 proto_tree_add_item(subtree, hf_gsm_map_ext_qos_subscribed_pri, tvb, offset, 1, FALSE);
1438 /* Quality of Service Octets 6-13.( Octet 2 - 9 Here) */
1440 /* Traffic class, octet 6 (see 3GPP TS 23.107) Bits 8 7 6 */
1441 proto_tree_add_item(subtree, hf_gsm_map_qos_traffic_cls, tvb, offset, 1, FALSE);
1442 /* Delivery order, octet 6 (see 3GPP TS 23.107) Bits 5 4 */
1443 proto_tree_add_item(subtree, hf_gsm_map_qos_del_order, tvb, offset, 1, FALSE);
1444 /* Delivery of erroneous SDUs, octet 6 (see 3GPP TS 23.107) Bits 3 2 1 */
1445 proto_tree_add_item(subtree, hf_gsm_map_qos_del_of_err_sdu, tvb, offset, 1, FALSE);
1448 /* Maximum SDU size, octet 7 (see 3GPP TS 23.107) */
1449 octet = tvb_get_guint8(tvb,offset);
1450 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, octet);
1454 /* Maximum bit rate for uplink, octet 8 */
1455 octet = tvb_get_guint8(tvb,offset);
1456 proto_tree_add_uint(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, octet);
1458 /* Maximum bit rate for downlink, octet 9 (see 3GPP TS 23.107) */
1459 octet = tvb_get_guint8(tvb,offset);
1460 proto_tree_add_uint(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, octet);
1462 /* Residual Bit Error Rate (BER), octet 10 (see 3GPP TS 23.107) Bits 8 7 6 5 */
1463 proto_tree_add_item(subtree, hf_gsm_map_qos_ber, tvb, offset, 1, FALSE);
1464 /* SDU error ratio, octet 10 (see 3GPP TS 23.107) */
1465 proto_tree_add_item(subtree, hf_gsm_map_qos_sdu_err_rat, tvb, offset, 1, FALSE);
1468 /* Traffic handling priority, octet 11 (see 3GPP TS 23.107) Bits 2 1 */
1469 proto_tree_add_item(subtree, hf_gsm_map_qos_traff_hdl_pri, tvb, offset, 1, FALSE);
1470 /* Transfer delay, octet 11 (See 3GPP TS 23.107) Bits 8 7 6 5 4 3 */
1471 proto_tree_add_item(subtree, hf_gsm_map_qos_transfer_delay, tvb, offset, 1, FALSE);
1474 /* Guaranteed bit rate for uplink, octet 12 (See 3GPP TS 23.107)
1475 Coding is identical to that of Maximum bit rate for uplink.
1477 octet = tvb_get_guint8(tvb,offset);
1478 proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, octet);
1481 /* Guaranteed bit rate for downlink, octet 13(See 3GPP TS 23.107)
1482 Coding is identical to that of Maximum bit rate for uplink.
1484 octet = tvb_get_guint8(tvb,offset);
1485 proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, octet);
1490 /*--- Included file: packet-gsm_map-fn.c ---*/
1491 #line 1 "packet-gsm_map-fn.c"
1492 /*--- Fields for imported types ---*/
1498 dissect_gsm_map_InvokeIdType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1499 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1504 static int dissect_invokeID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1505 return dissect_gsm_map_InvokeIdType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeID);
1507 static int dissect_linkedID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1508 return dissect_gsm_map_InvokeIdType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_linkedID);
1510 static int dissect_derivable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1511 return dissect_gsm_map_InvokeIdType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_derivable);
1515 static const value_string gsm_map_OperationLocalvalue_vals[] = {
1516 { 2, "updateLocation" },
1517 { 3, "cancelLocation" },
1518 { 4, "provideRoamingNumber" },
1519 { 5, "noteSubscriberDataModified" },
1520 { 6, "resumeCallHandling" },
1521 { 7, "insertSubscriberData" },
1522 { 8, "deleteSubscriberData" },
1523 { 9, "sendParameters" },
1524 { 10, "registerSS" },
1526 { 12, "activateSS" },
1527 { 13, "deactivateSS" },
1528 { 14, "interrogateSS" },
1529 { 15, "authenticationFailureReport" },
1530 { 17, "registerPassword" },
1531 { 18, "getPassword" },
1532 { 19, "processUnstructuredSS-Data" },
1533 { 20, "releaseResources" },
1534 { 22, "sendRoutingInfo" },
1535 { 23, "updateGprsLocation" },
1536 { 24, "sendRoutingInfoForGprs" },
1537 { 25, "failureReport" },
1538 { 26, "noteMsPresentForGprs" },
1539 { 28, "performHandover" },
1540 { 29, "sendEndSignal" },
1541 { 30, "performSubsequentHandover" },
1542 { 31, "provideSIWFSNumber" },
1543 { 32, "sIWFSSignallingModify" },
1544 { 33, "processAccessSignalling" },
1545 { 34, "forwardAccessSignalling" },
1546 { 35, "noteInternalHandover" },
1548 { 38, "forwardCheckSS" },
1549 { 39, "prepareGroupCall" },
1550 { 40, "sendGroupCallEndSignal" },
1551 { 41, "processGroupCallSignalling" },
1552 { 42, "forwardGroupCallSignalling" },
1553 { 43, "checkIMEI" },
1554 { 44, "mt-forwardSM" },
1555 { 45, "sendRoutingInfoForSM" },
1556 { 46, "mo-forwardSM" },
1557 { 47, "reportSM-DeliveryStatus" },
1558 { 48, "noteSubscriberPresent" },
1559 { 49, "alertServiceCentreWithoutResult" },
1560 { 50, "activateTraceMode" },
1561 { 51, "deactivateTraceMode" },
1562 { 52, "traceSubscriberActivity" },
1563 { 54, "beginSubscriberActivity" },
1564 { 55, "sendIdentification" },
1565 { 56, "sendAuthenticationInfo" },
1566 { 57, "restoreData" },
1568 { 59, "processUnstructuredSS-Request" },
1569 { 60, "unstructuredSS-Request" },
1570 { 61, "unstructuredSS-Notify" },
1571 { 62, "anyTimeSubscriptionInterrogation" },
1572 { 63, "informServiceCentre" },
1573 { 64, "alertServiceCentre" },
1574 { 65, "anyTimeModification" },
1575 { 66, "readyForSM" },
1577 { 68, "prepareHandover" },
1578 { 69, "prepareSubsequentHandover" },
1579 { 70, "provideSubscriberInfo" },
1580 { 71, "anyTimeInterrogation" },
1581 { 72, "ss-InvocationNotification" },
1582 { 73, "setReportingState" },
1583 { 74, "statusReport" },
1584 { 75, "remoteUserFree" },
1585 { 76, "registerCC-Entry" },
1586 { 77, "eraseCC-Entry" },
1587 { 78, "secureTransportClass1" },
1588 { 79, "secureTransportClass2" },
1589 { 80, "secureTransportClass3" },
1590 { 81, "secureTransportClass4" },
1591 { 83, "provideSubscriberLocation" },
1592 { 85, "sendRoutingInfoForLCS" },
1593 { 86, "subscriberLocationReport" },
1594 { 87, "ist-Alert" },
1595 { 88, "ist-Command" },
1596 { 89, "noteMM-Event" },
1602 dissect_gsm_map_OperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1603 #line 137 "gsmmap.cnf"
1605 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1608 if (check_col(pinfo->cinfo, COL_INFO)){
1609 col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
1616 static int dissect_localValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1617 return dissect_gsm_map_OperationLocalvalue(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_localValue);
1623 dissect_gsm_map_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1624 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1628 static int dissect_globalValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1629 return dissect_gsm_map_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_globalValue);
1631 static int dissect_extId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1632 return dissect_gsm_map_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extId);
1636 static const value_string gsm_map_OPERATION_vals[] = {
1637 { 0, "localValue" },
1638 { 1, "globalValue" },
1642 static const ber_choice_t OPERATION_choice[] = {
1643 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_localValue },
1644 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_globalValue },
1645 { 0, 0, 0, 0, NULL }
1649 dissect_gsm_map_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1650 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1651 OPERATION_choice, hf_index, ett_gsm_map_OPERATION,
1656 static int dissect_opCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1657 return dissect_gsm_map_OPERATION(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_opCode);
1663 dissect_gsm_map_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1664 #line 124 "gsmmap.cnf"
1665 offset = dissect_invokeData(pinfo, tree, tvb, offset);
1671 static int dissect_invokeparameter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1672 return dissect_gsm_map_InvokeParameter(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeparameter);
1676 static const ber_sequence_t Invoke_sequence[] = {
1677 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeID },
1678 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_linkedID_impl },
1679 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_opCode },
1680 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_invokeparameter },
1685 dissect_gsm_map_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1686 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1687 Invoke_sequence, hf_index, ett_gsm_map_Invoke);
1691 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1692 return dissect_gsm_map_Invoke(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invoke);
1698 dissect_gsm_map_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1699 #line 127 "gsmmap.cnf"
1700 offset = dissect_returnResultData(pinfo, tree, tvb, offset);
1706 static int dissect_returnparameter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1707 return dissect_gsm_map_ReturnResultParameter(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_returnparameter);
1711 static const ber_sequence_t T_resultretres_sequence[] = {
1712 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_opCode },
1713 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_returnparameter },
1718 dissect_gsm_map_T_resultretres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1719 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1720 T_resultretres_sequence, hf_index, ett_gsm_map_T_resultretres);
1724 static int dissect_resultretres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1725 return dissect_gsm_map_T_resultretres(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_resultretres);
1729 static const ber_sequence_t ReturnResult_sequence[] = {
1730 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeID },
1731 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_resultretres },
1736 dissect_gsm_map_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1737 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1738 ReturnResult_sequence, hf_index, ett_gsm_map_ReturnResult);
1742 static int dissect_returnResultLast_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1743 return dissect_gsm_map_ReturnResult(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResultLast);
1747 static const value_string gsm_map_LocalErrorcode_vals[] = {
1748 { 34, "systemFailure" },
1749 { 35, "dataMissing" },
1750 { 36, "unexpectedDataValue" },
1751 { 21, "facilityNotSupported" },
1752 { 28, "incompatibleTerminal" },
1753 { 51, "resourceLimitation" },
1754 { 1, "unknownSubscriber" },
1755 { 44, "numberChanged" },
1756 { 3, "unknownMSC" },
1757 { 5, "unidentifiedSubscriber" },
1758 { 7, "unknownEquipment" },
1759 { 8, "roamingNotAllowed" },
1760 { 9, "illegalSubscriber" },
1761 { 12, "illegalEquipment" },
1762 { 10, "bearerServiceNotProvisioned" },
1763 { 11, "teleserviceNotProvisioned" },
1764 { 25, "noHandoverNumberAvailable" },
1765 { 26, "subsequentHandoverFailure" },
1766 { 42, "targetCellOutsideGroupCallArea" },
1767 { 40, "tracingBufferFull" },
1768 { 39, "noRoamingNumberAvailable" },
1769 { 27, "absentSubscriber" },
1770 { 45, "busySubscriber" },
1771 { 46, "noSubscriberReply" },
1772 { 13, "callBarred" },
1773 { 14, "forwardingViolation" },
1774 { 47, "forwardingFailed" },
1775 { 15, "cug-Reject" },
1776 { 48, "or-NotAllowed" },
1777 { 49, "ati-NotAllowed" },
1778 { 60, "atsi-NotAllowed" },
1779 { 61, "atm-NotAllowed" },
1780 { 62, "informationNotAvailabl" },
1781 { 16, "illegalSS-Operation" },
1782 { 17, "ss-ErrorStatus" },
1783 { 18, "ss-NotAvailable" },
1784 { 19, "ss-SubscriptionViolatio" },
1785 { 20, "ss-Incompatibility" },
1786 { 71, "unknownAlphabe" },
1787 { 72, "ussd-Busy" },
1788 { 37, "pw-RegistrationFailur" },
1789 { 38, "negativePW-Check" },
1790 { 43, "numberOfPW-AttemptsViolation" },
1791 { 29, "shortTermDenial" },
1792 { 30, "longTermDenial" },
1793 { 31, "subscriberBusyForMT-SMS" },
1794 { 32, "sm-DeliveryFailure" },
1795 { 33, "messageWaitingListFull" },
1796 { 6, "absentSubscriberSM" },
1797 { 50, "noGroupCallNumberAvailable" },
1798 { 52, "unauthorizedRequestingNetwork" },
1799 { 53, "unauthorizedLCSClient" },
1800 { 54, "positionMethodFailure" },
1801 { 58, "unknownOrUnreachableLCSClient" },
1802 { 59, "mm-EventNotSupported" },
1803 { 4, "secureTransportError" },
1809 dissect_gsm_map_LocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1810 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1815 static int dissect_localValue1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1816 return dissect_gsm_map_LocalErrorcode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_localValue1);
1820 static const value_string gsm_map_ERROR_vals[] = {
1821 { 0, "localValue" },
1822 { 1, "globalValue" },
1826 static const ber_choice_t ERROR_choice[] = {
1827 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_localValue1 },
1828 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_globalValue },
1829 { 0, 0, 0, 0, NULL }
1833 dissect_gsm_map_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1834 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1835 ERROR_choice, hf_index, ett_gsm_map_ERROR,
1840 static int dissect_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1841 return dissect_gsm_map_ERROR(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_errorCode);
1847 dissect_gsm_map_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1848 #line 130 "gsmmap.cnf"
1849 offset = dissect_returnErrorData(pinfo, tree, tvb, offset);
1855 static int dissect_parameter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1856 return dissect_gsm_map_ReturnErrorParameter(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_parameter);
1860 static const ber_sequence_t ReturnError_sequence[] = {
1861 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeID },
1862 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_errorCode },
1863 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_parameter },
1868 dissect_gsm_map_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1869 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1870 ReturnError_sequence, hf_index, ett_gsm_map_ReturnError);
1874 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1875 return dissect_gsm_map_ReturnError(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnError);
1881 dissect_gsm_map_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1882 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1886 static int dissect_not_derivable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1887 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_not_derivable);
1889 static int dissect_informPreviousNetworkEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1890 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_informPreviousNetworkEntity);
1892 static int dissect_cs_LCS_NotSupportedByUE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1893 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cs_LCS_NotSupportedByUE);
1895 static int dissect_add_Capability(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1896 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_add_Capability);
1898 static int dissect_solsaSupportIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1899 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1901 static int dissect_solsaSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1902 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1904 static int dissect_longFTN_Supported_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1905 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longFTN_Supported);
1907 static int dissect_sendSubscriberData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1908 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sendSubscriberData);
1910 static int dissect_skipSubscriberDataUpdate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1911 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_skipSubscriberDataUpdate);
1913 static int dissect_na_ESRK_Request_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1914 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRK_Request);
1916 static int dissect_freezeTMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1917 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeTMSI);
1919 static int dissect_freezeP_TMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1920 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeP_TMSI);
1922 static int dissect_segmentationProhibited(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1923 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_segmentationProhibited);
1925 static int dissect_ho_NumberNotRequired(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1926 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ho_NumberNotRequired);
1928 static int dissect_multipleBearerRequested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1929 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerRequested);
1931 static int dissect_rab_ConfigurationIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1932 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rab_ConfigurationIndicator);
1934 static int dissect_rab_ConfigurationIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1935 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_ConfigurationIndicator);
1937 static int dissect_multipleBearerNotSupported(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1938 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerNotSupported);
1940 static int dissect_immediateResponsePreferred_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1941 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_immediateResponsePreferred);
1943 static int dissect_notificationToCSE(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1944 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1946 static int dissect_notificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1947 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1949 static int dissect_csiActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1950 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csiActive);
1952 static int dissect_roamingRestrictionDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1953 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictionDueToUnsupportedFeature);
1955 static int dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1956 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature);
1958 static int dissect_lmu_Indicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1959 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmu_Indicator);
1961 static int dissect_vplmnAddressAllowed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1962 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vplmnAddressAllowed);
1964 static int dissect_completeDataListIncluded(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1965 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_completeDataListIncluded);
1967 static int dissect_csi_Active_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1968 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csi_Active);
1970 static int dissect_lsaActiveModeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1971 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaActiveModeIndicator);
1973 static int dissect_vbsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1974 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsGroupIndication);
1976 static int dissect_vgcsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1977 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsGroupIndication);
1979 static int dissect_camelSubscriptionInfoWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1980 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelSubscriptionInfoWithdraw);
1982 static int dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1983 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature);
1985 static int dissect_gmlc_ListWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1986 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_ListWithdraw);
1988 static int dissect_istInformationWithdraw(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1989 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_istInformationWithdraw);
1991 static int dissect_istInformationWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1992 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istInformationWithdraw);
1994 static int dissect_chargingCharacteristicsWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1995 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingCharacteristicsWithdraw);
1997 static int dissect_allGPRSData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1998 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allGPRSData);
2000 static int dissect_allLSAData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2001 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allLSAData);
2003 static int dissect_tif_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2004 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI);
2006 static int dissect_msNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2007 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msNotReachable);
2009 static int dissect_broadcastInitEntitlement(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2010 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_broadcastInitEntitlement);
2012 static int dissect_or_Interrogation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2013 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Interrogation);
2015 static int dissect_ccbs_Call_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2016 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Call);
2018 static int dissect_pre_pagingSupported_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2019 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pre_pagingSupported);
2021 static int dissect_suppress_VT_CSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2022 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppress_VT_CSI);
2024 static int dissect_suppress_VT_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2025 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_suppress_VT_CSI);
2027 static int dissect_suppressIncomingCallBarring(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2028 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppressIncomingCallBarring);
2030 static int dissect_gsmSCF_InitiatedCall(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2031 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_InitiatedCall);
2033 static int dissect_cugSubscriptionFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2034 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cugSubscriptionFlag);
2036 static int dissect_forwardingInterrogationRequired_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2037 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInterrogationRequired);
2039 static int dissect_releaseResourcesSupported(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2040 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_releaseResourcesSupported);
2042 static int dissect_releaseResourcesSupported_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2043 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_releaseResourcesSupported);
2045 static int dissect_suppress_T_CSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2046 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppress_T_CSI);
2048 static int dissect_ccbs_Possible_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2049 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Possible);
2051 static int dissect_keepCCBS_CallIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2052 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_keepCCBS_CallIndicator);
2054 static int dissect_currentLocationRetrieved(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2055 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocationRetrieved);
2057 static int dissect_currentLocationRetrieved_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2058 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocationRetrieved);
2060 static int dissect_sai_Present(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2061 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sai_Present);
2063 static int dissect_sai_Present_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2064 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sai_Present);
2066 static int dissect_assumedIdle_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2067 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_assumedIdle);
2069 static int dissect_camelBusy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2070 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelBusy);
2072 static int dissect_notProvidedFromVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2073 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromVLR);
2075 static int dissect_notProvidedFromSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2076 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromSGSN);
2078 static int dissect_ps_Detached_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2079 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_Detached);
2081 static int dissect_ps_AttachedNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2082 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_AttachedNotReachableForPaging);
2084 static int dissect_ps_AttachedReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2085 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_AttachedReachableForPaging);
2087 static int dissect_pdp_ContextActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2088 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextActive);
2090 static int dissect_cug_OutgoingAccess(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2091 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_OutgoingAccess);
2093 static int dissect_orNotSupportedInGMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2094 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_orNotSupportedInGMSC);
2096 static int dissect_allInformationSent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2097 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allInformationSent);
2099 static int dissect_allInformationSent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2100 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allInformationSent);
2102 static int dissect_uusCFInteraction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2103 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uusCFInteraction);
2105 static int dissect_replaceB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2106 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_replaceB_Number);
2108 static int dissect_gprsSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2109 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSupportIndicator);
2111 static int dissect_gprsNodeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2112 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsNodeIndicator);
2114 static int dissect_noSM_RP_OA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2115 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_OA);
2117 static int dissect_noSM_RP_DA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2118 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_DA);
2120 static int dissect_moreMessagesToSend(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2121 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_moreMessagesToSend);
2123 static int dissect_deliveryOutcomeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2124 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deliveryOutcomeIndicator);
2126 static int dissect_alertReasonIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2127 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReasonIndicator);
2129 static int dissect_locationInformation_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2130 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformation_flg);
2132 static int dissect_subscriberState_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2133 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberState_flg);
2135 static int dissect_currentLocation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2136 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocation);
2138 static int dissect_imei_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2139 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei_flg);
2141 static int dissect_ms_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2142 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_classmark);
2144 static int dissect_mnpRequestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2145 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpRequestedInfo);
2147 static int dissect_odb_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2148 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb);
2150 static int dissect_supportedVLR_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2151 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases_flg);
2153 static int dissect_supportedSGSN_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2154 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases_flg);
2156 static int dissect_tif_CSI_NotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2157 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI_NotificationToCSE);
2159 static int dissect_uplinkFree_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2160 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkFree);
2162 static int dissect_uplinkRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2163 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequest);
2165 static int dissect_uplinkReleaseIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2166 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkReleaseIndication);
2168 static int dissect_releaseGroupCall_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2169 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_releaseGroupCall);
2171 static int dissect_uplinkRequestAck_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2172 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequestAck);
2174 static int dissect_uplinkRejectCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2175 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRejectCommand);
2177 static int dissect_uplinkSeizedCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2178 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkSeizedCommand);
2180 static int dissect_uplinkReleaseCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2181 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkReleaseCommand);
2183 static int dissect_ps_LCS_NotSupportedByUE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2184 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_LCS_NotSupportedByUE);
2186 static int dissect_gprsEnhancementsSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2187 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsEnhancementsSupportIndicator);
2189 static int dissect_smsCallBarringSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2190 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_smsCallBarringSupportIndicator);
2192 static int dissect_privacyOverride_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2193 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privacyOverride);
2195 static int dissect_verticalCoordinateRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2196 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_verticalCoordinateRequest);
2198 static int dissect_deferredmt_lrResponseIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2199 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deferredmt_lrResponseIndicator);
2201 static int dissect_pseudonymIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2202 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pseudonymIndicator);
2204 static int dissect_userInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2205 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_userInfo);
2207 static int dissect_ccbs_Busy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2208 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Busy);
2210 static int dissect_gprsConnectionSuspended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2211 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsConnectionSuspended);
2213 static int dissect_unauthorisedMessageOriginator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2214 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorisedMessageOriginator);
2218 static const value_string gsm_map_T_invokeIDRej_vals[] = {
2220 { 1, "not-derivable" },
2224 static const ber_choice_t T_invokeIDRej_choice[] = {
2225 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_derivable },
2226 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_not_derivable },
2227 { 0, 0, 0, 0, NULL }
2231 dissect_gsm_map_T_invokeIDRej(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2232 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2233 T_invokeIDRej_choice, hf_index, ett_gsm_map_T_invokeIDRej,
2238 static int dissect_invokeIDRej(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2239 return dissect_gsm_map_T_invokeIDRej(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeIDRej);
2243 static const value_string gsm_map_GeneralProblem_vals[] = {
2244 { 0, "unrecognizedComponent" },
2245 { 1, "mistypedComponent" },
2246 { 2, "badlyStructuredComponent" },
2252 dissect_gsm_map_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2253 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2258 static int dissect_generalProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2259 return dissect_gsm_map_GeneralProblem(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_generalProblem);
2263 static const value_string gsm_map_InvokeProblem_vals[] = {
2264 { 0, "duplicateInvokeID" },
2265 { 1, "unrecognizedOperation" },
2266 { 2, "mistypedParameter" },
2267 { 3, "resourceLimitation" },
2268 { 4, "initiatingRelease" },
2269 { 5, "unrecognizedLinkedID" },
2270 { 6, "linkedResponseUnexpected" },
2271 { 7, "unexpectedLinkedOperation" },
2277 dissect_gsm_map_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2278 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2283 static int dissect_invokeProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2284 return dissect_gsm_map_InvokeProblem(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invokeProblem);
2288 static const value_string gsm_map_ReturnResultProblem_vals[] = {
2289 { 0, "unrecognizedInvokeID" },
2290 { 1, "returnResultUnexpected" },
2291 { 2, "mistypedParameter" },
2297 dissect_gsm_map_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2298 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2303 static int dissect_returnResultProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2304 return dissect_gsm_map_ReturnResultProblem(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResultProblem);
2308 static const value_string gsm_map_ReturnErrorProblem_vals[] = {
2309 { 0, "unrecognizedInvokeID" },
2310 { 1, "returnErrorUnexpected" },
2311 { 2, "unrecognizedError" },
2312 { 3, "unexpectedError" },
2313 { 4, "mistypedParameter" },
2319 dissect_gsm_map_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2320 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2325 static int dissect_returnErrorProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2326 return dissect_gsm_map_ReturnErrorProblem(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnErrorProblem);
2330 static const value_string gsm_map_T_problem_vals[] = {
2331 { 0, "generalProblem" },
2332 { 1, "invokeProblem" },
2333 { 2, "returnResultProblem" },
2334 { 3, "returnErrorProblem" },
2338 static const ber_choice_t T_problem_choice[] = {
2339 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_generalProblem_impl },
2340 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invokeProblem_impl },
2341 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResultProblem_impl },
2342 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnErrorProblem_impl },
2343 { 0, 0, 0, 0, NULL }
2347 dissect_gsm_map_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2348 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2349 T_problem_choice, hf_index, ett_gsm_map_T_problem,
2354 static int dissect_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2355 return dissect_gsm_map_T_problem(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_problem);
2359 static const ber_sequence_t Reject_sequence[] = {
2360 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeIDRej },
2361 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_problem },
2366 dissect_gsm_map_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2367 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2368 Reject_sequence, hf_index, ett_gsm_map_Reject);
2372 static int dissect_reject_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2373 return dissect_gsm_map_Reject(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_reject);
2377 static const value_string gsm_map_Component_vals[] = {
2379 { 2, "returnResultLast" },
2380 { 3, "returnError" },
2385 static const ber_choice_t Component_choice[] = {
2386 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
2387 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResultLast_impl },
2388 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
2389 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
2390 { 0, 0, 0, 0, NULL }
2394 dissect_gsm_map_Component(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2395 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2396 Component_choice, hf_index, ett_gsm_map_Component,
2403 static const value_string gsm_map_ProtocolId_vals[] = {
2406 { 3, "gsm-BSSMAP" },
2407 { 4, "ets-300102-1" },
2413 dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2414 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2419 static int dissect_protocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2420 return dissect_gsm_map_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_protocolId);
2426 dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2427 #line 333 "gsmmap.cnf"
2429 tvbuff_t *parameter_tvb;
2435 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2441 switch (protocolId){
2448 /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/
2450 octet = tvb_get_guint8(parameter_tvb,0);
2451 length = tvb_get_guint8(parameter_tvb,1);
2452 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
2453 next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
2454 dissect_bssmap(next_tvb, pinfo, tree);
2457 /* ets-300102-1 (~Q.931 ) */
2459 octet = tvb_get_guint8(parameter_tvb,0);
2460 length = tvb_get_guint8(parameter_tvb,1);
2462 dissect_q931_bearer_capability_ie(parameter_tvb, 2, length, tree);
2472 static int dissect_signalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2473 return dissect_gsm_map_SignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_signalInfo);
2475 static int dissect_diagnosticInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2476 return dissect_gsm_map_SignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_diagnosticInfo);
2482 dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2483 #line 408 "gsmmap.cnf"
2485 proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
2486 call_dissector(data_handle, tvb, pinfo, tree);
2487 offset = tvb_length_remaining(tvb,offset);
2493 static int dissect_extType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2494 return dissect_gsm_map_T_extType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extType);
2498 static const ber_sequence_t PrivateExtension_sequence[] = {
2499 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extId },
2500 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extType },
2505 dissect_gsm_map_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2506 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2507 PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
2511 static int dissect_PrivateExtensionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2512 return dissect_gsm_map_PrivateExtension(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PrivateExtensionList_item);
2516 static const ber_sequence_t PrivateExtensionList_sequence_of[1] = {
2517 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PrivateExtensionList_item },
2521 dissect_gsm_map_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2522 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2523 PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
2527 static int dissect_privateExtensionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2528 return dissect_gsm_map_PrivateExtensionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privateExtensionList);
2532 static const ber_sequence_t PcsExtensions_sequence[] = {
2537 dissect_gsm_map_PcsExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2538 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2539 PcsExtensions_sequence, hf_index, ett_gsm_map_PcsExtensions);
2543 static int dissect_pcsExtensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2544 return dissect_gsm_map_PcsExtensions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pcsExtensions);
2548 static const ber_sequence_t ExtensionContainer_sequence[] = {
2549 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
2550 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pcsExtensions_impl },
2555 dissect_gsm_map_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2556 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2557 ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
2561 static int dissect_extensionContainer(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2562 return dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
2564 static int dissect_extensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2565 return dissect_gsm_map_ExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
2569 static const ber_sequence_t Bss_APDU_sequence[] = {
2570 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_protocolId },
2571 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
2572 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2577 dissect_gsm_map_Bss_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2578 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2579 Bss_APDU_sequence, hf_index, ett_gsm_map_Bss_APDU);
2583 static int dissect_bss_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2584 return dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bss_APDU);
2590 dissect_gsm_map_SignalInfo2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2591 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2598 static const asn_namedbit SupportedCamelPhases_bits[] = {
2599 { 0, &hf_gsm_map_SupportedCamelPhases_phase1, -1, -1, "phase1", NULL },
2600 { 1, &hf_gsm_map_SupportedCamelPhases_phase2, -1, -1, "phase2", NULL },
2601 { 2, &hf_gsm_map_SupportedCamelPhases_phase3, -1, -1, "phase3", NULL },
2602 { 3, &hf_gsm_map_SupportedCamelPhases_phase4, -1, -1, "phase4", NULL },
2603 { 0, NULL, 0, 0, NULL, NULL }
2607 dissect_gsm_map_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2608 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2609 SupportedCamelPhases_bits, hf_index, ett_gsm_map_SupportedCamelPhases,
2614 static int dissect_supportedCamelPhases(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2615 return dissect_gsm_map_SupportedCamelPhases(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
2617 static int dissect_supportedCamelPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2618 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
2620 static int dissect_supportedCamelPhasesInVMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2621 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhasesInVMSC);
2623 static int dissect_supportedCamelPhasesInInterrogatingNode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2624 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhasesInInterrogatingNode);
2626 static int dissect_supportedVLR_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2627 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases);
2629 static int dissect_supportedSGSN_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2630 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases);
2632 static int dissect_supportedCAMELPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2633 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCAMELPhases);
2639 dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2640 #line 171 "gsmmap.cnf"
2642 tvbuff_t *parameter_tvb;
2645 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2652 digit_str = unpack_digits(parameter_tvb, 0);
2654 proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 0, -1, digit_str);
2662 static int dissect_imsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2663 return dissect_gsm_map_IMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
2665 static int dissect_imsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2666 return dissect_gsm_map_IMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
2672 dissect_gsm_map_ISDN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2673 #line 218 "gsmmap.cnf"
2675 tvbuff_t *parameter_tvb;
2678 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2685 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
2686 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
2687 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
2689 digit_str = unpack_digits(parameter_tvb, 1);
2691 proto_tree_add_string(tree, hf_gsm_map_isdn_address_digits, parameter_tvb, 1, -1, digit_str);
2693 pinfo->p2p_dir = P2P_DIR_RECV;
2700 static int dissect_msc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2701 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
2703 static int dissect_msc_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2704 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
2706 static int dissect_vlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2707 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
2709 static int dissect_vlr_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2710 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
2712 static int dissect_hlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2713 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_Number);
2715 static int dissect_sgsn_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2716 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
2718 static int dissect_sgsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2719 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
2721 static int dissect_handoverNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2722 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
2724 static int dissect_handoverNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2725 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
2727 static int dissect_targetMSC_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2728 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMSC_Number);
2730 static int dissect_targetMSC_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2731 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetMSC_Number);
2733 static int dissect_gsmSCF_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2734 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
2736 static int dissect_gsmSCF_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2737 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
2739 static int dissect_msisdn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2740 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
2742 static int dissect_msisdn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2743 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
2745 static int dissect_GMLC_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2746 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_GMLC_List_item);
2748 static int dissect_dialledNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2749 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_dialledNumber);
2751 static int dissect_forwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2752 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToNumber);
2754 static int dissect_DestinationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2755 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_DestinationNumberList_item);
2757 static int dissect_gmsc_OrGsmSCF_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2758 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmsc_OrGsmSCF_Address);
2760 static int dissect_vmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2761 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vmsc_Address);
2763 static int dissect_externalAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2764 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalAddress);
2766 static int dissect_roamingNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2767 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNumber);
2769 static int dissect_vlr_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2770 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_number);
2772 static int dissect_gmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2773 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmsc_Address);
2775 static int dissect_b_Subscriber_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2776 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_Subscriber_Address);
2778 static int dissect_sIWFSNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2779 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sIWFSNumber);
2781 static int dissect_msrn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2782 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msrn);
2784 static int dissect_translatedB_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2785 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_translatedB_Number);
2787 static int dissect_translatedB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2788 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_translatedB_Number);
2790 static int dissect_networkNode_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2791 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkNode_Number);
2793 static int dissect_networkNode_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2794 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkNode_Number);
2796 static int dissect_b_subscriberNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2797 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberNumber);
2799 static int dissect_groupCallNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2800 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupCallNumber);
2802 static int dissect_ggsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2803 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Number);
2805 static int dissect_mlc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2806 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mlc_Number);
2808 static int dissect_mlcNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2809 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mlcNumber);
2811 static int dissect_na_ESRD_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2812 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRD);
2814 static int dissect_na_ESRK_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2815 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRK);
2821 dissect_gsm_map_LMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2822 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2827 static int dissect_lmsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2828 return dissect_gsm_map_LMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
2830 static int dissect_lmsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2831 return dissect_gsm_map_LMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
2835 static const value_string gsm_map_IST_SupportIndicator_vals[] = {
2836 { 0, "basicISTSupported" },
2837 { 1, "istCommandSupported" },
2843 dissect_gsm_map_IST_SupportIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2844 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2849 static int dissect_istSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2850 return dissect_gsm_map_IST_SupportIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istSupportIndicator);
2856 dissect_gsm_map_AgeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2857 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2862 static int dissect_subscriberDataStored_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2863 return dissect_gsm_map_AgeIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberDataStored);
2865 static int dissect_superChargerSupportedInHLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2866 return dissect_gsm_map_AgeIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInHLR);
2870 static const value_string gsm_map_SuperChargerInfo_vals[] = {
2871 { 0, "sendSubscriberData" },
2872 { 1, "subscriberDataStored" },
2876 static const ber_choice_t SuperChargerInfo_choice[] = {
2877 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendSubscriberData_impl },
2878 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_subscriberDataStored_impl },
2879 { 0, 0, 0, 0, NULL }
2883 dissect_gsm_map_SuperChargerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2884 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2885 SuperChargerInfo_choice, hf_index, ett_gsm_map_SuperChargerInfo,
2890 static int dissect_superChargerSupportedInServingNetworkEntity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2891 return dissect_gsm_map_SuperChargerInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInServingNetworkEntity);
2893 static int dissect_superChargerSupportedInServingNetworkEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2894 return dissect_gsm_map_SuperChargerInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInServingNetworkEntity);
2898 static const asn_namedbit SupportedLCS_CapabilitySets_bits[] = {
2899 { 0, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet1, -1, -1, "lcsCapabilitySet1", NULL },
2900 { 1, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet2, -1, -1, "lcsCapabilitySet2", NULL },
2901 { 2, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet3, -1, -1, "lcsCapabilitySet3", NULL },
2902 { 3, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet4, -1, -1, "lcsCapabilitySet4", NULL },
2903 { 0, NULL, 0, 0, NULL, NULL }
2907 dissect_gsm_map_SupportedLCS_CapabilitySets(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2908 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2909 SupportedLCS_CapabilitySets_bits, hf_index, ett_gsm_map_SupportedLCS_CapabilitySets,
2914 static int dissect_supportedLCS_CapabilitySets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2915 return dissect_gsm_map_SupportedLCS_CapabilitySets(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedLCS_CapabilitySets);
2917 static int dissect_additional_LCS_CapabilitySets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2918 return dissect_gsm_map_SupportedLCS_CapabilitySets(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additional_LCS_CapabilitySets);
2922 static const asn_namedbit OfferedCamel4CSIs_bits[] = {
2923 { 0, &hf_gsm_map_OfferedCamel4CSIs_o_csi, -1, -1, "o-csi", NULL },
2924 { 1, &hf_gsm_map_OfferedCamel4CSIs_d_csi, -1, -1, "d-csi", NULL },
2925 { 2, &hf_gsm_map_OfferedCamel4CSIs_vt_csi, -1, -1, "vt-csi", NULL },
2926 { 3, &hf_gsm_map_OfferedCamel4CSIs_t_csi, -1, -1, "t-csi", NULL },
2927 { 4, &hf_gsm_map_OfferedCamel4CSIs_mt_sms_csi, -1, -1, "mt-sms-csi", NULL },
2928 { 5, &hf_gsm_map_OfferedCamel4CSIs_mg_csi, -1, -1, "mg-csi", NULL },
2929 { 6, &hf_gsm_map_OfferedCamel4CSIs_psi_enhancements, -1, -1, "psi-enhancements", NULL },
2930 { 0, NULL, 0, 0, NULL, NULL }
2934 dissect_gsm_map_OfferedCamel4CSIs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2935 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2936 OfferedCamel4CSIs_bits, hf_index, ett_gsm_map_OfferedCamel4CSIs,
2941 static int dissect_offeredCamel4CSIs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2942 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIs);
2944 static int dissect_offeredCamel4CSIsInVMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2945 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInVMSC);
2947 static int dissect_offeredCamel4CSIsInInterrogatingNode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2948 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInInterrogatingNode);
2950 static int dissect_offeredCamel4CSIsInVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2951 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInVLR);
2953 static int dissect_offeredCamel4CSIsInSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2954 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInSGSN);
2958 static const ber_sequence_t VLR_Capability_sequence[] = {
2959 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
2960 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2961 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_solsaSupportIndicator_impl },
2962 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istSupportIndicator_impl },
2963 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_superChargerSupportedInServingNetworkEntity },
2964 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
2965 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
2966 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
2971 dissect_gsm_map_VLR_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2972 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2973 VLR_Capability_sequence, hf_index, ett_gsm_map_VLR_Capability);
2977 static int dissect_vlr_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2978 return dissect_gsm_map_VLR_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Capability);
2984 dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2985 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2990 static int dissect_v_gmlc_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2991 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_v_gmlc_Address);
2993 static int dissect_v_gmlc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2994 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_v_gmlc_Address);
2996 static int dissect_ggsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2997 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Address);
2999 static int dissect_rnc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3000 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rnc_Address);
3002 static int dissect_sgsn_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3003 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
3005 static int dissect_sgsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3006 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
3008 static int dissect_h_gmlc_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3009 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_h_gmlc_Address);
3011 static int dissect_h_gmlc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3012 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_h_gmlc_Address);
3014 static int dissect_ppr_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3015 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ppr_Address);
3017 static int dissect_additional_v_gmlc_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3018 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_additional_v_gmlc_Address);
3024 dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3025 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3034 dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3035 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3039 static int dissect_imeisv_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3040 return dissect_gsm_map_IMEI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imeisv);
3042 static int dissect_imei(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3043 return dissect_gsm_map_IMEI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
3045 static int dissect_imei_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3046 return dissect_gsm_map_IMEI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
3050 static const ber_sequence_t ADD_Info_sequence[] = {
3051 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imeisv_impl },
3052 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_skipSubscriberDataUpdate_impl },
3057 dissect_gsm_map_ADD_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3058 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3059 ADD_Info_sequence, hf_index, ett_gsm_map_ADD_Info);
3063 static int dissect_add_info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3064 return dissect_gsm_map_ADD_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_add_info);
3068 static const ber_sequence_t UpdateLocationArg_sequence[] = {
3069 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
3070 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
3071 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_vlr_Number },
3072 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
3073 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3074 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
3075 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_informPreviousNetworkEntity_impl },
3076 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cs_LCS_NotSupportedByUE_impl },
3077 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_v_gmlc_Address_impl },
3078 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_info_impl },
3083 dissect_gsm_map_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3084 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3085 UpdateLocationArg_sequence, hf_index, ett_gsm_map_UpdateLocationArg);
3091 static const ber_sequence_t UpdateLocationRes_sequence[] = {
3092 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
3093 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3094 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_add_Capability },
3099 dissect_gsm_map_UpdateLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3100 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3101 UpdateLocationRes_sequence, hf_index, ett_gsm_map_UpdateLocationRes);
3107 static const ber_sequence_t SLR_Arg_PCS_Extensions_sequence[] = {
3108 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_Request_impl },
3113 dissect_gsm_map_SLR_Arg_PCS_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3114 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3115 SLR_Arg_PCS_Extensions_sequence, hf_index, ett_gsm_map_SLR_Arg_PCS_Extensions);
3119 static int dissect_slr_Arg_PCS_Extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3120 return dissect_gsm_map_SLR_Arg_PCS_Extensions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_slr_Arg_PCS_Extensions);
3124 static const ber_sequence_t SLR_ArgExtensionContainer_sequence[] = {
3125 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
3126 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_slr_Arg_PCS_Extensions_impl },
3131 dissect_gsm_map_SLR_ArgExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3132 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3133 SLR_ArgExtensionContainer_sequence, hf_index, ett_gsm_map_SLR_ArgExtensionContainer);
3137 static int dissect_slr_ArgExtensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3138 return dissect_gsm_map_SLR_ArgExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_slr_ArgExtensionContainer);
3144 dissect_gsm_map_Teleservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3145 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3150 static int dissect_teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3151 return dissect_gsm_map_Teleservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice);
3157 dissect_gsm_map_Bearerservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3158 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3163 static int dissect_bearerservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3164 return dissect_gsm_map_Bearerservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerservice);
3170 dissect_gsm_map_Msc_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3171 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3178 static const ber_sequence_t IMSI_WithLMSI_sequence[] = {
3179 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
3180 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_lmsi },
3185 dissect_gsm_map_IMSI_WithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3186 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3187 IMSI_WithLMSI_sequence, hf_index, ett_gsm_map_IMSI_WithLMSI);
3191 static int dissect_imsi_WithLMSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3192 return dissect_gsm_map_IMSI_WithLMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi_WithLMSI);
3196 static const value_string gsm_map_Identity_vals[] = {
3198 { 1, "imsi-WithLMSI" },
3202 static const ber_choice_t Identity_choice[] = {
3203 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
3204 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_imsi_WithLMSI },
3205 { 0, 0, 0, 0, NULL }
3209 dissect_gsm_map_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3210 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3211 Identity_choice, hf_index, ett_gsm_map_Identity,
3216 static int dissect_identity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3217 return dissect_gsm_map_Identity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_identity);
3221 static const value_string gsm_map_CancellationType_vals[] = {
3222 { 0, "updateProcedure" },
3223 { 1, "subscriptionWithdraw" },
3229 dissect_gsm_map_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3230 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3235 static int dissect_cancellationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3236 return dissect_gsm_map_CancellationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cancellationType);
3240 static const ber_sequence_t CancelLocationArg_sequence[] = {
3241 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_identity },
3242 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cancellationType },
3243 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3248 dissect_gsm_map_CancelLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3249 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3250 CancelLocationArg_sequence, hf_index, ett_gsm_map_CancelLocationArg);
3256 static const value_string gsm_map_CancelLocationArgV2_vals[] = {
3258 { 1, "imsi-WithLMSI" },
3262 static const ber_choice_t CancelLocationArgV2_choice[] = {
3263 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
3264 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_imsi_WithLMSI },
3265 { 0, 0, 0, 0, NULL }
3269 dissect_gsm_map_CancelLocationArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3270 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3271 CancelLocationArgV2_choice, hf_index, ett_gsm_map_CancelLocationArgV2,
3278 static const ber_sequence_t CancelLocationRes_sequence[] = {
3279 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3284 dissect_gsm_map_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3285 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3286 CancelLocationRes_sequence, hf_index, ett_gsm_map_CancelLocationRes);
3292 static const ber_sequence_t PurgeMSArg_sequence[] = {
3293 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
3294 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Number_impl },
3295 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
3296 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3301 dissect_gsm_map_PurgeMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3302 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3303 PurgeMSArg_sequence, hf_index, ett_gsm_map_PurgeMSArg);
3309 static const ber_sequence_t PurgeMSRes_sequence[] = {
3310 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeTMSI_impl },
3311 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeP_TMSI_impl },
3312 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3317 dissect_gsm_map_PurgeMSRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3318 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3319 PurgeMSRes_sequence, hf_index, ett_gsm_map_PurgeMSRes);
3327 dissect_gsm_map_TMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3328 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3333 static int dissect_tmsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3334 return dissect_gsm_map_TMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_tmsi);
3340 dissect_gsm_map_NumberOfRequestedVectors(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3341 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3346 static int dissect_numberOfRequestedVectors(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3347 return dissect_gsm_map_NumberOfRequestedVectors(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfRequestedVectors);
3353 dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3354 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3359 static int dissect_previous_LAI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3360 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_previous_LAI);
3362 static int dissect_laiFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3363 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_laiFixedLength);
3369 dissect_gsm_map_HopCounter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3370 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3375 static int dissect_hopCounter_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3376 return dissect_gsm_map_HopCounter(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_hopCounter);
3380 static const ber_sequence_t SendIdentificationArg_sequence[] = {
3381 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_tmsi },
3382 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_numberOfRequestedVectors },
3383 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_segmentationProhibited },
3384 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3385 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msc_Number },
3386 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_previous_LAI_impl },
3387 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_hopCounter_impl },
3392 dissect_gsm_map_SendIdentificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3393 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3394 SendIdentificationArg_sequence, hf_index, ett_gsm_map_SendIdentificationArg);
3402 dissect_gsm_map_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3403 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3408 static int dissect_rand(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3409 return dissect_gsm_map_RAND(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rand);
3415 dissect_gsm_map_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3416 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3421 static int dissect_sres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3422 return dissect_gsm_map_SRES(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sres);
3428 dissect_gsm_map_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3429 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3434 static int dissect_kc(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3435 return dissect_gsm_map_Kc(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_kc);
3437 static int dissect_groupKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3438 return dissect_gsm_map_Kc(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKey);
3442 static const ber_sequence_t AuthenticationTriplet_sequence[] = {
3443 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3444 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
3445 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3450 dissect_gsm_map_AuthenticationTriplet(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3451 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3452 AuthenticationTriplet_sequence, hf_index, ett_gsm_map_AuthenticationTriplet);
3456 static int dissect_TripletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3457 return dissect_gsm_map_AuthenticationTriplet(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_TripletList_item);
3461 static const ber_sequence_t TripletList_sequence_of[1] = {
3462 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TripletList_item },
3466 dissect_gsm_map_TripletList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3467 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3468 TripletList_sequence_of, hf_index, ett_gsm_map_TripletList);
3472 static int dissect_tripletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3473 return dissect_gsm_map_TripletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tripletList);
3479 dissect_gsm_map_XRES(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3480 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3485 static int dissect_xres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3486 return dissect_gsm_map_XRES(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_xres);
3492 dissect_gsm_map_CK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3493 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3498 static int dissect_ck(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3499 return dissect_gsm_map_CK(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ck);
3505 dissect_gsm_map_IK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3506 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3511 static int dissect_ik(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3512 return dissect_gsm_map_IK(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ik);
3518 dissect_gsm_map_AUTN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3519 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3524 static int dissect_autn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3525 return dissect_gsm_map_AUTN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_autn);
3529 static const ber_sequence_t AuthenticationQuintuplet_sequence[] = {
3530 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3531 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_xres },
3532 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ck },
3533 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ik },
3534 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_autn },
3539 dissect_gsm_map_AuthenticationQuintuplet(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3540 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3541 AuthenticationQuintuplet_sequence, hf_index, ett_gsm_map_AuthenticationQuintuplet);
3545 static int dissect_QuintupletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3546 return dissect_gsm_map_AuthenticationQuintuplet(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_QuintupletList_item);
3550 static const ber_sequence_t QuintupletList_sequence_of[1] = {
3551 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_QuintupletList_item },
3555 dissect_gsm_map_QuintupletList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3556 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3557 QuintupletList_sequence_of, hf_index, ett_gsm_map_QuintupletList);
3561 static int dissect_quintupletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3562 return dissect_gsm_map_QuintupletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_quintupletList);
3566 static const value_string gsm_map_AuthenticationSetList_vals[] = {
3567 { 0, "tripletList" },
3568 { 1, "quintupletList" },
3572 static const ber_choice_t AuthenticationSetList_choice[] = {
3573 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_tripletList_impl },
3574 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_quintupletList_impl },
3575 { 0, 0, 0, 0, NULL }
3579 dissect_gsm_map_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3580 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3581 AuthenticationSetList_choice, hf_index, ett_gsm_map_AuthenticationSetList,
3586 static int dissect_authenticationSetList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3587 return dissect_gsm_map_AuthenticationSetList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_authenticationSetList);
3593 dissect_gsm_map_Cksn(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3594 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3599 static int dissect_cksn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3600 return dissect_gsm_map_Cksn(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cksn);
3604 static const ber_sequence_t GSM_SecurityContextData_sequence[] = {
3605 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3606 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cksn },
3611 dissect_gsm_map_GSM_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3612 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3613 GSM_SecurityContextData_sequence, hf_index, ett_gsm_map_GSM_SecurityContextData);
3617 static int dissect_gsm_SecurityContextData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3618 return dissect_gsm_map_GSM_SecurityContextData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsm_SecurityContextData);
3624 dissect_gsm_map_KSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3625 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3630 static int dissect_ksi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3631 return dissect_gsm_map_KSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ksi);
3635 static const ber_sequence_t UMTS_SecurityContextData_sequence[] = {
3636 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ck },
3637 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ik },
3638 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ksi },
3643 dissect_gsm_map_UMTS_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3644 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3645 UMTS_SecurityContextData_sequence, hf_index, ett_gsm_map_UMTS_SecurityContextData);
3649 static int dissect_umts_SecurityContextData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3650 return dissect_gsm_map_UMTS_SecurityContextData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_umts_SecurityContextData);
3654 static const value_string gsm_map_CurrentSecurityContext_vals[] = {
3655 { 0, "gsm-SecurityContextData" },
3656 { 1, "umts-SecurityContextData" },
3660 static const ber_choice_t CurrentSecurityContext_choice[] = {
3661 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_SecurityContextData_impl },
3662 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_umts_SecurityContextData_impl },
3663 { 0, 0, 0, 0, NULL }
3667 dissect_gsm_map_CurrentSecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3668 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3669 CurrentSecurityContext_choice, hf_index, ett_gsm_map_CurrentSecurityContext,
3674 static int dissect_currentSecurityContext_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3675 return dissect_gsm_map_CurrentSecurityContext(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentSecurityContext);
3679 static const ber_sequence_t SendIdentificationRes_sequence[] = {
3680 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
3681 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_authenticationSetList },
3682 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_currentSecurityContext_impl },
3683 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3688 dissect_gsm_map_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3689 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3690 SendIdentificationRes_sequence, hf_index, ett_gsm_map_SendIdentificationRes);
3698 dissect_gsm_map_AUTS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3699 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3704 static int dissect_auts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3705 return dissect_gsm_map_AUTS(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_auts);
3711 dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3712 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3717 static int dissect_targetCellId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3718 return dissect_gsm_map_GlobalCellId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
3720 static int dissect_targetCellId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3721 return dissect_gsm_map_GlobalCellId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
3725 static const ber_sequence_t PrepareHO_Arg_sequence[] = {
3726 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_targetCellId },
3727 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
3728 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
3733 dissect_gsm_map_PrepareHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3734 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3735 PrepareHO_Arg_sequence, hf_index, ett_gsm_map_PrepareHO_Arg);
3743 dissect_gsm_map_RNCId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3744 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3749 static int dissect_targetRNCId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3750 return dissect_gsm_map_RNCId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetRNCId);
3754 static const value_string gsm_map_AccessNetworkProtocolId_vals[] = {
3755 { 1, "ts3G-48006" },
3756 { 2, "ts3G-25413" },
3762 dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3763 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3764 &AccessNetworkProtocolId);
3768 static int dissect_accessNetworkProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3769 return dissect_gsm_map_AccessNetworkProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_accessNetworkProtocolId);
3775 dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3776 #line 377 "gsmmap.cnf"
3778 tvbuff_t *parameter_tvb;
3784 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3790 switch (AccessNetworkProtocolId){
3793 octet = tvb_get_guint8(parameter_tvb,0);
3794 length = tvb_get_guint8(parameter_tvb,1);
3795 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
3797 next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
3798 dissect_bssmap(next_tvb, pinfo, tree);
3812 static int dissect_longsignalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3813 return dissect_gsm_map_LongSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_longsignalInfo);
3817 static const ber_sequence_t AccessNetworkSignalInfo_sequence[] = {
3818 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_accessNetworkProtocolId },
3819 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_longsignalInfo },
3820 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3825 dissect_gsm_map_AccessNetworkSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3826 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3827 AccessNetworkSignalInfo_sequence, hf_index, ett_gsm_map_AccessNetworkSignalInfo);
3831 static int dissect_an_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3832 return dissect_gsm_map_AccessNetworkSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
3834 static int dissect_an_APDU_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3835 return dissect_gsm_map_AccessNetworkSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
3841 dissect_gsm_map_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3842 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3847 static int dissect_integrityProtectionInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3848 return dissect_gsm_map_IntegrityProtectionInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionInfo);
3850 static int dissect_integrityProtectionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3851 return dissect_gsm_map_IntegrityProtectionInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionInfo);
3857 dissect_gsm_map_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3858 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3863 static int dissect_encryptionInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3864 return dissect_gsm_map_EncryptionInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionInfo);
3866 static int dissect_encryptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3867 return dissect_gsm_map_EncryptionInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionInfo);
3873 dissect_gsm_map_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3874 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3879 static int dissect_radioResourceInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3880 return dissect_gsm_map_RadioResourceInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
3882 static int dissect_radioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3883 return dissect_gsm_map_RadioResourceInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
3889 dissect_gsm_map_AllowedGSM_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3890 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3895 static int dissect_allowedGSM_Algorithms(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3896 return dissect_gsm_map_AllowedGSM_Algorithms(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allowedGSM_Algorithms);
3898 static int dissect_allowedGSM_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3899 return dissect_gsm_map_AllowedGSM_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedGSM_Algorithms);
3905 dissect_gsm_map_PermittedIntegrityProtectionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3906 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3911 static int dissect_integrityProtectionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3912 return dissect_gsm_map_PermittedIntegrityProtectionAlgorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithms);
3918 dissect_gsm_map_PermittedEncryptionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3919 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3924 static int dissect_encryptionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3925 return dissect_gsm_map_PermittedEncryptionAlgorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithms);
3929 static const ber_sequence_t AllowedUMTS_Algorithms_sequence[] = {
3930 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithms_impl },
3931 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithms_impl },
3932 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3937 dissect_gsm_map_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3938 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3939 AllowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_AllowedUMTS_Algorithms);
3943 static int dissect_allowedUMTS_Algorithms(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3944 return dissect_gsm_map_AllowedUMTS_Algorithms(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allowedUMTS_Algorithms);
3946 static int dissect_allowedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3947 return dissect_gsm_map_AllowedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedUMTS_Algorithms);
3953 dissect_gsm_map_RAB_Id(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3954 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3959 static int dissect_rab_Id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3960 return dissect_gsm_map_RAB_Id(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
3962 static int dissect_rab_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3963 return dissect_gsm_map_RAB_Id(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
3965 static int dissect_selectedRab_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3966 return dissect_gsm_map_RAB_Id(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedRab_Id);
3970 static const ber_sequence_t RadioResource_sequence[] = {
3971 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_radioResourceInformation },
3972 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
3977 dissect_gsm_map_RadioResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3978 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3979 RadioResource_sequence, hf_index, ett_gsm_map_RadioResource);
3983 static int dissect_RadioResourceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3984 return dissect_gsm_map_RadioResource(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_RadioResourceList_item);
3988 static const ber_sequence_t RadioResourceList_sequence_of[1] = {
3989 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RadioResourceList_item },
3993 dissect_gsm_map_RadioResourceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3994 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3995 RadioResourceList_sequence_of, hf_index, ett_gsm_map_RadioResourceList);
3999 static int dissect_radioResourceList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4000 return dissect_gsm_map_RadioResourceList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList);
4002 static int dissect_radioResourceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4003 return dissect_gsm_map_RadioResourceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList);
4009 dissect_gsm_map_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4010 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4015 static int dissect_bssmap_ServiceHandover(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4016 return dissect_gsm_map_BSSMAP_ServiceHandover(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
4018 static int dissect_bssmap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4019 return dissect_gsm_map_BSSMAP_ServiceHandover(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
4025 dissect_gsm_map_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4026 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4031 static int dissect_ranap_ServiceHandover(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4032 return dissect_gsm_map_RANAP_ServiceHandover(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ranap_ServiceHandover);
4034 static int dissect_ranap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4035 return dissect_gsm_map_RANAP_ServiceHandover(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ranap_ServiceHandover);
4039 static const ber_sequence_t BSSMAP_ServiceHandoverInfo_sequence[] = {
4040 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bssmap_ServiceHandover },
4041 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
4046 dissect_gsm_map_BSSMAP_ServiceHandoverInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4047 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4048 BSSMAP_ServiceHandoverInfo_sequence, hf_index, ett_gsm_map_BSSMAP_ServiceHandoverInfo);
4052 static int dissect_BSSMAP_ServiceHandoverList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4053 return dissect_gsm_map_BSSMAP_ServiceHandoverInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BSSMAP_ServiceHandoverList_item);
4057 static const ber_sequence_t BSSMAP_ServiceHandoverList_sequence_of[1] = {
4058 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BSSMAP_ServiceHandoverList_item },
4062 dissect_gsm_map_BSSMAP_ServiceHandoverList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4063 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4064 BSSMAP_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_BSSMAP_ServiceHandoverList);
4068 static int dissect_bssmap_ServiceHandoverList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4069 return dissect_gsm_map_BSSMAP_ServiceHandoverList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList);
4071 static int dissect_bssmap_ServiceHandoverList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4072 return dissect_gsm_map_BSSMAP_ServiceHandoverList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList);
4078 dissect_gsm_map_ASCI_CallReference(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4079 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4083 static int dissect_asciCallReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4084 return dissect_gsm_map_ASCI_CallReference(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
4086 static int dissect_asciCallReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4087 return dissect_gsm_map_ASCI_CallReference(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
4093 dissect_gsm_map_GERAN_Classmark(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4094 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4099 static int dissect_geran_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4100 return dissect_gsm_map_GERAN_Classmark(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geran_classmark);
4106 dissect_gsm_map_Codec(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4107 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4112 static int dissect_iuCurrentlyUsedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4113 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuCurrentlyUsedCodec);
4115 static int dissect_iuSelectedCodec(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4116 return dissect_gsm_map_Codec(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_iuSelectedCodec);
4118 static int dissect_iUSelectedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4119 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iUSelectedCodec);
4121 static int dissect_codec1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4122 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec1);
4124 static int dissect_codec2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4125 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec2);
4127 static int dissect_codec3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4128 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec3);
4130 static int dissect_codec4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4131 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec4);
4133 static int dissect_codec5_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4134 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec5);
4136 static int dissect_codec6_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4137 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec6);
4139 static int dissect_codec7_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4140 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec7);
4142 static int dissect_codec8_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4143 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec8);
4145 static int dissect_currentlyUsedCodec(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4146 return dissect_gsm_map_Codec(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentlyUsedCodec);
4150 static const ber_sequence_t CodecList_sequence[] = {
4151 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
4152 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
4153 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
4154 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
4155 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
4156 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
4157 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
4158 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
4159 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4164 dissect_gsm_map_CodecList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4165 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4166 CodecList_sequence, hf_index, ett_gsm_map_CodecList);
4170 static int dissect_iuAvailableCodecsList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4171 return dissect_gsm_map_CodecList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_iuAvailableCodecsList);
4173 static int dissect_iuAvailableCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4174 return dissect_gsm_map_CodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuAvailableCodecsList);
4176 static int dissect_utranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4177 return dissect_gsm_map_CodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_utranCodecList);
4179 static int dissect_geranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4180 return dissect_gsm_map_CodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geranCodecList);
4184 static const ber_sequence_t SupportedCodecsList_sequence[] = {
4185 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranCodecList_impl },
4186 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranCodecList_impl },
4187 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4192 dissect_gsm_map_SupportedCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4193 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4194 SupportedCodecsList_sequence, hf_index, ett_gsm_map_SupportedCodecsList);
4198 static int dissect_iuSupportedCodecsList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4199 return dissect_gsm_map_SupportedCodecsList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_iuSupportedCodecsList);
4201 static int dissect_iuSupportedCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4202 return dissect_gsm_map_SupportedCodecsList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuSupportedCodecsList);
4208 dissect_gsm_map_UESBI_IuA(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4209 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4215 static int dissect_uesbi_IuA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4216 return dissect_gsm_map_UESBI_IuA(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuA);
4222 dissect_gsm_map_UESBI_IuB(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4223 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4229 static int dissect_uesbi_IuB_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4230 return dissect_gsm_map_UESBI_IuB(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuB);
4234 static const ber_sequence_t UESBI_Iu_sequence[] = {
4235 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuA_impl },
4236 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuB_impl },
4241 dissect_gsm_map_UESBI_Iu(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4242 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4243 UESBI_Iu_sequence, hf_index, ett_gsm_map_UESBI_Iu);
4247 static int dissect_uesbi_Iu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4248 return dissect_gsm_map_UESBI_Iu(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_Iu);
4250 static int dissect_bmuef(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4251 return dissect_gsm_map_UESBI_Iu(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bmuef);
4255 static const ber_sequence_t PrepareHO_ArgV3_sequence[] = {
4256 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetCellId_impl },
4257 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
4258 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetRNCId_impl },
4259 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
4260 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multipleBearerRequested_impl },
4261 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
4262 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionInfo_impl },
4263 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionInfo_impl },
4264 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceInformation_impl },
4265 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedGSM_Algorithms_impl },
4266 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedUMTS_Algorithms_impl },
4267 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceList_impl },
4268 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4269 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_Id_impl },
4270 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandover_impl },
4271 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ranap_ServiceHandover_impl },
4272 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandoverList_impl },
4273 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asciCallReference_impl },
4274 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geran_classmark_impl },
4275 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuCurrentlyUsedCodec_impl },
4276 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuSupportedCodecsList_impl },
4277 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_ConfigurationIndicator_impl },
4278 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_Iu_impl },
4279 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imeisv_impl },
4284 dissect_gsm_map_PrepareHO_ArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4285 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4286 PrepareHO_ArgV3_sequence, hf_index, ett_gsm_map_PrepareHO_ArgV3);
4292 static const ber_sequence_t PrepareHO_Res_sequence[] = {
4293 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
4294 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
4299 dissect_gsm_map_PrepareHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4300 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4301 PrepareHO_Res_sequence, hf_index, ett_gsm_map_PrepareHO_Res);
4309 dissect_gsm_map_HandoverNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4310 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4317 static const ber_sequence_t RelocationNumber_sequence[] = {
4318 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
4319 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
4324 dissect_gsm_map_RelocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4325 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4326 RelocationNumber_sequence, hf_index, ett_gsm_map_RelocationNumber);
4330 static int dissect_RelocationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4331 return dissect_gsm_map_RelocationNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_RelocationNumberList_item);
4335 static const ber_sequence_t RelocationNumberList_sequence_of[1] = {
4336 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelocationNumberList_item },
4340 dissect_gsm_map_RelocationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4341 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4342 RelocationNumberList_sequence_of, hf_index, ett_gsm_map_RelocationNumberList);
4346 static int dissect_relocationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4347 return dissect_gsm_map_RelocationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_relocationNumberList);
4353 dissect_gsm_map_MulticallBearerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4354 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4359 static int dissect_multicallBearerInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4360 return dissect_gsm_map_MulticallBearerInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multicallBearerInfo);
4366 dissect_gsm_map_ChosenIntegrityProtectionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4367 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4372 static int dissect_integrityProtectionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4373 return dissect_gsm_map_ChosenIntegrityProtectionAlgorithm(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithm);
4379 dissect_gsm_map_ChosenEncryptionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4380 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4385 static int dissect_encryptionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4386 return dissect_gsm_map_ChosenEncryptionAlgorithm(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithm);
4390 static const ber_sequence_t SelectedUMTS_Algorithms_sequence[] = {
4391 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithm_impl },
4392 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithm_impl },
4393 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4398 dissect_gsm_map_SelectedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4399 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4400 SelectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_SelectedUMTS_Algorithms);
4404 static int dissect_selectedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4405 return dissect_gsm_map_SelectedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedUMTS_Algorithms);
4411 dissect_gsm_map_ChosenChannelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4412 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4417 static int dissect_chosenChannelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4418 return dissect_gsm_map_ChosenChannelInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannelInfo);
4424 dissect_gsm_map_ChosenSpeechVersion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4425 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4430 static int dissect_chosenSpeechVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4431 return dissect_gsm_map_ChosenSpeechVersion(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenSpeechVersion);
4435 static const ber_sequence_t ChosenRadioResourceInformation_sequence[] = {
4436 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannelInfo_impl },
4437 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenSpeechVersion_impl },
4442 dissect_gsm_map_ChosenRadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4443 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4444 ChosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_ChosenRadioResourceInformation);
4448 static int dissect_chosenRadioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4449 return dissect_gsm_map_ChosenRadioResourceInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenRadioResourceInformation);
4453 static const ber_sequence_t PrepareHO_ResV3_sequence[] = {
4454 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_handoverNumber_impl },
4455 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relocationNumberList_impl },
4456 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
4457 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multicallBearerInfo_impl },
4458 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_multipleBearerNotSupported },
4459 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedUMTS_Algorithms_impl },
4460 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenRadioResourceInformation_impl },
4461 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4462 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_iuSelectedCodec },
4463 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_iuAvailableCodecsList },
4468 dissect_gsm_map_PrepareHO_ResV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4469 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4470 PrepareHO_ResV3_sequence, hf_index, ett_gsm_map_PrepareHO_ResV3);
4478 dissect_gsm_map_Sgsn_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4479 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4488 dissect_gsm_map_Vlr_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4489 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4496 static const ber_sequence_t SendEndSignalArgV3_sequence[] = {
4497 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
4498 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4503 dissect_gsm_map_SendEndSignalArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4504 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4505 SendEndSignalArgV3_sequence, hf_index, ett_gsm_map_SendEndSignalArgV3);
4511 static const ber_sequence_t SendEndSignalRes_sequence[] = {
4512 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4517 dissect_gsm_map_SendEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4518 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4519 SendEndSignalRes_sequence, hf_index, ett_gsm_map_SendEndSignalRes);
4527 dissect_gsm_map_SelectedGSM_Algorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4528 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4533 static int dissect_selectedGSM_Algorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4534 return dissect_gsm_map_SelectedGSM_Algorithm(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedGSM_Algorithm);
4538 static const ber_sequence_t ProcessAccessSignallingArgV3_sequence[] = {
4539 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
4540 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedUMTS_Algorithms_impl },
4541 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedGSM_Algorithm_impl },
4542 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenRadioResourceInformation_impl },
4543 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedRab_Id_impl },
4544 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4545 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iUSelectedCodec_impl },
4546 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuAvailableCodecsList_impl },
4551 dissect_gsm_map_ProcessAccessSignallingArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4552 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4553 ProcessAccessSignallingArgV3_sequence, hf_index, ett_gsm_map_ProcessAccessSignallingArgV3);
4559 static const value_string gsm_map_KeyStatus_vals[] = {
4567 dissect_gsm_map_KeyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4568 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4573 static int dissect_keyStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4574 return dissect_gsm_map_KeyStatus(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_keyStatus);
4578 static const ber_sequence_t ForwardAccessSignallingArgV3_sequence[] = {
4579 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
4580 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_integrityProtectionInfo },
4581 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_encryptionInfo },
4582 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_keyStatus },
4583 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_allowedGSM_Algorithms },
4584 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_allowedUMTS_Algorithms },
4585 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_radioResourceInformation },
4586 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
4587 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_radioResourceList },
4588 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_bssmap_ServiceHandover },
4589 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_ranap_ServiceHandover },
4590 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_bssmap_ServiceHandoverList },
4591 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_currentlyUsedCodec },
4592 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_iuSupportedCodecsList },
4593 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_rab_ConfigurationIndicator },
4594 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_iuSelectedCodec },
4599 dissect_gsm_map_ForwardAccessSignallingArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4600 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4601 ForwardAccessSignallingArgV3_sequence, hf_index, ett_gsm_map_ForwardAccessSignallingArgV3);
4607 static const ber_sequence_t PrepareSubsequentHOArg_sequence[] = {
4608 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetCellId },
4609 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetMSC_Number },
4610 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
4615 dissect_gsm_map_PrepareSubsequentHOArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4616 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4617 PrepareSubsequentHOArg_sequence, hf_index, ett_gsm_map_PrepareSubsequentHOArg);
4623 static const ber_sequence_t PrepareSubsequentHOArgV3_sequence[] = {
4624 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetCellId_impl },
4625 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_targetMSC_Number_impl },
4626 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetRNCId_impl },
4627 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
4628 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedRab_Id_impl },
4629 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4630 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geran_classmark_impl },
4631 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_ConfigurationIndicator_impl },
4636 dissect_gsm_map_PrepareSubsequentHOArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4637 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4638 PrepareSubsequentHOArgV3_sequence, hf_index, ett_gsm_map_PrepareSubsequentHOArgV3);
4644 static const ber_sequence_t PrepareSubsequentHOResV3_sequence[] = {
4645 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
4646 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4651 dissect_gsm_map_PrepareSubsequentHOResV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4652 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4653 PrepareSubsequentHOResV3_sequence, hf_index, ett_gsm_map_PrepareSubsequentHOResV3);
4661 dissect_gsm_map_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4662 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4668 static const ber_sequence_t Re_synchronisationInfo_sequence[] = {
4669 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
4670 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_auts },
4675 dissect_gsm_map_Re_synchronisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4677 Re_synchronisationInfo_sequence, hf_index, ett_gsm_map_Re_synchronisationInfo);
4681 static int dissect_re_synchronisationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4682 return dissect_gsm_map_Re_synchronisationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_re_synchronisationInfo);
4686 static const value_string gsm_map_RequestingNodeType_vals[] = {
4694 dissect_gsm_map_RequestingNodeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4695 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4700 static int dissect_requestingNodeType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4701 return dissect_gsm_map_RequestingNodeType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingNodeType);
4707 dissect_gsm_map_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4708 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4713 static int dissect_requestingPLMN_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4714 return dissect_gsm_map_PLMN_Id(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingPLMN_Id);
4718 static const ber_sequence_t SendAuthenticationInfoArgV2_sequence[] = {
4719 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
4720 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberOfRequestedVectors },
4721 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_segmentationProhibited },
4722 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_immediateResponsePreferred_impl },
4723 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_re_synchronisationInfo },
4724 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4725 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingNodeType_impl },
4726 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingPLMN_Id_impl },
4731 dissect_gsm_map_SendAuthenticationInfoArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4732 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4733 SendAuthenticationInfoArgV2_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoArgV2);
4739 static const ber_sequence_t SendAuthenticationInfoRes_item_sequence[] = {
4740 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
4741 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
4742 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
4747 dissect_gsm_map_SendAuthenticationInfoRes_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4748 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4749 SendAuthenticationInfoRes_item_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoRes_item);
4753 static int dissect_SendAuthenticationInfoRes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4754 return dissect_gsm_map_SendAuthenticationInfoRes_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes_item);
4758 static const ber_sequence_t SendAuthenticationInfoRes_sequence_of[1] = {
4759 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SendAuthenticationInfoRes_item },
4763 dissect_gsm_map_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4764 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4765 SendAuthenticationInfoRes_sequence_of, hf_index, ett_gsm_map_SendAuthenticationInfoRes);
4771 static const ber_sequence_t SendAuthenticationInfoResV3_sequence[] = {
4772 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_authenticationSetList },
4773 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4778 dissect_gsm_map_SendAuthenticationInfoResV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4779 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4780 SendAuthenticationInfoResV3_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoResV3);
4788 dissect_gsm_map_CheckIMEIArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4789 offset = dissect_gsm_map_IMEI(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4795 static const asn_namedbit RequestedEquipmentInfo_bits[] = {
4796 { 0, &hf_gsm_map_RequestedEquipmentInfo_equipmentStatus, -1, -1, "equipmentStatus", NULL },
4797 { 1, &hf_gsm_map_RequestedEquipmentInfo_bmuef, -1, -1, "bmuef", NULL },
4798 { 0, NULL, 0, 0, NULL, NULL }
4802 dissect_gsm_map_RequestedEquipmentInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4803 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4804 RequestedEquipmentInfo_bits, hf_index, ett_gsm_map_RequestedEquipmentInfo,
4809 static int dissect_requestedEquipmentInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4810 return dissect_gsm_map_RequestedEquipmentInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_requestedEquipmentInfo);
4814 static const ber_sequence_t CheckIMEIArgV2_sequence[] = {
4815 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imei },
4816 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_requestedEquipmentInfo },
4817 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4822 dissect_gsm_map_CheckIMEIArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4823 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4824 CheckIMEIArgV2_sequence, hf_index, ett_gsm_map_CheckIMEIArgV2);
4830 static const value_string gsm_map_EquipmentStatus_vals[] = {
4831 { 0, "whiteListed" },
4832 { 1, "blackListed" },
4833 { 2, "greyListed" },
4839 dissect_gsm_map_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4840 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4845 static int dissect_equipmentStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4846 return dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_equipmentStatus);
4850 static const ber_sequence_t CheckIMEIRes_sequence[] = {
4851 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_equipmentStatus },
4852 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bmuef },
4853 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
4858 dissect_gsm_map_CheckIMEIRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4859 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4860 CheckIMEIRes_sequence, hf_index, ett_gsm_map_CheckIMEIRes);
4866 static const value_string gsm_map_OverrideCategory_vals[] = {
4867 { 0, "overrideEnabled" },
4868 { 1, "overrideDisabled" },
4874 dissect_gsm_map_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4875 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4880 static int dissect_overrideCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4881 return dissect_gsm_map_OverrideCategory(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_overrideCategory);
4885 static const value_string gsm_map_BasicService_vals[] = {
4886 { 2, "bearerservice" },
4887 { 3, "teleservice" },
4891 static const ber_choice_t BasicService_choice[] = {
4892 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_bearerservice_impl },
4893 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_teleservice_impl },
4894 { 0, 0, 0, 0, NULL }
4898 dissect_gsm_map_BasicService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4899 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4900 BasicService_choice, hf_index, ett_gsm_map_BasicService,
4905 static int dissect_BasicServiceGroupList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4906 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceGroupList_item);
4910 static const ber_sequence_t BasicServiceGroupList_sequence_of[1] = {
4911 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceGroupList_item },
4915 dissect_gsm_map_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4916 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4917 BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_BasicServiceGroupList);
4921 static int dissect_ext_basicServiceGroupList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4922 return dissect_gsm_map_BasicServiceGroupList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroupList);
4924 static int dissect_ext_basicServiceGroupList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4925 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroupList);
4929 static const asn_namedbit ODB_GeneralData_bits[] = {
4930 { 0, &hf_gsm_map_ODB_GeneralData_allOG_CallsBarred, -1, -1, "allOG-CallsBarred", NULL },
4931 { 1, &hf_gsm_map_ODB_GeneralData_internationalOGCallsBarred, -1, -1, "internationalOGCallsBarred", NULL },
4932 { 2, &hf_gsm_map_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "internationalOGCallsNotToHPLMN-CountryBarred", NULL },
4933 { 6, &hf_gsm_map_ODB_GeneralData_interzonalOGCallsBarred, -1, -1, "interzonalOGCallsBarred", NULL },
4934 { 7, &hf_gsm_map_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsNotToHPLMN-CountryBarred", NULL },
4935 { 8, &hf_gsm_map_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", NULL },
4936 { 3, &hf_gsm_map_ODB_GeneralData_premiumRateInformationOGCallsBarred, -1, -1, "premiumRateInformationOGCallsBarred", NULL },
4937 { 4, &hf_gsm_map_ODB_GeneralData_premiumRateEntertainementOGCallsBarred, -1, -1, "premiumRateEntertainementOGCallsBarred", NULL },
4938 { 5, &hf_gsm_map_ODB_GeneralData_ss_AccessBarred, -1, -1, "ss-AccessBarred", NULL },
4939 { 9, &hf_gsm_map_ODB_GeneralData_allECT_Barred, -1, -1, "allECT-Barred", NULL },
4940 { 10, &hf_gsm_map_ODB_GeneralData_chargeableECT_Barred, -1, -1, "chargeableECT-Barred", NULL },
4941 { 11, &hf_gsm_map_ODB_GeneralData_internationalECT_Barred, -1, -1, "internationalECT-Barred", NULL },
4942 { 12, &hf_gsm_map_ODB_GeneralData_interzonalECT_Barred, -1, -1, "interzonalECT-Barred", NULL },
4943 { 13, &hf_gsm_map_ODB_GeneralData_doublyChargeableECT_Barred, -1, -1, "doublyChargeableECT-Barred", NULL },
4944 { 14, &hf_gsm_map_ODB_GeneralData_multipleECT_Barred, -1, -1, "multipleECT-Barred", NULL },
4945 { 15, &hf_gsm_map_ODB_GeneralData_allPacketOrientedServicesBarred, -1, -1, "allPacketOrientedServicesBarred", NULL },
4946 { 16, &hf_gsm_map_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred, -1, -1, "roamerAccessToHPLMN-AP-Barred", NULL },
4947 { 17, &hf_gsm_map_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred, -1, -1, "roamerAccessToVPLMN-AP-Barred", NULL },
4948 { 18, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred, -1, -1, "roamingOutsidePLMNOG-CallsBarred", NULL },
4949 { 19, &hf_gsm_map_ODB_GeneralData_allIC_CallsBarred, -1, -1, "allIC-CallsBarred", NULL },
4950 { 20, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred, -1, -1, "roamingOutsidePLMNIC-CallsBarred", NULL },
4951 { 21, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, -1, -1, "roamingOutsidePLMNICountryIC-CallsBarred", NULL },
4952 { 22, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_Barred, -1, -1, "roamingOutsidePLMN-Barred", NULL },
4953 { 23, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_CountryBarred, -1, -1, "roamingOutsidePLMN-CountryBarred", NULL },
4954 { 24, &hf_gsm_map_ODB_GeneralData_registrationAllCF_Barred, -1, -1, "registrationAllCF-Barred", NULL },
4955 { 25, &hf_gsm_map_ODB_GeneralData_registrationCFNotToHPLMN_Barred, -1, -1, "registrationCFNotToHPLMN-Barred", NULL },
4956 { 26, &hf_gsm_map_ODB_GeneralData_registrationInterzonalCF_Barred, -1, -1, "registrationInterzonalCF-Barred", NULL },
4957 { 27, &hf_gsm_map_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, -1, -1, "registrationInterzonalCFNotToHPLMN-Barred", NULL },
4958 { 28, &hf_gsm_map_ODB_GeneralData_registrationInternationalCF_Barred, -1, -1, "registrationInternationalCF-Barred", NULL },
4959 { 0, NULL, 0, 0, NULL, NULL }
4963 dissect_gsm_map_ODB_GeneralData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4964 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4965 ODB_GeneralData_bits, hf_index, ett_gsm_map_ODB_GeneralData,
4970 static int dissect_odb_GeneralData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4971 return dissect_gsm_map_ODB_GeneralData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
4973 static int dissect_odb_GeneralData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4974 return dissect_gsm_map_ODB_GeneralData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
4978 static const asn_namedbit ODB_HPLMN_Data_bits[] = {
4979 { 0, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType1, -1, -1, "plmn-SpecificBarringType1", NULL },
4980 { 1, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType2, -1, -1, "plmn-SpecificBarringType2", NULL },
4981 { 2, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType3, -1, -1, "plmn-SpecificBarringType3", NULL },
4982 { 3, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType4, -1, -1, "plmn-SpecificBarringType4", NULL },
4983 { 0, NULL, 0, 0, NULL, NULL }
4987 dissect_gsm_map_ODB_HPLMN_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4988 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4989 ODB_HPLMN_Data_bits, hf_index, ett_gsm_map_ODB_HPLMN_Data,
4994 static int dissect_odb_HPLMN_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4995 return dissect_gsm_map_ODB_HPLMN_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_HPLMN_Data);
4999 static const value_string gsm_map_SubscriberStatus_vals[] = {
5000 { 0, "serviceGranted" },
5001 { 1, "operatorDeterminedBarring" },
5007 dissect_gsm_map_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5008 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5013 static int dissect_subscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5014 return dissect_gsm_map_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberStatus);
5018 static const value_string gsm_map_BcsmTriggerDetectionPoint_vals[] = {
5019 { 2, "collectedInfo" },
5020 { 4, "routeSelectFailure" },
5021 { 12, "termAttemptAuthorized" },
5023 { 14, "tNoAnswer" },
5029 dissect_gsm_map_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5030 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5035 static int dissect_bcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5036 return dissect_gsm_map_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bcsmTriggerDetectionPoint);
5042 dissect_gsm_map_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5043 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5048 static int dissect_serviceKey(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5049 return dissect_gsm_map_ServiceKey(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
5051 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5052 return dissect_gsm_map_ServiceKey(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
5058 dissect_gsm_map_GsmSCF_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5059 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5064 static int dissect_gsmSCFAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5065 return dissect_gsm_map_GsmSCF_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCFAddress);
5069 static const value_string gsm_map_DefaultCallHandling_vals[] = {
5070 { 0, "continueCall" },
5071 { 1, "releaseCall" },
5077 dissect_gsm_map_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5078 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5083 static int dissect_defaultCallHandling(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5084 return dissect_gsm_map_DefaultCallHandling(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
5086 static int dissect_defaultCallHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5087 return dissect_gsm_map_DefaultCallHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
5091 static const ber_sequence_t BcsmCamelTDPData_sequence[] = {
5092 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_bcsmTriggerDetectionPoint },
5093 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
5094 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCFAddress_impl },
5095 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
5096 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5101 dissect_gsm_map_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5102 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5103 BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_BcsmCamelTDPData);
5107 static int dissect_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5108 return dissect_gsm_map_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BcsmCamelTDPDataList_item);
5112 static const ber_sequence_t BcsmCamelTDPDataList_sequence_of[1] = {
5113 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BcsmCamelTDPDataList_item },
5117 dissect_gsm_map_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5118 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5119 BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_BcsmCamelTDPDataList);
5125 static const value_string gsm_map_O_BcsmTriggerDetectionPoint_vals[] = {
5126 { 2, "collectedInfo" },
5127 { 4, "routeSelectFailure" },
5133 dissect_gsm_map_O_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5134 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5139 static int dissect_o_BcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5140 return dissect_gsm_map_O_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmTriggerDetectionPoint);
5144 static const ber_sequence_t O_BcsmCamelTDPData_sequence[] = {
5145 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
5146 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
5147 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
5148 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
5149 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5154 dissect_gsm_map_O_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5155 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5156 O_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_O_BcsmCamelTDPData);
5160 static int dissect_O_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5161 return dissect_gsm_map_O_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_BcsmCamelTDPDataList_item);
5165 static const ber_sequence_t O_BcsmCamelTDPDataList_sequence_of[1] = {
5166 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_O_BcsmCamelTDPDataList_item },
5170 dissect_gsm_map_O_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5171 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5172 O_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_O_BcsmCamelTDPDataList);
5176 static int dissect_o_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5177 return dissect_gsm_map_O_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDPDataList);
5183 dissect_gsm_map_CamelCapabilityHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5184 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5189 static int dissect_camelCapabilityHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5190 return dissect_gsm_map_CamelCapabilityHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelCapabilityHandling);
5194 static const ber_sequence_t O_CSI_sequence[] = {
5195 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDPDataList },
5196 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5197 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
5198 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
5199 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csiActive_impl },
5204 dissect_gsm_map_O_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5205 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5206 O_CSI_sequence, hf_index, ett_gsm_map_O_CSI);
5210 static int dissect_o_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5211 return dissect_gsm_map_O_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CSI);
5213 static int dissect_o_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5214 return dissect_gsm_map_O_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_CSI);
5220 dissect_gsm_map_Category(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5221 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5226 static int dissect_category_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5227 return dissect_gsm_map_Category(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_category);
5233 dissect_gsm_map_Ext_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5234 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5239 static int dissect_BearerServiceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5240 return dissect_gsm_map_Ext_BearerServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BearerServiceList_item);
5242 static int dissect_ext_BearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5243 return dissect_gsm_map_Ext_BearerServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_BearerService);
5247 static const ber_sequence_t BearerServiceList_sequence_of[1] = {
5248 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_BearerServiceList_item },
5252 dissect_gsm_map_BearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5253 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5254 BearerServiceList_sequence_of, hf_index, ett_gsm_map_BearerServiceList);
5258 static int dissect_bearerserviceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5259 return dissect_gsm_map_BearerServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerserviceList);
5261 static int dissect_bearerServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5262 return dissect_gsm_map_BearerServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerServiceList);
5268 dissect_gsm_map_Ext_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5269 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5274 static int dissect_TeleserviceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5275 return dissect_gsm_map_Ext_TeleserviceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_TeleserviceList_item);
5277 static int dissect_ext_Teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5278 return dissect_gsm_map_Ext_TeleserviceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_Teleservice);
5280 static int dissect_ext_teleservice(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5281 return dissect_gsm_map_Ext_TeleserviceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_teleservice);
5285 static const ber_sequence_t TeleserviceList_sequence_of[1] = {
5286 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_TeleserviceList_item },
5290 dissect_gsm_map_TeleserviceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5291 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5292 TeleserviceList_sequence_of, hf_index, ett_gsm_map_TeleserviceList);
5296 static int dissect_teleserviceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5297 return dissect_gsm_map_TeleserviceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleserviceList);
5303 dissect_gsm_map_SS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5304 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5309 static int dissect_ss_Code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5310 return dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
5312 static int dissect_ss_Code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5313 return dissect_gsm_map_SS_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
5315 static int dissect_SS_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5316 return dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SS_List_item);
5318 static int dissect_SS_EventList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5319 return dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SS_EventList_item);
5323 const value_string gsm_map_Ext_BasicServiceCode_vals[] = {
5324 { 2, "ext-BearerService" },
5325 { 3, "ext-Teleservice" },
5329 static const ber_choice_t Ext_BasicServiceCode_choice[] = {
5330 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
5331 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
5332 { 0, 0, 0, 0, NULL }
5336 dissect_gsm_map_Ext_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5337 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5338 Ext_BasicServiceCode_choice, hf_index, ett_gsm_map_Ext_BasicServiceCode,
5343 static int dissect_BasicServiceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5344 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceList_item);
5346 static int dissect_ext_basicService(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5347 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicService);
5349 static int dissect_ext_basicService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5350 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicService);
5352 static int dissect_Ext_BasicServiceGroupList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5353 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_BasicServiceGroupList_item);
5355 static int dissect_ext_basicServiceGroup(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5356 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroup);
5358 static int dissect_ext_basicServiceGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5359 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroup);
5361 static int dissect_basicServiceGroup2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5362 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroup2);
5364 static int dissect_basicService2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5365 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicService2);
5367 static int dissect_BasicServiceCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5368 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceCriteria_item);
5374 dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5375 #line 295 "gsmmap.cnf"
5376 /* Note Ext-SS-Status can have more than one byte */
5378 tvbuff_t *parameter_tvb;
5381 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5388 octet = tvb_get_guint8(parameter_tvb,0);
5390 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
5391 if ((octet & 0x01)== 1)
5392 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
5394 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
5395 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
5396 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
5403 static int dissect_ext_ss_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5404 return dissect_gsm_map_Ext_SS_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ss_Status);
5406 static int dissect_ext_ss_Status_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5407 return dissect_gsm_map_Ext_SS_Status(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ss_Status);
5413 dissect_gsm_map_ISDN_SubaddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5414 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5419 static int dissect_forwardedToSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5420 return dissect_gsm_map_ISDN_SubaddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToSubaddress);
5422 static int dissect_b_subscriberSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5423 return dissect_gsm_map_ISDN_SubaddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberSubaddress);
5429 dissect_gsm_map_Ext_ForwOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5430 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5439 dissect_gsm_map_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5440 offset = dissect_gsm_map_Ext_ForwOptions(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5442 #line 421 "gsmmap.cnf"
5444 proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
5445 proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
5446 proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE);
5447 proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE);
5452 static int dissect_ext_forwardingOptions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5453 return dissect_gsm_map_T_forwardingOptions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingOptions);
5459 dissect_gsm_map_Ext_NoRepCondTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5460 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5465 static int dissect_ext_noReplyConditionTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5466 return dissect_gsm_map_Ext_NoRepCondTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_noReplyConditionTime);
5472 dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5473 #line 245 "gsmmap.cnf"
5475 tvbuff_t *parameter_tvb;
5478 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5485 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
5486 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
5487 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
5489 digit_str = unpack_digits(parameter_tvb, 1);
5491 proto_tree_add_string(tree, hf_gsm_map_address_digits, parameter_tvb, 1, -1, digit_str);
5497 static int dissect_forwardedToNumber_addr_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5498 return dissect_gsm_map_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToNumber_addr);
5500 static int dissect_lcsClientDialedByMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5501 return dissect_gsm_map_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientDialedByMS);
5507 dissect_gsm_map_FTN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5508 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5512 static int dissect_longForwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5513 return dissect_gsm_map_FTN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longForwardedToNumber);
5517 static const ber_sequence_t Ext_ForwFeature_sequence[] = {
5518 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService },
5519 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
5520 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
5521 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
5522 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_forwardingOptions_impl },
5523 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_noReplyConditionTime_impl },
5524 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5525 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
5530 dissect_gsm_map_Ext_ForwFeature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5531 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5532 Ext_ForwFeature_sequence, hf_index, ett_gsm_map_Ext_ForwFeature);
5536 static int dissect_Ext_ForwFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5537 return dissect_gsm_map_Ext_ForwFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_ForwFeatureList_item);
5541 static const ber_sequence_t Ext_ForwFeatureList_sequence_of[1] = {
5542 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Ext_ForwFeatureList_item },
5546 dissect_gsm_map_Ext_ForwFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5547 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5548 Ext_ForwFeatureList_sequence_of, hf_index, ett_gsm_map_Ext_ForwFeatureList);
5552 static int dissect_ext_forwardingFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5553 return dissect_gsm_map_Ext_ForwFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingFeatureList);
5555 static int dissect_ext_forwardingFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5556 return dissect_gsm_map_Ext_ForwFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingFeatureList);
5560 static const ber_sequence_t Ext_ForwInfo_sequence[] = {
5561 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
5562 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_forwardingFeatureList },
5563 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5568 dissect_gsm_map_Ext_ForwInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5569 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5570 Ext_ForwInfo_sequence, hf_index, ett_gsm_map_Ext_ForwInfo);
5574 static int dissect_ext_forwardingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5575 return dissect_gsm_map_Ext_ForwInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingInfo);
5579 static const ber_sequence_t Ext_CallBarringFeature_sequence[] = {
5580 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService },
5581 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
5582 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5587 dissect_gsm_map_Ext_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5588 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5589 Ext_CallBarringFeature_sequence, hf_index, ett_gsm_map_Ext_CallBarringFeature);
5593 static int dissect_Ext_CallBarFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5594 return dissect_gsm_map_Ext_CallBarringFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_CallBarFeatureList_item);
5598 static const ber_sequence_t Ext_CallBarFeatureList_sequence_of[1] = {
5599 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Ext_CallBarFeatureList_item },
5603 dissect_gsm_map_Ext_CallBarFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5604 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5605 Ext_CallBarFeatureList_sequence_of, hf_index, ett_gsm_map_Ext_CallBarFeatureList);
5609 static int dissect_ext_callBarringFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5610 return dissect_gsm_map_Ext_CallBarFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_callBarringFeatureList);
5612 static int dissect_ext_callBarringFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5613 return dissect_gsm_map_Ext_CallBarFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_callBarringFeatureList);
5617 static const ber_sequence_t Ext_CallBarInfo_sequence[] = {
5618 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
5619 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_callBarringFeatureList },
5620 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5625 dissect_gsm_map_Ext_CallBarInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5626 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5627 Ext_CallBarInfo_sequence, hf_index, ett_gsm_map_Ext_CallBarInfo);
5631 static int dissect_ext_callBarringInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5632 return dissect_gsm_map_Ext_CallBarInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_callBarringInfo);
5638 dissect_gsm_map_CUG_Index(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5639 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5644 static int dissect_cug_Index(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5645 return dissect_gsm_map_CUG_Index(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Index);
5647 static int dissect_preferentialCUG_Indicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5648 return dissect_gsm_map_CUG_Index(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_preferentialCUG_Indicator);
5654 dissect_gsm_map_CUG_Interlock(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5655 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5660 static int dissect_cug_Interlock(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5661 return dissect_gsm_map_CUG_Interlock(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Interlock);
5665 static const value_string gsm_map_IntraCUG_Options_vals[] = {
5666 { 0, "noCUG-Restrictions" },
5667 { 1, "cugIC-CallBarred" },
5668 { 2, "cugOG-CallBarred" },
5674 dissect_gsm_map_IntraCUG_Options(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5675 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5680 static int dissect_intraCUG_Options(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5681 return dissect_gsm_map_IntraCUG_Options(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_intraCUG_Options);
5685 static const ber_sequence_t Ext_BasicServiceGroupList_sequence_of[1] = {
5686 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Ext_BasicServiceGroupList_item },
5690 dissect_gsm_map_Ext_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5691 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5692 Ext_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_Ext_BasicServiceGroupList);
5696 static int dissect_basicServiceGroupList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5697 return dissect_gsm_map_Ext_BasicServiceGroupList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroupList);
5701 static const ber_sequence_t CUG_Subscription_sequence[] = {
5702 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cug_Index },
5703 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
5704 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_intraCUG_Options },
5705 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
5706 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5711 dissect_gsm_map_CUG_Subscription(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5712 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5713 CUG_Subscription_sequence, hf_index, ett_gsm_map_CUG_Subscription);
5717 static int dissect_CUG_SubscriptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5718 return dissect_gsm_map_CUG_Subscription(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CUG_SubscriptionList_item);
5722 static const ber_sequence_t CUG_SubscriptionList_sequence_of[1] = {
5723 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CUG_SubscriptionList_item },
5727 dissect_gsm_map_CUG_SubscriptionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5728 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5729 CUG_SubscriptionList_sequence_of, hf_index, ett_gsm_map_CUG_SubscriptionList);
5733 static int dissect_cug_SubscriptionList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5734 return dissect_gsm_map_CUG_SubscriptionList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_SubscriptionList);
5740 dissect_gsm_map_InterCUG_Restrictions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5741 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5746 static int dissect_interCUG_Restrictions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5747 return dissect_gsm_map_InterCUG_Restrictions(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_interCUG_Restrictions);
5751 static const ber_sequence_t CUG_Feature_sequence[] = {
5752 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService },
5753 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_preferentialCUG_Indicator },
5754 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_interCUG_Restrictions },
5755 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5760 dissect_gsm_map_CUG_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5761 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5762 CUG_Feature_sequence, hf_index, ett_gsm_map_CUG_Feature);
5766 static int dissect_CUG_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5767 return dissect_gsm_map_CUG_Feature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CUG_FeatureList_item);
5771 static const ber_sequence_t CUG_FeatureList_sequence_of[1] = {
5772 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CUG_FeatureList_item },
5776 dissect_gsm_map_CUG_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5777 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5778 CUG_FeatureList_sequence_of, hf_index, ett_gsm_map_CUG_FeatureList);
5782 static int dissect_cug_FeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5783 return dissect_gsm_map_CUG_FeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_FeatureList);
5787 static const ber_sequence_t CUG_Info_sequence[] = {
5788 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_SubscriptionList },
5789 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_FeatureList },
5790 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5795 dissect_gsm_map_CUG_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5796 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5797 CUG_Info_sequence, hf_index, ett_gsm_map_CUG_Info);
5801 static int dissect_cug_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5802 return dissect_gsm_map_CUG_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Info);
5806 static const value_string gsm_map_CliRestrictionOption_vals[] = {
5808 { 1, "temporaryDefaultRestricted" },
5809 { 2, "temporaryDefaultAllowed" },
5815 dissect_gsm_map_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5816 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5821 static int dissect_cliRestrictionOption(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5822 return dissect_gsm_map_CliRestrictionOption(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cliRestrictionOption);
5824 static int dissect_cliRestrictionOption_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5825 return dissect_gsm_map_CliRestrictionOption(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cliRestrictionOption);
5829 static const value_string gsm_map_SS_SubscriptionOption_vals[] = {
5830 { 2, "cliRestrictionOption" },
5831 { 1, "overrideCategory" },
5835 static const ber_choice_t SS_SubscriptionOption_choice[] = {
5836 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cliRestrictionOption_impl },
5837 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_overrideCategory_impl },
5838 { 0, 0, 0, 0, NULL }
5842 dissect_gsm_map_SS_SubscriptionOption(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5843 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5844 SS_SubscriptionOption_choice, hf_index, ett_gsm_map_SS_SubscriptionOption,
5849 static int dissect_ss_SubscriptionOption(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5850 return dissect_gsm_map_SS_SubscriptionOption(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_SubscriptionOption);
5854 static const ber_sequence_t Ext_SS_Data_sequence[] = {
5855 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
5856 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
5857 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_SubscriptionOption },
5858 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
5859 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5864 dissect_gsm_map_Ext_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5865 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5866 Ext_SS_Data_sequence, hf_index, ett_gsm_map_Ext_SS_Data);
5870 static int dissect_ext_ss_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5871 return dissect_gsm_map_Ext_SS_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ss_Data);
5877 dissect_gsm_map_EMLPP_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5878 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5883 static int dissect_maximumentitledPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5884 return dissect_gsm_map_EMLPP_Priority(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_maximumentitledPriority);
5886 static int dissect_defaultPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5887 return dissect_gsm_map_EMLPP_Priority(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
5889 static int dissect_defaultPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5890 return dissect_gsm_map_EMLPP_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
5892 static int dissect_maximumEntitledPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5893 return dissect_gsm_map_EMLPP_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_maximumEntitledPriority);
5895 static int dissect_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5896 return dissect_gsm_map_EMLPP_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_priority);
5900 static const ber_sequence_t EMLPP_Info_sequence[] = {
5901 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_maximumentitledPriority },
5902 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
5903 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5908 dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5909 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5910 EMLPP_Info_sequence, hf_index, ett_gsm_map_EMLPP_Info);
5914 static int dissect_emlpp_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5915 return dissect_gsm_map_EMLPP_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_emlpp_Info);
5919 static const value_string gsm_map_Ext_SS_Info_vals[] = {
5920 { 0, "forwardingInfo" },
5921 { 1, "callBarringInfo" },
5924 { 4, "emlpp-Info" },
5928 static const ber_choice_t Ext_SS_Info_choice[] = {
5929 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ext_forwardingInfo_impl },
5930 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_callBarringInfo_impl },
5931 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cug_Info_impl },
5932 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_ss_Data_impl },
5933 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_emlpp_Info_impl },
5934 { 0, 0, 0, 0, NULL }
5938 dissect_gsm_map_Ext_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5939 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5940 Ext_SS_Info_choice, hf_index, ett_gsm_map_Ext_SS_Info,
5945 static int dissect_Ext_SS_InfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5946 return dissect_gsm_map_Ext_SS_Info(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_SS_InfoList_item);
5950 static const ber_sequence_t Ext_SS_InfoList_sequence_of[1] = {
5951 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Ext_SS_InfoList_item },
5955 dissect_gsm_map_Ext_SS_InfoList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5956 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5957 Ext_SS_InfoList_sequence_of, hf_index, ett_gsm_map_Ext_SS_InfoList);
5961 static int dissect_provisionedSS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5962 return dissect_gsm_map_Ext_SS_InfoList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_provisionedSS);
5966 static const ber_sequence_t ODB_Data_sequence[] = {
5967 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_odb_GeneralData },
5968 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_odb_HPLMN_Data },
5969 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5974 dissect_gsm_map_ODB_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5975 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5976 ODB_Data_sequence, hf_index, ett_gsm_map_ODB_Data);
5980 static int dissect_odb_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5981 return dissect_gsm_map_ODB_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
5983 static int dissect_odb_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5984 return dissect_gsm_map_ODB_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
5986 static int dissect_odb_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5987 return dissect_gsm_map_ODB_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_data);
5993 dissect_gsm_map_ZoneCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5994 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5999 static int dissect_regionalSubscriptionIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6000 return dissect_gsm_map_ZoneCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionIdentifier);
6002 static int dissect_ZoneCodeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6003 return dissect_gsm_map_ZoneCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ZoneCodeList_item);
6007 static const ber_sequence_t ZoneCodeList_sequence_of[1] = {
6008 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ZoneCodeList_item },
6012 dissect_gsm_map_ZoneCodeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6013 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6014 ZoneCodeList_sequence_of, hf_index, ett_gsm_map_ZoneCodeList);
6018 static int dissect_regionalSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6019 return dissect_gsm_map_ZoneCodeList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionData);
6025 dissect_gsm_map_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6026 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6030 static int dissect_groupId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6031 return dissect_gsm_map_GroupId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupId);
6033 static int dissect_groupid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6034 return dissect_gsm_map_GroupId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupid);
6038 static const ber_sequence_t VoiceBroadcastData_sequence[] = {
6039 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupid },
6040 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_broadcastInitEntitlement },
6041 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6046 dissect_gsm_map_VoiceBroadcastData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6047 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6048 VoiceBroadcastData_sequence, hf_index, ett_gsm_map_VoiceBroadcastData);
6052 static int dissect_VBSDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6053 return dissect_gsm_map_VoiceBroadcastData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_VBSDataList_item);
6057 static const ber_sequence_t VBSDataList_sequence_of[1] = {
6058 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_VBSDataList_item },
6062 dissect_gsm_map_VBSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6063 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6064 VBSDataList_sequence_of, hf_index, ett_gsm_map_VBSDataList);
6068 static int dissect_vbsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6069 return dissect_gsm_map_VBSDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsSubscriptionData);
6073 static const ber_sequence_t VoiceGroupCallData_sequence[] = {
6074 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupId },
6075 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6080 dissect_gsm_map_VoiceGroupCallData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6081 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6082 VoiceGroupCallData_sequence, hf_index, ett_gsm_map_VoiceGroupCallData);
6086 static int dissect_VGCSDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6087 return dissect_gsm_map_VoiceGroupCallData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_VGCSDataList_item);
6091 static const ber_sequence_t VGCSDataList_sequence_of[1] = {
6092 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_VGCSDataList_item },
6096 dissect_gsm_map_VGCSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6097 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6098 VGCSDataList_sequence_of, hf_index, ett_gsm_map_VGCSDataList);
6102 static int dissect_vgcsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6103 return dissect_gsm_map_VGCSDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsSubscriptionData);
6107 static const ber_sequence_t SS_EventList_sequence_of[1] = {
6108 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_SS_EventList_item },
6112 dissect_gsm_map_SS_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6113 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6114 SS_EventList_sequence_of, hf_index, ett_gsm_map_SS_EventList);
6118 static int dissect_ss_EventList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6119 return dissect_gsm_map_SS_EventList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventList);
6123 static const ber_sequence_t SS_CamelData_sequence[] = {
6124 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_EventList },
6125 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
6126 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6131 dissect_gsm_map_SS_CamelData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6132 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6133 SS_CamelData_sequence, hf_index, ett_gsm_map_SS_CamelData);
6137 static int dissect_ss_CamelData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6138 return dissect_gsm_map_SS_CamelData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CamelData);
6142 static const ber_sequence_t SS_CSI_sequence[] = {
6143 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_CamelData },
6144 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6145 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6146 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6151 dissect_gsm_map_SS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6152 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6153 SS_CSI_sequence, hf_index, ett_gsm_map_SS_CSI);
6157 static int dissect_ss_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6158 return dissect_gsm_map_SS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CSI);
6162 static const value_string gsm_map_MatchType_vals[] = {
6163 { 0, "inhibiting" },
6170 dissect_gsm_map_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6171 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6176 static int dissect_matchType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6177 return dissect_gsm_map_MatchType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_matchType);
6181 static const ber_sequence_t DestinationNumberList_sequence_of[1] = {
6182 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_DestinationNumberList_item },
6186 dissect_gsm_map_DestinationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6187 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6188 DestinationNumberList_sequence_of, hf_index, ett_gsm_map_DestinationNumberList);
6192 static int dissect_destinationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6193 return dissect_gsm_map_DestinationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberList);
6199 dissect_gsm_map_INTEGER_1_15(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6200 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6205 static int dissect_DestinationNumberLengthList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6206 return dissect_gsm_map_INTEGER_1_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_DestinationNumberLengthList_item);
6210 static const ber_sequence_t DestinationNumberLengthList_sequence_of[1] = {
6211 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_DestinationNumberLengthList_item },
6215 dissect_gsm_map_DestinationNumberLengthList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6216 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6217 DestinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_DestinationNumberLengthList);
6221 static int dissect_destinationNumberLengthList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6222 return dissect_gsm_map_DestinationNumberLengthList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberLengthList);
6226 static const ber_sequence_t DestinationNumberCriteria_sequence[] = {
6227 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_matchType_impl },
6228 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberList_impl },
6229 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberLengthList_impl },
6234 dissect_gsm_map_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6235 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6236 DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_DestinationNumberCriteria);
6240 static int dissect_destinationNumberCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6241 return dissect_gsm_map_DestinationNumberCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberCriteria);
6245 static const ber_sequence_t BasicServiceCriteria_sequence_of[1] = {
6246 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceCriteria_item },
6250 dissect_gsm_map_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6251 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6252 BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_BasicServiceCriteria);
6256 static int dissect_basicServiceCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6257 return dissect_gsm_map_BasicServiceCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceCriteria);
6261 static const value_string gsm_map_CallTypeCriteria_vals[] = {
6263 { 1, "notForwarded" },
6269 dissect_gsm_map_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6270 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6275 static int dissect_callTypeCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6276 return dissect_gsm_map_CallTypeCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callTypeCriteria);
6282 dissect_gsm_map_CauseValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6283 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6288 static int dissect_T_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6289 return dissect_gsm_map_CauseValue(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_CauseValueCriteria_item);
6291 static int dissect_O_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6292 return dissect_gsm_map_CauseValue(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_CauseValueCriteria_item);
6296 static const ber_sequence_t O_CauseValueCriteria_sequence_of[1] = {
6297 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_O_CauseValueCriteria_item },
6301 dissect_gsm_map_O_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6302 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6303 O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_O_CauseValueCriteria);
6307 static int dissect_o_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6308 return dissect_gsm_map_O_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CauseValueCriteria);
6312 static const ber_sequence_t O_BcsmCamelTDP_Criteria_sequence[] = {
6313 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
6314 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
6315 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
6316 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
6317 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CauseValueCriteria_impl },
6318 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6323 dissect_gsm_map_O_BcsmCamelTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6324 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6325 O_BcsmCamelTDP_Criteria_sequence, hf_index, ett_gsm_map_O_BcsmCamelTDP_Criteria);
6329 static int dissect_O_BcsmCamelTDPCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6330 return dissect_gsm_map_O_BcsmCamelTDP_Criteria(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_BcsmCamelTDPCriteriaList_item);
6334 static const ber_sequence_t O_BcsmCamelTDPCriteriaList_sequence_of[1] = {
6335 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_O_BcsmCamelTDPCriteriaList_item },
6339 dissect_gsm_map_O_BcsmCamelTDPCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6340 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6341 O_BcsmCamelTDPCriteriaList_sequence_of, hf_index, ett_gsm_map_O_BcsmCamelTDPCriteriaList);
6345 static int dissect_o_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6346 return dissect_gsm_map_O_BcsmCamelTDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDP_CriteriaList);
6348 static int dissect_o_BcsmCamelTDPCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6349 return dissect_gsm_map_O_BcsmCamelTDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDPCriteriaList);
6351 static int dissect_o_IM_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6352 return dissect_gsm_map_O_BcsmCamelTDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList);
6358 dissect_gsm_map_MM_Code(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6359 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6364 static int dissect_eventMet_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6365 return dissect_gsm_map_MM_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_eventMet);
6367 static int dissect_MobilityTriggers_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6368 return dissect_gsm_map_MM_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MobilityTriggers_item);
6372 static const ber_sequence_t MobilityTriggers_sequence_of[1] = {
6373 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_MobilityTriggers_item },
6377 dissect_gsm_map_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6378 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6379 MobilityTriggers_sequence_of, hf_index, ett_gsm_map_MobilityTriggers);
6383 static int dissect_mobilityTriggers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6384 return dissect_gsm_map_MobilityTriggers(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mobilityTriggers);
6388 static const ber_sequence_t M_CSI_sequence[] = {
6389 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
6390 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
6391 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
6392 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6393 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6394 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6399 dissect_gsm_map_M_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6400 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6401 M_CSI_sequence, hf_index, ett_gsm_map_M_CSI);
6405 static int dissect_m_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6406 return dissect_gsm_map_M_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_m_CSI);
6410 static const value_string gsm_map_SMS_TriggerDetectionPoint_vals[] = {
6411 { 1, "sms-CollectedInfo" },
6412 { 2, "sms-DeliveryRequest" },
6418 dissect_gsm_map_SMS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6419 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6424 static int dissect_sms_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6425 return dissect_gsm_map_SMS_TriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
6427 static int dissect_sms_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6428 return dissect_gsm_map_SMS_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
6432 static const value_string gsm_map_DefaultSMS_Handling_vals[] = {
6433 { 0, "continueTransaction" },
6434 { 1, "releaseTransaction" },
6440 dissect_gsm_map_DefaultSMS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6441 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6446 static int dissect_defaultSMS_Handling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6447 return dissect_gsm_map_DefaultSMS_Handling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSMS_Handling);
6451 static const ber_sequence_t SMS_CAMEL_TDP_Data_sequence[] = {
6452 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sms_TriggerDetectionPoint_impl },
6453 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
6454 { BER_CLASS_CON, 2, 0, dissect_gsmSCF_Address },
6455 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSMS_Handling_impl },
6456 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6461 dissect_gsm_map_SMS_CAMEL_TDP_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6462 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6463 SMS_CAMEL_TDP_Data_sequence, hf_index, ett_gsm_map_SMS_CAMEL_TDP_Data);
6467 static int dissect_SMS_CAMEL_TDP_DataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6468 return dissect_gsm_map_SMS_CAMEL_TDP_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SMS_CAMEL_TDP_DataList_item);
6472 static const ber_sequence_t SMS_CAMEL_TDP_DataList_sequence_of[1] = {
6473 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SMS_CAMEL_TDP_DataList_item },
6477 dissect_gsm_map_SMS_CAMEL_TDP_DataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6478 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6479 SMS_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_SMS_CAMEL_TDP_DataList);
6483 static int dissect_sms_CAMEL_TDP_DataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6484 return dissect_gsm_map_SMS_CAMEL_TDP_DataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_CAMEL_TDP_DataList);
6488 static const ber_sequence_t SMS_CSI_sequence[] = {
6489 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sms_CAMEL_TDP_DataList_impl },
6490 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
6491 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6492 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6493 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6498 dissect_gsm_map_SMS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6499 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6500 SMS_CSI_sequence, hf_index, ett_gsm_map_SMS_CSI);
6504 static int dissect_mo_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6505 return dissect_gsm_map_SMS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mo_sms_CSI);
6507 static int dissect_mt_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6508 return dissect_gsm_map_SMS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_sms_CSI);
6512 static const value_string gsm_map_T_BcsmTriggerDetectionPoint_vals[] = {
6513 { 12, "termAttemptAuthorized" },
6515 { 14, "tNoAnswer" },
6521 dissect_gsm_map_T_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6522 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6527 static int dissect_t_BCSM_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6528 return dissect_gsm_map_T_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_TriggerDetectionPoint);
6530 static int dissect_t_BcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6531 return dissect_gsm_map_T_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BcsmTriggerDetectionPoint);
6535 static const ber_sequence_t T_BcsmCamelTDPData_sequence[] = {
6536 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BcsmTriggerDetectionPoint },
6537 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
6538 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
6539 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
6540 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6545 dissect_gsm_map_T_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6546 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6547 T_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_T_BcsmCamelTDPData);
6551 static int dissect_T_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6552 return dissect_gsm_map_T_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_BcsmCamelTDPDataList_item);
6556 static const ber_sequence_t T_BcsmCamelTDPDataList_sequence_of[1] = {
6557 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_T_BcsmCamelTDPDataList_item },
6561 dissect_gsm_map_T_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6562 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6563 T_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_T_BcsmCamelTDPDataList);
6567 static int dissect_t_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6568 return dissect_gsm_map_T_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BcsmCamelTDPDataList);
6572 static const ber_sequence_t T_CSI_sequence[] = {
6573 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
6574 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6575 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
6576 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6577 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6582 dissect_gsm_map_T_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6583 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6584 T_CSI_sequence, hf_index, ett_gsm_map_T_CSI);
6588 static int dissect_vt_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6589 return dissect_gsm_map_T_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_CSI);
6591 static int dissect_t_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6592 return dissect_gsm_map_T_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CSI);
6594 static int dissect_vt_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6595 return dissect_gsm_map_T_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_CSI);
6599 static const ber_sequence_t T_CauseValueCriteria_sequence_of[1] = {
6600 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_T_CauseValueCriteria_item },
6604 dissect_gsm_map_T_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6605 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6606 T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_T_CauseValueCriteria);
6610 static int dissect_t_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6611 return dissect_gsm_map_T_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CauseValueCriteria);
6615 static const ber_sequence_t T_BCSM_CAMEL_TDP_Criteria_sequence[] = {
6616 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint },
6617 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
6618 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
6623 dissect_gsm_map_T_BCSM_CAMEL_TDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6624 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6625 T_BCSM_CAMEL_TDP_Criteria_sequence, hf_index, ett_gsm_map_T_BCSM_CAMEL_TDP_Criteria);
6629 static int dissect_T_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6630 return dissect_gsm_map_T_BCSM_CAMEL_TDP_Criteria(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList_item);
6634 static const ber_sequence_t T_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
6635 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_T_BCSM_CAMEL_TDP_CriteriaList_item },
6639 dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6640 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6641 T_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList);
6645 static int dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6646 return dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList);
6648 static int dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6649 return dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList);
6651 static int dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6652 return dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList);
6656 static const ber_sequence_t DP_AnalysedInfoCriterium_sequence[] = {
6657 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dialledNumber },
6658 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
6659 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
6660 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_defaultCallHandling },
6661 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6666 dissect_gsm_map_DP_AnalysedInfoCriterium(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6667 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6668 DP_AnalysedInfoCriterium_sequence, hf_index, ett_gsm_map_DP_AnalysedInfoCriterium);
6672 static int dissect_DP_AnalysedInfoCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6673 return dissect_gsm_map_DP_AnalysedInfoCriterium(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_DP_AnalysedInfoCriteriaList_item);
6677 static const ber_sequence_t DP_AnalysedInfoCriteriaList_sequence_of[1] = {
6678 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_DP_AnalysedInfoCriteriaList_item },
6682 dissect_gsm_map_DP_AnalysedInfoCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6683 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6684 DP_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_DP_AnalysedInfoCriteriaList);
6688 static int dissect_dp_AnalysedInfoCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6689 return dissect_gsm_map_DP_AnalysedInfoCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dp_AnalysedInfoCriteriaList);
6693 static const ber_sequence_t D_CSI_sequence[] = {
6694 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dp_AnalysedInfoCriteriaList_impl },
6695 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
6696 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6697 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6698 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6703 dissect_gsm_map_D_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6704 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6705 D_CSI_sequence, hf_index, ett_gsm_map_D_CSI);
6709 static int dissect_d_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6710 return dissect_gsm_map_D_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_CSI);
6712 static int dissect_d_csi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6713 return dissect_gsm_map_D_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_csi);
6715 static int dissect_d_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6716 return dissect_gsm_map_D_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_IM_CSI);
6720 static const value_string gsm_map_MT_SMS_TPDU_Type_vals[] = {
6721 { 0, "sms-DELIVER" },
6722 { 1, "sms-SUBMIT-REPORT" },
6723 { 2, "sms-STATUS-REPORT" },
6729 dissect_gsm_map_MT_SMS_TPDU_Type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6730 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6735 static int dissect_TPDU_TypeCriterion_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6736 return dissect_gsm_map_MT_SMS_TPDU_Type(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_TPDU_TypeCriterion_item);
6740 static const ber_sequence_t TPDU_TypeCriterion_sequence_of[1] = {
6741 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_TPDU_TypeCriterion_item },
6745 dissect_gsm_map_TPDU_TypeCriterion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6746 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6747 TPDU_TypeCriterion_sequence_of, hf_index, ett_gsm_map_TPDU_TypeCriterion);
6751 static int dissect_tpdu_TypeCriterion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6752 return dissect_gsm_map_TPDU_TypeCriterion(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tpdu_TypeCriterion);
6756 static const ber_sequence_t MT_smsCAMELTDP_Criteria_sequence[] = {
6757 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sms_TriggerDetectionPoint },
6758 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tpdu_TypeCriterion_impl },
6763 dissect_gsm_map_MT_smsCAMELTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6764 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6765 MT_smsCAMELTDP_Criteria_sequence, hf_index, ett_gsm_map_MT_smsCAMELTDP_Criteria);
6769 static int dissect_MT_smsCAMELTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6770 return dissect_gsm_map_MT_smsCAMELTDP_Criteria(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MT_smsCAMELTDP_CriteriaList_item);
6774 static const ber_sequence_t MT_smsCAMELTDP_CriteriaList_sequence_of[1] = {
6775 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_MT_smsCAMELTDP_CriteriaList_item },
6779 dissect_gsm_map_MT_smsCAMELTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6780 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6781 MT_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_MT_smsCAMELTDP_CriteriaList);
6785 static int dissect_mt_smsCAMELTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6786 return dissect_gsm_map_MT_smsCAMELTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_smsCAMELTDP_CriteriaList);
6790 static const ber_sequence_t VlrCamelSubscriptionInfo_sequence[] = {
6791 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
6792 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6793 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
6794 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
6795 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
6796 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_m_CSI_impl },
6797 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
6798 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_CSI_impl },
6799 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
6800 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_CSI_impl },
6801 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
6802 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
6807 dissect_gsm_map_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6808 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6809 VlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_VlrCamelSubscriptionInfo);
6813 static int dissect_vlrCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6814 return dissect_gsm_map_VlrCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlrCamelSubscriptionInfo);
6820 dissect_gsm_map_NAEA_CIC(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6821 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6826 static int dissect_naea_PreferredCIC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6827 return dissect_gsm_map_NAEA_CIC(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCIC);
6831 static const ber_sequence_t NAEA_PreferredCI_sequence[] = {
6832 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_naea_PreferredCIC_impl },
6833 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6838 dissect_gsm_map_NAEA_PreferredCI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6839 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6840 NAEA_PreferredCI_sequence, hf_index, ett_gsm_map_NAEA_PreferredCI);
6844 static int dissect_naea_PreferredCI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6845 return dissect_gsm_map_NAEA_PreferredCI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCI);
6851 dissect_gsm_map_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6852 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6857 static int dissect_pdp_ContextId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6858 return dissect_gsm_map_ContextId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextId);
6860 static int dissect_ContextIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6861 return dissect_gsm_map_ContextId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ContextIdList_item);
6863 static int dissect_pdp_ContextIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6864 return dissect_gsm_map_ContextId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextIdentifier);
6870 dissect_gsm_map_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6871 #line 432 "gsmmap.cnf"
6872 guint8 pdp_type_org;
6873 tvbuff_t *parameter_tvb;
6876 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6882 proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,FALSE);
6883 pdp_type_org = tvb_get_guint8(parameter_tvb,1);
6884 switch (pdp_type_org){
6886 proto_tree_add_item(tree, hf_gsm_map_etsi_pdp_type_number, parameter_tvb, 0,1,FALSE);
6889 proto_tree_add_item(tree, hf_gsm_map_ietf_pdp_type_number, parameter_tvb, 0,1,FALSE);
6899 static int dissect_pdp_Type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6900 return dissect_gsm_map_PDP_Type(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Type);
6906 dissect_gsm_map_PDP_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6907 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6912 static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6913 return dissect_gsm_map_PDP_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Address);
6919 dissect_gsm_map_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6920 #line 458 "gsmmap.cnf"
6922 tvbuff_t *parameter_tvb;
6924 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6930 de_sm_qos(parameter_tvb, tree, 0, 3, NULL,0);
6936 static int dissect_qos_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6937 return dissect_gsm_map_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Subscribed);
6943 dissect_gsm_map_APN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6944 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6949 static int dissect_apn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6950 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn);
6952 static int dissect_apn_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6953 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_Subscribed);
6955 static int dissect_apn_InUse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6956 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_InUse);
6958 static int dissect_lcsAPN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6959 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsAPN);
6965 dissect_gsm_map_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6966 #line 472 "gsmmap.cnf"
6968 tvbuff_t *parameter_tvb;
6970 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6976 dissect_gsm_map_ext_qos_subscribed(tvb, pinfo, tree);
6982 static int dissect_ext_QoS_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6983 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_QoS_Subscribed);
6985 static int dissect_ext_qos_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6986 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_qos_Subscribed);
6988 static int dissect_qos_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6989 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Requested);
6991 static int dissect_qos_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6992 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Negotiated);
6998 dissect_gsm_map_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6999 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7004 static int dissect_chargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7005 return dissect_gsm_map_ChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingCharacteristics);
7007 static int dissect_pdp_ChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7008 return dissect_gsm_map_ChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ChargingCharacteristics);
7014 dissect_gsm_map_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7015 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7020 static int dissect_ext2_QoS_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7021 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext2_QoS_Subscribed);
7023 static int dissect_qos2_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7024 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Subscribed);
7026 static int dissect_qos2_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7027 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Requested);
7029 static int dissect_qos2_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7030 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Negotiated);
7034 static const ber_sequence_t PDP_Context_sequence[] = {
7035 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pdp_ContextId },
7036 { BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
7037 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
7038 { BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
7039 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vplmnAddressAllowed_impl },
7040 { BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_apn_impl },
7041 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7042 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_QoS_Subscribed_impl },
7043 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ChargingCharacteristics_impl },
7044 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext2_QoS_Subscribed_impl },
7049 dissect_gsm_map_PDP_Context(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7050 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7051 PDP_Context_sequence, hf_index, ett_gsm_map_PDP_Context);
7055 static int dissect_GPRSDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7056 return dissect_gsm_map_PDP_Context(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_GPRSDataList_item);
7060 static const ber_sequence_t GPRSDataList_sequence_of[1] = {
7061 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_GPRSDataList_item },
7065 dissect_gsm_map_GPRSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7066 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7067 GPRSDataList_sequence_of, hf_index, ett_gsm_map_GPRSDataList);
7071 static int dissect_gprsDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7072 return dissect_gsm_map_GPRSDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsDataList);
7076 static const ber_sequence_t GPRSSubscriptionData_sequence[] = {
7077 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
7078 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprsDataList_impl },
7079 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7084 dissect_gsm_map_GPRSSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7085 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7086 GPRSSubscriptionData_sequence, hf_index, ett_gsm_map_GPRSSubscriptionData);
7090 static int dissect_gprsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7091 return dissect_gsm_map_GPRSSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionData);
7095 static const value_string gsm_map_NetworkAccessMode_vals[] = {
7096 { 0, "bothMSCAndSGSN" },
7104 dissect_gsm_map_NetworkAccessMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7105 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7110 static int dissect_networkAccessMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7111 return dissect_gsm_map_NetworkAccessMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkAccessMode);
7115 static const value_string gsm_map_LSAOnlyAccessIndicator_vals[] = {
7116 { 0, "accessOutsideLSAsAllowed" },
7117 { 1, "accessOutsideLSAsRestricted" },
7123 dissect_gsm_map_LSAOnlyAccessIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7124 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7129 static int dissect_lsaOnlyAccessIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7130 return dissect_gsm_map_LSAOnlyAccessIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaOnlyAccessIndicator);
7136 dissect_gsm_map_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7137 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7142 static int dissect_lsaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7143 return dissect_gsm_map_LSAIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentity);
7145 static int dissect_LSAIdentityList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7146 return dissect_gsm_map_LSAIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_LSAIdentityList_item);
7148 static int dissect_selectedLSA_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7149 return dissect_gsm_map_LSAIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSA_Id);
7151 static int dissect_selectedLSAIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7152 return dissect_gsm_map_LSAIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSAIdentity);
7158 dissect_gsm_map_LSAAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7159 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7164 static int dissect_lsaAttributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7165 return dissect_gsm_map_LSAAttributes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaAttributes);
7169 static const ber_sequence_t LSAData_sequence[] = {
7170 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lsaIdentity_impl },
7171 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lsaAttributes_impl },
7172 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaActiveModeIndicator_impl },
7173 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7178 dissect_gsm_map_LSAData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7179 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7180 LSAData_sequence, hf_index, ett_gsm_map_LSAData);
7184 static int dissect_LSADataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7185 return dissect_gsm_map_LSAData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_LSADataList_item);
7189 static const ber_sequence_t LSADataList_sequence_of[1] = {
7190 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_LSADataList_item },
7194 dissect_gsm_map_LSADataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7195 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7196 LSADataList_sequence_of, hf_index, ett_gsm_map_LSADataList);
7200 static int dissect_lsaDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7201 return dissect_gsm_map_LSADataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaDataList);
7205 static const ber_sequence_t LSAInformation_sequence[] = {
7206 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
7207 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaOnlyAccessIndicator_impl },
7208 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaDataList_impl },
7209 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7214 dissect_gsm_map_LSAInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7215 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7216 LSAInformation_sequence, hf_index, ett_gsm_map_LSAInformation);
7220 static int dissect_lsaInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7221 return dissect_gsm_map_LSAInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformation);
7225 static const ber_sequence_t GMLC_List_sequence_of[1] = {
7226 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_GMLC_List_item },
7230 dissect_gsm_map_GMLC_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7231 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7232 GMLC_List_sequence_of, hf_index, ett_gsm_map_GMLC_List);
7236 static int dissect_gmlc_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7237 return dissect_gsm_map_GMLC_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_List);
7241 const value_string gsm_map_NotificationToMSUser_vals[] = {
7242 { 0, "notifyLocationAllowed" },
7243 { 1, "notifyAndVerify-LocationAllowedIfNoResponse" },
7244 { 2, "notifyAndVerify-LocationNotAllowedIfNoResponse" },
7245 { 3, "locationNotAllowed" },
7251 dissect_gsm_map_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7252 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7257 static int dissect_notificationToMSUser_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7258 return dissect_gsm_map_NotificationToMSUser(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToMSUser);
7262 static const ber_sequence_t LCSClientExternalID_sequence[] = {
7263 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalAddress_impl },
7264 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7269 dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7270 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7271 LCSClientExternalID_sequence, hf_index, ett_gsm_map_LCSClientExternalID);
7275 static int dissect_clientIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7276 return dissect_gsm_map_LCSClientExternalID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_clientIdentity);
7278 static int dissect_lcsClientExternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7279 return dissect_gsm_map_LCSClientExternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientExternalID);
7283 static const value_string gsm_map_GMLC_Restriction_vals[] = {
7285 { 1, "home-Country" },
7291 dissect_gsm_map_GMLC_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7292 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7297 static int dissect_gmlc_Restriction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7298 return dissect_gsm_map_GMLC_Restriction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_Restriction);
7302 static const ber_sequence_t ExternalClient_sequence[] = {
7303 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_clientIdentity },
7304 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_Restriction_impl },
7305 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
7306 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7311 dissect_gsm_map_ExternalClient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7312 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7313 ExternalClient_sequence, hf_index, ett_gsm_map_ExternalClient);
7317 static int dissect_ExternalClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7318 return dissect_gsm_map_ExternalClient(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ExternalClientList_item);
7320 static int dissect_Ext_ExternalClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7321 return dissect_gsm_map_ExternalClient(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_ExternalClientList_item);
7325 static const ber_sequence_t ExternalClientList_sequence_of[1] = {
7326 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExternalClientList_item },
7330 dissect_gsm_map_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7331 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7332 ExternalClientList_sequence_of, hf_index, ett_gsm_map_ExternalClientList);
7336 static int dissect_externalClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7337 return dissect_gsm_map_ExternalClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalClientList);
7341 static const value_string gsm_map_LCSClientInternalID_vals[] = {
7342 { 0, "broadcastService" },
7343 { 1, "o-andM-HPLMN" },
7344 { 2, "o-andM-VPLMN" },
7345 { 3, "anonymousLocation" },
7346 { 4, "targetMSsubscribedService" },
7352 dissect_gsm_map_LCSClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7353 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7358 static int dissect_PLMNClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7359 return dissect_gsm_map_LCSClientInternalID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PLMNClientList_item);
7361 static int dissect_lcsClientInternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7362 return dissect_gsm_map_LCSClientInternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientInternalID);
7366 static const ber_sequence_t PLMNClientList_sequence_of[1] = {
7367 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_PLMNClientList_item },
7371 dissect_gsm_map_PLMNClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7372 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7373 PLMNClientList_sequence_of, hf_index, ett_gsm_map_PLMNClientList);
7377 static int dissect_plmnClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7378 return dissect_gsm_map_PLMNClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_plmnClientList);
7382 static const ber_sequence_t Ext_ExternalClientList_sequence_of[1] = {
7383 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Ext_ExternalClientList_item },
7387 dissect_gsm_map_Ext_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7388 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7389 Ext_ExternalClientList_sequence_of, hf_index, ett_gsm_map_Ext_ExternalClientList);
7393 static int dissect_ext_externalClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7394 return dissect_gsm_map_Ext_ExternalClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_externalClientList);
7400 dissect_gsm_map_LCSServiceTypeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7401 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7406 static int dissect_serviceTypeIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7407 return dissect_gsm_map_LCSServiceTypeID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceTypeIdentity);
7409 static int dissect_lcsServiceTypeID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7410 return dissect_gsm_map_LCSServiceTypeID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsServiceTypeID);
7414 static const ber_sequence_t ServiceType_sequence[] = {
7415 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceTypeIdentity },
7416 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_Restriction_impl },
7417 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
7418 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7423 dissect_gsm_map_ServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7424 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7425 ServiceType_sequence, hf_index, ett_gsm_map_ServiceType);
7429 static int dissect_ServiceTypeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7430 return dissect_gsm_map_ServiceType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ServiceTypeList_item);
7434 static const ber_sequence_t ServiceTypeList_sequence_of[1] = {
7435 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ServiceTypeList_item },
7439 dissect_gsm_map_ServiceTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7440 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7441 ServiceTypeList_sequence_of, hf_index, ett_gsm_map_ServiceTypeList);
7445 static int dissect_serviceTypeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7446 return dissect_gsm_map_ServiceTypeList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceTypeList);
7450 static const ber_sequence_t LCS_PrivacyClass_sequence[] = {
7451 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
7452 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_ss_Status },
7453 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
7454 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalClientList_impl },
7455 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_plmnClientList_impl },
7456 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7457 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_externalClientList_impl },
7458 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceTypeList_impl },
7463 dissect_gsm_map_LCS_PrivacyClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7464 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7465 LCS_PrivacyClass_sequence, hf_index, ett_gsm_map_LCS_PrivacyClass);
7469 static int dissect_LCS_PrivacyExceptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7470 return dissect_gsm_map_LCS_PrivacyClass(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_LCS_PrivacyExceptionList_item);
7474 static const ber_sequence_t LCS_PrivacyExceptionList_sequence_of[1] = {
7475 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_LCS_PrivacyExceptionList_item },
7479 dissect_gsm_map_LCS_PrivacyExceptionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7480 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7481 LCS_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_LCS_PrivacyExceptionList);
7485 static int dissect_lcs_PrivacyExceptionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7486 return dissect_gsm_map_LCS_PrivacyExceptionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyExceptionList);
7488 static int dissect_add_lcs_PrivacyExceptionList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7489 return dissect_gsm_map_LCS_PrivacyExceptionList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_add_lcs_PrivacyExceptionList);
7493 static const ber_sequence_t MOLR_Class_sequence[] = {
7494 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
7495 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_ss_Status },
7496 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7501 dissect_gsm_map_MOLR_Class(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7502 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7503 MOLR_Class_sequence, hf_index, ett_gsm_map_MOLR_Class);
7507 static int dissect_MOLR_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7508 return dissect_gsm_map_MOLR_Class(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MOLR_List_item);
7512 static const ber_sequence_t MOLR_List_sequence_of[1] = {
7513 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_MOLR_List_item },
7517 dissect_gsm_map_MOLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7518 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7519 MOLR_List_sequence_of, hf_index, ett_gsm_map_MOLR_List);
7523 static int dissect_molr_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7524 return dissect_gsm_map_MOLR_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_molr_List);
7528 static const ber_sequence_t LCSInformation_sequence[] = {
7529 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_List_impl },
7530 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_PrivacyExceptionList_impl },
7531 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_molr_List_impl },
7532 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_add_lcs_PrivacyExceptionList },
7537 dissect_gsm_map_LCSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7538 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7539 LCSInformation_sequence, hf_index, ett_gsm_map_LCSInformation);
7543 static int dissect_lcsInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7544 return dissect_gsm_map_LCSInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsInformation);
7550 dissect_gsm_map_IST_AlertTimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7551 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7556 static int dissect_istAlertTimer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7557 return dissect_gsm_map_IST_AlertTimerValue(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istAlertTimer);
7563 dissect_gsm_map_MaxMC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7564 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7569 static int dissect_nbrSB_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7570 return dissect_gsm_map_MaxMC_Bearers(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nbrSB);
7576 dissect_gsm_map_MC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7577 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7582 static int dissect_nbrUser_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7583 return dissect_gsm_map_MC_Bearers(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nbrUser);
7585 static int dissect_nbrSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7586 return dissect_gsm_map_MC_Bearers(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nbrSN);
7590 static const ber_sequence_t MC_SS_Info_sequence[] = {
7591 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7592 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
7593 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_nbrSB_impl },
7594 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
7595 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7600 dissect_gsm_map_MC_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7601 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7602 MC_SS_Info_sequence, hf_index, ett_gsm_map_MC_SS_Info);
7606 static int dissect_mc_SS_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7607 return dissect_gsm_map_MC_SS_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mc_SS_Info);
7613 dissect_gsm_map_CS_AllocationRetentionPriority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7614 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7619 static int dissect_cs_AllocationRetentionPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7620 return dissect_gsm_map_CS_AllocationRetentionPriority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cs_AllocationRetentionPriority);
7624 static const value_string gsm_map_GPRS_TriggerDetectionPoint_vals[] = {
7626 { 2, "attachChangeOfPosition" },
7627 { 11, "pdp-ContextEstablishment" },
7628 { 12, "pdp-ContextEstablishmentAcknowledgement" },
7629 { 14, "pdp-ContextChangeOfPosition" },
7635 dissect_gsm_map_GPRS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7636 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7641 static int dissect_gprs_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7642 return dissect_gsm_map_GPRS_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_TriggerDetectionPoint);
7646 static const value_string gsm_map_DefaultGPRS_Handling_vals[] = {
7647 { 0, "continueTransaction" },
7648 { 1, "releaseTransaction" },
7654 dissect_gsm_map_DefaultGPRS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7655 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7660 static int dissect_defaultSessionHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7661 return dissect_gsm_map_DefaultGPRS_Handling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSessionHandling);
7665 static const ber_sequence_t GPRS_CamelTDPData_sequence[] = {
7666 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprs_TriggerDetectionPoint_impl },
7667 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
7668 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
7669 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSessionHandling_impl },
7670 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7675 dissect_gsm_map_GPRS_CamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7677 GPRS_CamelTDPData_sequence, hf_index, ett_gsm_map_GPRS_CamelTDPData);
7681 static int dissect_GPRS_CamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7682 return dissect_gsm_map_GPRS_CamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_GPRS_CamelTDPDataList_item);
7686 static const ber_sequence_t GPRS_CamelTDPDataList_sequence_of[1] = {
7687 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_GPRS_CamelTDPDataList_item },
7691 dissect_gsm_map_GPRS_CamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7692 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7693 GPRS_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_GPRS_CamelTDPDataList);
7697 static int dissect_gprs_CamelTDPDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7698 return dissect_gsm_map_GPRS_CamelTDPDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CamelTDPDataList);
7702 static const ber_sequence_t GPRS_CSI_sequence[] = {
7703 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CamelTDPDataList_impl },
7704 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
7705 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7706 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
7707 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
7712 dissect_gsm_map_GPRS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7713 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7714 GPRS_CSI_sequence, hf_index, ett_gsm_map_GPRS_CSI);
7718 static int dissect_gprs_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7719 return dissect_gsm_map_GPRS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CSI);
7723 static const ber_sequence_t MG_CSI_sequence[] = {
7724 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
7725 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
7726 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
7727 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7728 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
7729 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
7734 dissect_gsm_map_MG_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7735 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7736 MG_CSI_sequence, hf_index, ett_gsm_map_MG_CSI);
7740 static int dissect_mg_csi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7741 return dissect_gsm_map_MG_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mg_csi);
7745 static const ber_sequence_t SGSN_CAMEL_SubscriptionInfo_sequence[] = {
7746 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CSI_impl },
7747 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
7748 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7749 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
7750 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
7751 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mg_csi_impl },
7756 dissect_gsm_map_SGSN_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7757 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7758 SGSN_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_SGSN_CAMEL_SubscriptionInfo);
7762 static int dissect_sgsn_CAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7763 return dissect_gsm_map_SGSN_CAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_CAMEL_SubscriptionInfo);
7767 static const asn_namedbit AccessRestrictionData_bits[] = {
7768 { 0, &hf_gsm_map_AccessRestrictionData_utranNotAllowed, -1, -1, "utranNotAllowed", NULL },
7769 { 1, &hf_gsm_map_AccessRestrictionData_geranNotAllowed, -1, -1, "geranNotAllowed", NULL },
7770 { 0, NULL, 0, 0, NULL, NULL }
7774 dissect_gsm_map_AccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7775 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7776 AccessRestrictionData_bits, hf_index, ett_gsm_map_AccessRestrictionData,
7781 static int dissect_accessRestrictionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7782 return dissect_gsm_map_AccessRestrictionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_accessRestrictionData);
7786 static const ber_sequence_t InsertSubscriberDataArg_sequence[] = {
7787 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7788 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7789 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_category_impl },
7790 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberStatus_impl },
7791 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerserviceList_impl },
7792 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
7793 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_provisionedSS_impl },
7794 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Data_impl },
7795 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
7796 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionData_impl },
7797 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsSubscriptionData_impl },
7798 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsSubscriptionData_impl },
7799 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlrCamelSubscriptionInfo_impl },
7800 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7801 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
7802 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSubscriptionData_impl },
7803 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl },
7804 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkAccessMode_impl },
7805 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaInformation_impl },
7806 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmu_Indicator_impl },
7807 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsInformation_impl },
7808 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istAlertTimer_impl },
7809 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_superChargerSupportedInHLR_impl },
7810 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mc_SS_Info_impl },
7811 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cs_AllocationRetentionPriority_impl },
7812 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_CAMEL_SubscriptionInfo_impl },
7813 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
7814 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessRestrictionData_impl },
7819 dissect_gsm_map_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7820 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7821 InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_InsertSubscriberDataArg);
7827 static const ber_sequence_t SS_List_sequence_of[1] = {
7828 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_SS_List_item },
7832 dissect_gsm_map_SS_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7833 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7834 SS_List_sequence_of, hf_index, ett_gsm_map_SS_List);
7838 static int dissect_ss_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7839 return dissect_gsm_map_SS_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List);
7841 static int dissect_ss_List2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7842 return dissect_gsm_map_SS_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List2);
7846 static const value_string gsm_map_RegionalSubscriptionResponse_vals[] = {
7847 { 0, "networkNodeAreaRestricted" },
7848 { 1, "tooManyZoneCodes" },
7849 { 2, "zoneCodesConflict" },
7850 { 3, "regionalSubscNotSupported" },
7856 dissect_gsm_map_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7857 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7862 static int dissect_regionalSubscriptionResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7863 return dissect_gsm_map_RegionalSubscriptionResponse(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionResponse);
7867 static const ber_sequence_t InsertSubscriberDataRes_sequence[] = {
7868 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
7869 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerServiceList_impl },
7870 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
7871 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_GeneralData_impl },
7872 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
7873 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
7874 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7875 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
7880 dissect_gsm_map_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7881 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7882 InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_InsertSubscriberDataRes);
7888 static const ber_sequence_t BasicServiceList_sequence_of[1] = {
7889 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceList_item },
7893 dissect_gsm_map_BasicServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7894 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7895 BasicServiceList_sequence_of, hf_index, ett_gsm_map_BasicServiceList);
7899 static int dissect_basicServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7900 return dissect_gsm_map_BasicServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceList);
7904 static const ber_sequence_t ContextIdList_sequence_of[1] = {
7905 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ContextIdList_item },
7909 dissect_gsm_map_ContextIdList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7910 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7911 ContextIdList_sequence_of, hf_index, ett_gsm_map_ContextIdList);
7915 static int dissect_contextIdList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7916 return dissect_gsm_map_ContextIdList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_contextIdList);
7920 static const value_string gsm_map_GPRSSubscriptionDataWithdraw_vals[] = {
7921 { 0, "allGPRSData" },
7922 { 1, "contextIdList" },
7926 static const ber_choice_t GPRSSubscriptionDataWithdraw_choice[] = {
7927 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allGPRSData },
7928 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contextIdList },
7929 { 0, 0, 0, 0, NULL }
7933 dissect_gsm_map_GPRSSubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7934 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7935 GPRSSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_GPRSSubscriptionDataWithdraw,
7940 static int dissect_gprsSubscriptionDataWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7941 return dissect_gsm_map_GPRSSubscriptionDataWithdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionDataWithdraw);
7945 static const ber_sequence_t LSAIdentityList_sequence_of[1] = {
7946 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_LSAIdentityList_item },
7950 dissect_gsm_map_LSAIdentityList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7951 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7952 LSAIdentityList_sequence_of, hf_index, ett_gsm_map_LSAIdentityList);
7956 static int dissect_lsaIdentityList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7957 return dissect_gsm_map_LSAIdentityList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentityList);
7961 static const value_string gsm_map_LSAInformationWithdraw_vals[] = {
7962 { 0, "allLSAData" },
7963 { 1, "lsaIdentityList" },
7967 static const ber_choice_t LSAInformationWithdraw_choice[] = {
7968 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allLSAData },
7969 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lsaIdentityList },
7970 { 0, 0, 0, 0, NULL }
7974 dissect_gsm_map_LSAInformationWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7975 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7976 LSAInformationWithdraw_choice, hf_index, ett_gsm_map_LSAInformationWithdraw,
7981 static int dissect_lsaInformationWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7982 return dissect_gsm_map_LSAInformationWithdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformationWithdraw);
7986 static const asn_namedbit SpecificCSI_Withdraw_bits[] = {
7987 { 0, &hf_gsm_map_SpecificCSI_Withdraw_o_csi, -1, -1, "o-csi", NULL },
7988 { 1, &hf_gsm_map_SpecificCSI_Withdraw_ss_csi, -1, -1, "ss-csi", NULL },
7989 { 2, &hf_gsm_map_SpecificCSI_Withdraw_tif_csi, -1, -1, "tif-csi", NULL },
7990 { 3, &hf_gsm_map_SpecificCSI_Withdraw_d_csi, -1, -1, "d-csi", NULL },
7991 { 4, &hf_gsm_map_SpecificCSI_Withdraw_vt_csi, -1, -1, "vt-csi", NULL },
7992 { 5, &hf_gsm_map_SpecificCSI_Withdraw_mo_sms_csi, -1, -1, "mo-sms-csi", NULL },
7993 { 6, &hf_gsm_map_SpecificCSI_Withdraw_m_csi, -1, -1, "m-csi", NULL },
7994 { 7, &hf_gsm_map_SpecificCSI_Withdraw_gprs_csi, -1, -1, "gprs-csi", NULL },
7995 { 8, &hf_gsm_map_SpecificCSI_Withdraw_t_csi, -1, -1, "t-csi", NULL },
7996 { 9, &hf_gsm_map_SpecificCSI_Withdraw_mt_sms_csi, -1, -1, "mt-sms-csi", NULL },
7997 { 10, &hf_gsm_map_SpecificCSI_Withdraw_mg_csi, -1, -1, "mg-csi", NULL },
7998 { 11, &hf_gsm_map_SpecificCSI_Withdraw_o_IM_CSI, -1, -1, "o-IM-CSI", NULL },
7999 { 12, &hf_gsm_map_SpecificCSI_Withdraw_d_IM_CSI, -1, -1, "d-IM-CSI", NULL },
8000 { 13, &hf_gsm_map_SpecificCSI_Withdraw_vt_IM_CSI, -1, -1, "vt-IM-CSI", NULL },
8001 { 0, NULL, 0, 0, NULL, NULL }
8005 dissect_gsm_map_SpecificCSI_Withdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8006 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8007 SpecificCSI_Withdraw_bits, hf_index, ett_gsm_map_SpecificCSI_Withdraw,
8012 static int dissect_specificCSI_Withdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8013 return dissect_gsm_map_SpecificCSI_Withdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_specificCSI_Withdraw);
8015 static int dissect_specificCSIDeletedList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8016 return dissect_gsm_map_SpecificCSI_Withdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_specificCSIDeletedList);
8020 static const ber_sequence_t DeleteSubscriberDataArg_sequence[] = {
8021 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8022 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceList_impl },
8023 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
8024 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
8025 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionIdentifier_impl },
8026 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsGroupIndication_impl },
8027 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsGroupIndication_impl },
8028 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelSubscriptionInfoWithdraw_impl },
8029 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8030 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprsSubscriptionDataWithdraw_impl },
8031 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl },
8032 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_lsaInformationWithdraw_impl },
8033 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_ListWithdraw_impl },
8034 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_istInformationWithdraw },
8035 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificCSI_Withdraw_impl },
8036 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristicsWithdraw_impl },
8041 dissect_gsm_map_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8042 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8043 DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataArg);
8049 static const ber_sequence_t DeleteSubscriberDataRes_sequence[] = {
8050 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
8051 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8056 dissect_gsm_map_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8057 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8058 DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataRes);
8066 dissect_gsm_map_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8067 #line 268 "gsmmap.cnf"
8069 tvbuff_t *parameter_tvb;
8072 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8079 octet = tvb_get_guint8(parameter_tvb,0);
8081 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
8082 if ((octet & 0x01)== 1)
8083 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
8085 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
8086 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
8087 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
8094 static int dissect_ss_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8095 return dissect_gsm_map_SS_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
8097 static int dissect_ss_Status_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8098 return dissect_gsm_map_SS_Status(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
8104 dissect_gsm_map_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8105 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8110 static int dissect_bearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8111 return dissect_gsm_map_BearerServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerService);
8117 dissect_gsm_map_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8118 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8123 static int dissect_teleservice_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8124 return dissect_gsm_map_TeleserviceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice_code);
8128 static const value_string gsm_map_BasicServiceCode_vals[] = {
8129 { 2, "bearerService" },
8130 { 3, "teleservice" },
8134 static const ber_choice_t BasicServiceCode_choice[] = {
8135 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_bearerService_impl },
8136 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_teleservice_code_impl },
8137 { 0, 0, 0, 0, NULL }
8141 dissect_gsm_map_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8142 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8143 BasicServiceCode_choice, hf_index, ett_gsm_map_BasicServiceCode,
8148 static int dissect_basicService(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8149 return dissect_gsm_map_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService);
8151 static int dissect_basicServiceGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8152 return dissect_gsm_map_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroup);
8156 static const ber_sequence_t CallBarringFeature_sequence[] = {
8157 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
8158 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
8163 dissect_gsm_map_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8164 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8165 CallBarringFeature_sequence, hf_index, ett_gsm_map_CallBarringFeature);
8169 static int dissect_CallBarringFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8170 return dissect_gsm_map_CallBarringFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CallBarringFeatureList_item);
8174 static const ber_sequence_t CallBarringFeatureList_sequence_of[1] = {
8175 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallBarringFeatureList_item },
8179 dissect_gsm_map_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8180 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8181 CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_CallBarringFeatureList);
8185 static int dissect_callBarringFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8186 return dissect_gsm_map_CallBarringFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringFeatureList);
8192 dissect_gsm_map_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8193 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8196 #line 415 "gsmmap.cnf"
8198 proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
8199 proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
8200 proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE);
8201 proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE);
8205 static int dissect_forwardingOptions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8206 return dissect_gsm_map_ForwardingOptions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingOptions);
8212 dissect_gsm_map_NoReplyConditionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8213 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8218 static int dissect_noReplyConditionTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8219 return dissect_gsm_map_NoReplyConditionTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noReplyConditionTime);
8223 static const ber_sequence_t ForwardingFeature_sequence[] = {
8224 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
8225 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
8226 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
8227 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
8228 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
8229 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
8230 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
8235 dissect_gsm_map_ForwardingFeature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8236 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8237 ForwardingFeature_sequence, hf_index, ett_gsm_map_ForwardingFeature);
8241 static int dissect_ForwardingFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8242 return dissect_gsm_map_ForwardingFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ForwardingFeatureList_item);
8246 static const ber_sequence_t ForwardingFeatureList_sequence_of[1] = {
8247 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ForwardingFeatureList_item },
8251 dissect_gsm_map_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8252 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8253 ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_ForwardingFeatureList);
8257 static int dissect_forwardingFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8258 return dissect_gsm_map_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList);
8260 static int dissect_forwardingFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8261 return dissect_gsm_map_ForwardingFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList);
8267 dissect_gsm_map_LongForwardedToNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8268 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8275 static const ber_sequence_t ForwardingInfo_sequence[] = {
8276 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
8277 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList },
8282 dissect_gsm_map_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8283 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8284 ForwardingInfo_sequence, hf_index, ett_gsm_map_ForwardingInfo);
8288 static int dissect_forwardingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8289 return dissect_gsm_map_ForwardingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInfo);
8293 static const ber_sequence_t CallBarringInfo_sequence[] = {
8294 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
8295 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_callBarringFeatureList },
8300 dissect_gsm_map_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8301 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8302 CallBarringInfo_sequence, hf_index, ett_gsm_map_CallBarringInfo);
8306 static int dissect_callBarringInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8307 return dissect_gsm_map_CallBarringInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringInfo);
8313 dissect_gsm_map_HLR_Id(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8314 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, pinfo, tree, hf_index);
8318 static int dissect_HLR_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8319 return dissect_gsm_map_HLR_Id(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_HLR_List_item);
8323 static const ber_sequence_t HLR_List_sequence_of[1] = {
8324 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_HLR_List_item },
8328 dissect_gsm_map_HLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8329 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8330 HLR_List_sequence_of, hf_index, ett_gsm_map_HLR_List);
8334 static int dissect_hlr_List(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8335 return dissect_gsm_map_HLR_List(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_List);
8339 static const ber_sequence_t ResetArg_sequence[] = {
8340 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
8341 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_hlr_List },
8346 dissect_gsm_map_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8347 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8348 ResetArg_sequence, hf_index, ett_gsm_map_ResetArg);
8356 dissect_gsm_map_Hlr_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8357 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8364 static const ber_sequence_t RestoreDataArg_sequence[] = {
8365 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
8366 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
8367 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8368 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
8373 dissect_gsm_map_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8374 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8375 RestoreDataArg_sequence, hf_index, ett_gsm_map_RestoreDataArg);
8381 static const ber_sequence_t RestoreDataRes_sequence[] = {
8382 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
8383 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msNotReachable },
8384 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8389 dissect_gsm_map_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8390 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8391 RestoreDataRes_sequence, hf_index, ett_gsm_map_RestoreDataRes);
8399 dissect_gsm_map_OCTET_STRING_SIZE_1_2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8400 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8405 static int dissect_traceReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8406 return dissect_gsm_map_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceReference);
8412 dissect_gsm_map_INTEGER_0_255(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8413 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8418 static int dissect_traceType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8419 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceType);
8425 dissect_gsm_map_OCTET_STRING_SIZE_1_20(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8426 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8431 static int dissect_omc_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8432 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_omc_Id);
8434 static int dissect_ss_EventSpecification_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8435 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification_item);
8439 static const ber_sequence_t ActivateTraceModeArg_sequence[] = {
8440 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8441 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
8442 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_traceType_impl },
8443 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_omc_Id_impl },
8444 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8449 dissect_gsm_map_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8450 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8451 ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_ActivateTraceModeArg);
8457 static const ber_sequence_t ActivateTraceModeRes_sequence[] = {
8458 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8463 dissect_gsm_map_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8464 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8465 ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_ActivateTraceModeRes);
8471 static const ber_sequence_t DeactivateTraceModeArg_sequence[] = {
8472 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8473 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
8474 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8479 dissect_gsm_map_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8480 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8481 DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_DeactivateTraceModeArg);
8487 static const ber_sequence_t DeactivateTraceModeRes_sequence[] = {
8488 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8493 dissect_gsm_map_DeactivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8494 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8495 DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_DeactivateTraceModeRes);
8501 static const ber_sequence_t CUG_CheckInfo_sequence[] = {
8502 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
8503 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_OutgoingAccess },
8504 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8509 dissect_gsm_map_CUG_CheckInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8510 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8511 CUG_CheckInfo_sequence, hf_index, ett_gsm_map_CUG_CheckInfo);
8515 static int dissect_cug_CheckInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8516 return dissect_gsm_map_CUG_CheckInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_CheckInfo);
8522 dissect_gsm_map_NumberOfForwarding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8523 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8528 static int dissect_numberOfForwarding_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8529 return dissect_gsm_map_NumberOfForwarding(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfForwarding);
8533 static const value_string gsm_map_InterrogationType_vals[] = {
8535 { 1, "forwarding" },
8541 dissect_gsm_map_InterrogationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8542 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8547 static int dissect_interrogationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8548 return dissect_gsm_map_InterrogationType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_interrogationType);
8554 dissect_gsm_map_OR_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8555 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8560 static int dissect_or_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8561 return dissect_gsm_map_OR_Phase(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Capability);
8567 dissect_gsm_map_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8568 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8573 static int dissect_callReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8574 return dissect_gsm_map_CallReferenceNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReferenceNumber);
8578 static const value_string gsm_map_ForwardingReason_vals[] = {
8579 { 0, "notReachable" },
8587 dissect_gsm_map_ForwardingReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8588 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8593 static int dissect_forwardingReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8594 return dissect_gsm_map_ForwardingReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingReason);
8598 static const ber_sequence_t ExternalSignalInfo_sequence[] = {
8599 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_protocolId },
8600 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
8601 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8606 dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8607 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8608 ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo);
8612 static int dissect_networkSignalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8613 return dissect_gsm_map_ExternalSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo);
8615 static int dissect_networkSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8616 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo);
8618 static int dissect_networkSignalInfo2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8619 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo2);
8621 static int dissect_gsm_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8622 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsm_BearerCapability);
8624 static int dissect_isdn_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8625 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_isdn_BearerCapability);
8627 static int dissect_chosenChannel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8628 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannel);
8630 static int dissect_lowerLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8631 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lowerLayerCompatibility);
8633 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8634 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_highLayerCompatibility);
8636 static int dissect_channelType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8637 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_channelType);
8639 static int dissect_callInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8640 return dissect_gsm_map_ExternalSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callInfo);
8642 static int dissect_callInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8643 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callInfo);
8647 static const ber_sequence_t CamelInfo_sequence[] = {
8648 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_supportedCamelPhases },
8649 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_suppress_T_CSI },
8650 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8651 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
8656 dissect_gsm_map_CamelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8657 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8658 CamelInfo_sequence, hf_index, ett_gsm_map_CamelInfo);
8662 static int dissect_camelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8663 return dissect_gsm_map_CamelInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelInfo);
8669 dissect_gsm_map_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8670 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
8674 static int dissect_suppressionOfAnnouncement_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8675 return dissect_gsm_map_SuppressionOfAnnouncement(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_suppressionOfAnnouncement);
8681 dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8682 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8687 static int dissect_alertingPattern(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8688 return dissect_gsm_map_AlertingPattern(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
8690 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8691 return dissect_gsm_map_AlertingPattern(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
8697 dissect_gsm_map_SupportedCCBS_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8698 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8703 static int dissect_supportedCCBS_Phase_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8704 return dissect_gsm_map_SupportedCCBS_Phase(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCCBS_Phase);
8708 static const value_string gsm_map_Ext_ProtocolId_vals[] = {
8709 { 1, "ets-300356" },
8715 dissect_gsm_map_Ext_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8716 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8721 static int dissect_ext_ProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8722 return dissect_gsm_map_Ext_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ProtocolId);
8726 static const ber_sequence_t Ext_ExternalSignalInfo_sequence[] = {
8727 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ext_ProtocolId },
8728 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
8729 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8734 dissect_gsm_map_Ext_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8735 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8736 Ext_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_Ext_ExternalSignalInfo);
8740 static int dissect_additionalSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8741 return dissect_gsm_map_Ext_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSignalInfo);
8747 dissect_gsm_map_CallDiversionTreatmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8748 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8753 static int dissect_callDiversionTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8754 return dissect_gsm_map_CallDiversionTreatmentIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callDiversionTreatmentIndicator);
8758 static const ber_sequence_t SendRoutingInfoArg_sequence[] = {
8759 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
8760 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
8761 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfForwarding_impl },
8762 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_interrogationType_impl },
8763 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
8764 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Capability_impl },
8765 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gmsc_OrGsmSCF_Address_impl },
8766 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
8767 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingReason_impl },
8768 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicServiceGroup_impl },
8769 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
8770 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelInfo_impl },
8771 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
8772 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8773 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
8774 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
8775 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCCBS_Phase_impl },
8776 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
8777 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istSupportIndicator_impl },
8778 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pre_pagingSupported_impl },
8779 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callDiversionTreatmentIndicator_impl },
8780 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
8781 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_suppress_VT_CSI },
8782 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_suppressIncomingCallBarring },
8783 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_gsmSCF_InitiatedCall },
8784 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup2_impl },
8785 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo2_impl },
8790 dissect_gsm_map_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8791 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8792 SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoArg);
8798 static const ber_sequence_t ForwardingData_sequence[] = {
8799 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
8800 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
8801 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
8802 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8803 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
8808 dissect_gsm_map_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8809 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8810 ForwardingData_sequence, hf_index, ett_gsm_map_ForwardingData);
8814 static int dissect_forwardingData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8815 return dissect_gsm_map_ForwardingData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
8817 static int dissect_forwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8818 return dissect_gsm_map_ForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
8822 static const value_string gsm_map_RoutingInfo_vals[] = {
8823 { 0, "roamingNumber" },
8824 { 1, "forwardingData" },
8828 static const ber_choice_t RoutingInfo_choice[] = {
8829 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
8830 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingData },
8831 { 0, 0, 0, 0, NULL }
8835 dissect_gsm_map_RoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8836 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8837 RoutingInfo_choice, hf_index, ett_gsm_map_RoutingInfo,
8842 static int dissect_routingInfo2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8843 return dissect_gsm_map_RoutingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routingInfo2);
8845 static int dissect_routingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8846 return dissect_gsm_map_RoutingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_routingInfo);
8850 static const ber_sequence_t GmscCamelSubscriptionInfo_sequence[] = {
8851 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
8852 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
8853 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8854 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
8855 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
8856 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_csi_impl },
8861 dissect_gsm_map_GmscCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8862 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8863 GmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_GmscCamelSubscriptionInfo);
8867 static int dissect_gmscCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8868 return dissect_gsm_map_GmscCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmscCamelSubscriptionInfo);
8872 static const ber_sequence_t CamelRoutingInfo_sequence[] = {
8873 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_forwardingData },
8874 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gmscCamelSubscriptionInfo_impl },
8875 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8880 dissect_gsm_map_CamelRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8881 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8882 CamelRoutingInfo_sequence, hf_index, ett_gsm_map_CamelRoutingInfo);
8886 static int dissect_camelRoutingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8887 return dissect_gsm_map_CamelRoutingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelRoutingInfo);
8891 static const value_string gsm_map_ExtendedRoutingInfo_vals[] = {
8892 { 0, "routingInfo" },
8893 { 1, "camelRoutingInfo" },
8897 static const ber_choice_t ExtendedRoutingInfo_choice[] = {
8898 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_routingInfo },
8899 { 1, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_camelRoutingInfo_impl },
8900 { 0, 0, 0, 0, NULL }
8904 dissect_gsm_map_ExtendedRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8905 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8906 ExtendedRoutingInfo_choice, hf_index, ett_gsm_map_ExtendedRoutingInfo,
8911 static int dissect_extendedRoutingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8912 return dissect_gsm_map_ExtendedRoutingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extendedRoutingInfo);
8918 dissect_gsm_map_AgeOfLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8919 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8924 static int dissect_ageOfLocationInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8925 return dissect_gsm_map_AgeOfLocationInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationInformation);
8927 static int dissect_ageOfLocationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8928 return dissect_gsm_map_AgeOfLocationInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationEstimate);
8934 dissect_gsm_map_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8935 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8940 static int dissect_geographicalInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8941 return dissect_gsm_map_GeographicalInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_geographicalInformation);
8943 static int dissect_geographicalInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8944 return dissect_gsm_map_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geographicalInformation);
8950 dissect_gsm_map_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8951 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8956 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8957 return dissect_gsm_map_LocationNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationNumber);
8963 dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8964 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8969 static int dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8970 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength);
8974 static const value_string gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals[] = {
8975 { 0, "cellGlobalIdOrServiceAreaIdFixedLength" },
8976 { 1, "laiFixedLength" },
8980 static const ber_choice_t CellGlobalIdOrServiceAreaIdOrLAI_choice[] = {
8981 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl },
8982 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
8983 { 0, 0, 0, 0, NULL }
8987 dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8988 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8989 CellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
8994 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8995 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI);
8997 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8998 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI);
9000 static int dissect_cellIdOrSai_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9001 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellIdOrSai);
9007 dissect_gsm_map_GeodeticInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9008 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9013 static int dissect_geodeticInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9014 return dissect_gsm_map_GeodeticInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_geodeticInformation);
9016 static int dissect_geodeticInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9017 return dissect_gsm_map_GeodeticInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geodeticInformation);
9021 static const ber_sequence_t LocationInformation_sequence[] = {
9022 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ageOfLocationInformation },
9023 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
9024 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_number_impl },
9025 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
9026 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cellGlobalIdOrServiceAreaIdOrLAI_impl },
9027 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9028 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSA_Id_impl },
9029 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
9030 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geodeticInformation_impl },
9031 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocationRetrieved_impl },
9032 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
9037 dissect_gsm_map_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9038 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9039 LocationInformation_sequence, hf_index, ett_gsm_map_LocationInformation);
9043 static int dissect_locationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9044 return dissect_gsm_map_LocationInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformation);
9048 const value_string gsm_map_SubscriberState_vals[] = {
9049 { 0, "assumedIdle" },
9051 { 2, "notProvidedFromVLR" },
9055 static const ber_choice_t SubscriberState_choice[] = {
9056 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assumedIdle_impl },
9057 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_camelBusy_impl },
9058 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_notProvidedFromVLR_impl },
9059 { 0, 0, 0, 0, NULL }
9063 dissect_gsm_map_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9064 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9065 SubscriberState_choice, hf_index, ett_gsm_map_SubscriberState,
9070 static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9071 return dissect_gsm_map_SubscriberState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberState);
9077 dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9078 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9083 static int dissect_routeingAreaIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9084 return dissect_gsm_map_RAIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_routeingAreaIdentity);
9088 static const ber_sequence_t LocationInformationGPRS_sequence[] = {
9089 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_cellGlobalIdOrServiceAreaIdOrLAI },
9090 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_routeingAreaIdentity },
9091 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_geographicalInformation },
9092 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_sgsn_Number },
9093 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_selectedLSAIdentity },
9094 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
9095 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_sai_Present },
9096 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_geodeticInformation },
9097 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_currentLocationRetrieved },
9098 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_ageOfLocationInformation },
9103 dissect_gsm_map_LocationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9104 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9105 LocationInformationGPRS_sequence, hf_index, ett_gsm_map_LocationInformationGPRS);
9109 static int dissect_locationInformationGPRS(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9110 return dissect_gsm_map_LocationInformationGPRS(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationGPRS);
9112 static int dissect_locationInformationGPRS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9113 return dissect_gsm_map_LocationInformationGPRS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationGPRS);
9119 dissect_gsm_map_NSAPI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9120 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9125 static int dissect_nsapi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9126 return dissect_gsm_map_NSAPI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nsapi);
9132 dissect_gsm_map_TransactionId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9133 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9138 static int dissect_transactionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9139 return dissect_gsm_map_TransactionId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_transactionId);
9145 dissect_gsm_map_TEID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9146 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9151 static int dissect_teid_ForGnAndGp_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9152 return dissect_gsm_map_TEID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForGnAndGp);
9154 static int dissect_teid_ForIu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9155 return dissect_gsm_map_TEID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForIu);
9161 dissect_gsm_map_GPRSChargingID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9162 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9167 static int dissect_chargingId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9168 return dissect_gsm_map_GPRSChargingID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingId);
9172 static const ber_sequence_t PDP_ContextInfo_sequence[] = {
9173 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pdp_ContextIdentifier_impl },
9174 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ContextActive_impl },
9175 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
9176 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
9177 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_Subscribed_impl },
9178 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_InUse_impl },
9179 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nsapi_impl },
9180 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_transactionId_impl },
9181 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForGnAndGp_impl },
9182 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForIu_impl },
9183 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9184 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_qos_Subscribed_impl },
9185 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Requested_impl },
9186 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Negotiated_impl },
9187 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingId_impl },
9188 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
9189 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rnc_Address_impl },
9190 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9191 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Subscribed_impl },
9192 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Requested_impl },
9193 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Negotiated_impl },
9198 dissect_gsm_map_PDP_ContextInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9199 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9200 PDP_ContextInfo_sequence, hf_index, ett_gsm_map_PDP_ContextInfo);
9204 static int dissect_PDP_ContextInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9205 return dissect_gsm_map_PDP_ContextInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PDP_ContextInfoList_item);
9209 static const ber_sequence_t PDP_ContextInfoList_sequence_of[1] = {
9210 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PDP_ContextInfoList_item },
9214 dissect_gsm_map_PDP_ContextInfoList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9215 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
9216 PDP_ContextInfoList_sequence_of, hf_index, ett_gsm_map_PDP_ContextInfoList);
9220 static int dissect_ps_PDP_ActiveNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9221 return dissect_gsm_map_PDP_ContextInfoList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveNotReachableForPaging);
9223 static int dissect_ps_PDP_ActiveReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9224 return dissect_gsm_map_PDP_ContextInfoList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveReachableForPaging);
9228 static const value_string gsm_map_NotReachableReason_vals[] = {
9230 { 1, "imsiDetached" },
9231 { 2, "restrictedArea" },
9232 { 3, "notRegistered" },
9238 dissect_gsm_map_NotReachableReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9239 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9244 static int dissect_netDetNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9245 return dissect_gsm_map_NotReachableReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_netDetNotReachable);
9249 static const value_string gsm_map_PS_SubscriberState_vals[] = {
9250 { 0, "notProvidedFromSGSN" },
9251 { 1, "ps-Detached" },
9252 { 2, "ps-AttachedNotReachableForPaging" },
9253 { 3, "ps-AttachedReachableForPaging" },
9254 { 4, "ps-PDP-ActiveNotReachableForPaging" },
9255 { 5, "ps-PDP-ActiveReachableForPaging" },
9256 { 6, "netDetNotReachable" },
9260 static const ber_choice_t PS_SubscriberState_choice[] = {
9261 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_notProvidedFromSGSN_impl },
9262 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ps_Detached_impl },
9263 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ps_AttachedNotReachableForPaging_impl },
9264 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ps_AttachedReachableForPaging_impl },
9265 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveNotReachableForPaging_impl },
9266 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveReachableForPaging_impl },
9267 { 6, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_netDetNotReachable },
9268 { 0, 0, 0, 0, NULL }
9272 dissect_gsm_map_PS_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9273 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9274 PS_SubscriberState_choice, hf_index, ett_gsm_map_PS_SubscriberState,
9279 static int dissect_ps_SubscriberState_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9280 return dissect_gsm_map_PS_SubscriberState(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_SubscriberState);
9286 dissect_gsm_map_MS_Classmark2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9287 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9292 static int dissect_ms_Classmark2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9293 return dissect_gsm_map_MS_Classmark2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_Classmark2);
9299 dissect_gsm_map_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9300 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9305 static int dissect_mSNetworkCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9306 return dissect_gsm_map_MSNetworkCapability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSNetworkCapability);
9312 dissect_gsm_map_MSRadioAccessCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9313 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9318 static int dissect_mSRadioAccessCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9319 return dissect_gsm_map_MSRadioAccessCapability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSRadioAccessCapability);
9323 static const ber_sequence_t GPRSMSClass_sequence[] = {
9324 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mSNetworkCapability_impl },
9325 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mSRadioAccessCapability_impl },
9330 dissect_gsm_map_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9331 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9332 GPRSMSClass_sequence, hf_index, ett_gsm_map_GPRSMSClass);
9336 static int dissect_gprs_MS_Class_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9337 return dissect_gsm_map_GPRSMSClass(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_MS_Class);
9343 dissect_gsm_map_RouteingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9344 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
9348 static int dissect_routeingNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9349 return dissect_gsm_map_RouteingNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routeingNumber);
9353 static const value_string gsm_map_NumberPortabilityStatus_vals[] = {
9354 { 0, "notKnownToBePorted" },
9355 { 1, "ownNumberPortedOut" },
9356 { 2, "foreignNumberPortedToForeignNetwork" },
9357 { 4, "ownNumberNotPortedOut" },
9358 { 5, "foreignNumberPortedIn" },
9364 dissect_gsm_map_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9365 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9370 static int dissect_numberPortabilityStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9371 return dissect_gsm_map_NumberPortabilityStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberPortabilityStatus);
9375 static const ber_sequence_t MNPInfoRes_sequence[] = {
9376 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingNumber_impl },
9377 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9378 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9379 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
9380 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9385 dissect_gsm_map_MNPInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9386 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9387 MNPInfoRes_sequence, hf_index, ett_gsm_map_MNPInfoRes);
9391 static int dissect_mnpInfoRes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9392 return dissect_gsm_map_MNPInfoRes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpInfoRes);
9396 static const ber_sequence_t SubscriberInfo_sequence[] = {
9397 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
9398 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_subscriberState },
9399 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9400 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
9401 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ps_SubscriberState_impl },
9402 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
9403 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_Classmark2_impl },
9404 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_MS_Class_impl },
9405 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mnpInfoRes_impl },
9410 dissect_gsm_map_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9411 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9412 SubscriberInfo_sequence, hf_index, ett_gsm_map_SubscriberInfo);
9416 static int dissect_subscriberInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9417 return dissect_gsm_map_SubscriberInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
9419 static int dissect_subscriberInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9420 return dissect_gsm_map_SubscriberInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
9424 static const ber_sequence_t CCBS_Indicators_sequence[] = {
9425 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
9426 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_keepCCBS_CallIndicator_impl },
9427 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9432 dissect_gsm_map_CCBS_Indicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9433 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9434 CCBS_Indicators_sequence, hf_index, ett_gsm_map_CCBS_Indicators);
9438 static int dissect_ccbs_Indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9439 return dissect_gsm_map_CCBS_Indicators(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Indicators);
9443 static const asn_namedbit AllowedServices_bits[] = {
9444 { 0, &hf_gsm_map_AllowedServices_firstServiceAllowed, -1, -1, "firstServiceAllowed", NULL },
9445 { 1, &hf_gsm_map_AllowedServices_secondServiceAllowed, -1, -1, "secondServiceAllowed", NULL },
9446 { 0, NULL, 0, 0, NULL, NULL }
9450 dissect_gsm_map_AllowedServices(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9451 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
9452 AllowedServices_bits, hf_index, ett_gsm_map_AllowedServices,
9457 static int dissect_allowedServices_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9458 return dissect_gsm_map_AllowedServices(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedServices);
9462 static const value_string gsm_map_UnavailabilityCause_vals[] = {
9463 { 1, "bearerServiceNotProvisioned" },
9464 { 2, "teleserviceNotProvisioned" },
9465 { 3, "absentSubscriber" },
9466 { 4, "busySubscriber" },
9467 { 5, "callBarred" },
9468 { 6, "cug-Reject" },
9474 dissect_gsm_map_UnavailabilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9475 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9480 static int dissect_unavailabilityCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9481 return dissect_gsm_map_UnavailabilityCause(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unavailabilityCause);
9485 static const ber_sequence_t SendRoutingInfoRes_sequence[] = {
9486 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9487 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extendedRoutingInfo },
9488 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
9489 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cugSubscriptionFlag_impl },
9490 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberInfo_impl },
9491 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
9492 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService_impl },
9493 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingInterrogationRequired_impl },
9494 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vmsc_Address_impl },
9495 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9496 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
9497 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Indicators_impl },
9498 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9499 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
9500 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istAlertTimer_impl },
9501 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhasesInVMSC_impl },
9502 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInVMSC_impl },
9503 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_routingInfo2_impl },
9504 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List2_impl },
9505 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService2_impl },
9506 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedServices_impl },
9507 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unavailabilityCause_impl },
9508 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseResourcesSupported_impl },
9513 dissect_gsm_map_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9514 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9515 SendRoutingInfoRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoRes);
9521 static const value_string gsm_map_SubscriberId_vals[] = {
9527 static const ber_choice_t SubscriberId_choice[] = {
9528 { 0, BER_CLASS_CON, 0, 0, dissect_imsi },
9529 { 1, BER_CLASS_CON, 1, 0, dissect_tmsi },
9530 { 0, 0, 0, 0, NULL }
9534 dissect_gsm_map_SubscriberId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9535 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9536 SubscriberId_choice, hf_index, ett_gsm_map_SubscriberId,
9543 static const value_string gsm_map_SubscriberIdentity_vals[] = {
9549 static const ber_choice_t SubscriberIdentity_choice[] = {
9550 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9551 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9552 { 0, 0, 0, 0, NULL }
9556 dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9557 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9558 SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity,
9563 static int dissect_subscriberIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9564 return dissect_gsm_map_SubscriberIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberIdentity);
9566 static int dissect_subscriberIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9567 return dissect_gsm_map_SubscriberIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberIdentity);
9569 static int dissect_targetMS(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9570 return dissect_gsm_map_SubscriberIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMS);
9572 static int dissect_targetMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9573 return dissect_gsm_map_SubscriberIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetMS);
9577 static const value_string gsm_map_NetDetNotReachable_vals[] = {
9579 { 1, "imsiDetached" },
9580 { 2, "restrictedArea" },
9581 { 3, "notRegistered" },
9587 dissect_gsm_map_NetDetNotReachable(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9588 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9597 dissect_gsm_map_RoamingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9598 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9607 dissect_gsm_map_Qos_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9608 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9617 dissect_gsm_map_ExtSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9618 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9627 dissect_gsm_map_Gmsc_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9628 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9635 static const ber_sequence_t ProvideRoamingNumberArg_sequence[] = {
9636 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9637 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
9638 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9639 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
9640 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
9641 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
9642 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
9643 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmsc_Address_impl },
9644 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
9645 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
9646 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9647 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
9648 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
9649 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhasesInInterrogatingNode_impl },
9650 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
9651 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_orNotSupportedInGMSC_impl },
9652 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pre_pagingSupported_impl },
9653 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
9654 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppress_VT_CSI_impl },
9655 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInInterrogatingNode_impl },
9660 dissect_gsm_map_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9661 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9662 ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberArg);
9668 static const ber_sequence_t ProvideRoamingNumberRes_sequence[] = {
9669 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
9670 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9671 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_releaseResourcesSupported },
9676 dissect_gsm_map_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9677 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9678 ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberRes);
9686 dissect_gsm_map_UUIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9687 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9692 static int dissect_uuIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9693 return dissect_gsm_map_UUIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uuIndicator);
9699 dissect_gsm_map_UUI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9700 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9705 static int dissect_uui_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9706 return dissect_gsm_map_UUI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uui);
9710 static const ber_sequence_t UU_Data_sequence[] = {
9711 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uuIndicator_impl },
9712 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uui_impl },
9713 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uusCFInteraction_impl },
9714 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9719 dissect_gsm_map_UU_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9720 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9721 UU_Data_sequence, hf_index, ett_gsm_map_UU_Data);
9725 static int dissect_uu_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9726 return dissect_gsm_map_UU_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uu_Data);
9730 static const ber_sequence_t ResumeCallHandlingArg_sequence[] = {
9731 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
9732 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ext_basicServiceGroup },
9733 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingData_impl },
9734 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9735 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
9736 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
9737 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9738 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
9739 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9740 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uu_Data_impl },
9741 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allInformationSent_impl },
9742 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_csi_impl },
9743 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDPCriteriaList_impl },
9744 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup2_impl },
9749 dissect_gsm_map_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9750 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9751 ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ResumeCallHandlingArg);
9757 static const ber_sequence_t ResumeCallHandlingRes_sequence[] = {
9758 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9763 dissect_gsm_map_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9764 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9765 ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ResumeCallHandlingRes);
9773 dissect_gsm_map_CallDirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9774 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9779 static int dissect_call_Direction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9780 return dissect_gsm_map_CallDirection(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_call_Direction);
9784 static const ber_sequence_t ProvideSIWFSNumberArg_sequence[] = {
9785 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
9786 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_isdn_BearerCapability_impl },
9787 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_call_Direction_impl },
9788 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_b_Subscriber_Address_impl },
9789 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
9790 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lowerLayerCompatibility_impl },
9791 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
9792 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9797 dissect_gsm_map_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9798 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9799 ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberArg);
9805 static const ber_sequence_t ProvideSIWFSNumberRes_sequence[] = {
9806 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sIWFSNumber_impl },
9807 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9812 dissect_gsm_map_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9813 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9814 ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberRes);
9820 static const ber_sequence_t SIWFSSignallingModifyArg_sequence[] = {
9821 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_channelType_impl },
9822 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
9823 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9828 dissect_gsm_map_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9829 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9830 SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyArg);
9836 static const ber_sequence_t SIWFSSignallingModifyRes_sequence[] = {
9837 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_channelType_impl },
9838 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9843 dissect_gsm_map_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9844 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9845 SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyRes);
9851 static const value_string gsm_map_Ccbs_Monitoring_vals[] = {
9852 { 0, "stopMonitoring" },
9853 { 1, "startMonitoring" },
9859 dissect_gsm_map_Ccbs_Monitoring(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9860 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9867 static const value_string gsm_map_ReportingState_vals[] = {
9868 { 0, "stopMonitoring" },
9869 { 1, "startMonitoring" },
9875 dissect_gsm_map_ReportingState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9876 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9881 static int dissect_ccbs_Monitoring(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9882 return dissect_gsm_map_ReportingState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Monitoring);
9886 static const ber_sequence_t SetReportingStateArg_sequence[] = {
9887 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_imsi },
9888 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_lmsi },
9889 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_ccbs_Monitoring },
9890 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
9895 dissect_gsm_map_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9896 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9897 SetReportingStateArg_sequence, hf_index, ett_gsm_map_SetReportingStateArg);
9903 static const value_string gsm_map_CCBS_SubscriberStatus_vals[] = {
9904 { 0, "ccbsNotIdle" },
9906 { 2, "ccbsNotReachable" },
9912 dissect_gsm_map_CCBS_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9913 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9918 static int dissect_ccbs_SubscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9919 return dissect_gsm_map_CCBS_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_SubscriberStatus);
9923 static const ber_sequence_t SetReportingStateRes_sequence[] = {
9924 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
9925 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9930 dissect_gsm_map_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9931 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9932 SetReportingStateRes_sequence, hf_index, ett_gsm_map_SetReportingStateRes);
9938 static const ber_sequence_t EventReportData_sequence[] = {
9939 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
9940 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9945 dissect_gsm_map_EventReportData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9946 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9947 EventReportData_sequence, hf_index, ett_gsm_map_EventReportData);
9951 static int dissect_eventReportData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9952 return dissect_gsm_map_EventReportData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_eventReportData);
9956 static const value_string gsm_map_MonitoringMode_vals[] = {
9964 dissect_gsm_map_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9965 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9970 static int dissect_monitoringMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9971 return dissect_gsm_map_MonitoringMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_monitoringMode);
9975 static const value_string gsm_map_CallOutcome_vals[] = {
9984 dissect_gsm_map_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9985 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9990 static int dissect_callOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9991 return dissect_gsm_map_CallOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callOutcome);
9995 static const ber_sequence_t CallReportData_sequence[] = {
9996 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitoringMode_impl },
9997 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callOutcome_impl },
9998 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10003 dissect_gsm_map_CallReportData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10004 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10005 CallReportData_sequence, hf_index, ett_gsm_map_CallReportData);
10009 static int dissect_callReportdata_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10010 return dissect_gsm_map_CallReportData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReportdata);
10014 static const ber_sequence_t StatusReportArg_sequence[] = {
10015 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10016 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventReportData_impl },
10017 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReportdata_impl },
10018 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10023 dissect_gsm_map_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10024 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10025 StatusReportArg_sequence, hf_index, ett_gsm_map_StatusReportArg);
10031 static const ber_sequence_t StatusReportRes_sequence[] = {
10032 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10037 dissect_gsm_map_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10038 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10039 StatusReportRes_sequence, hf_index, ett_gsm_map_StatusReportRes);
10045 static const value_string gsm_map_Ruf_Outcome_vals[] = {
10048 { 2, "noResponseFromFreeMS" },
10049 { 3, "noResponseFromBusyMS" },
10050 { 4, "udubFromFreeMS" },
10051 { 5, "udubFromBusyMS" },
10057 dissect_gsm_map_Ruf_Outcome(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10058 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10063 static int dissect_ruf_Outcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10064 return dissect_gsm_map_Ruf_Outcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ruf_Outcome);
10068 static const ber_sequence_t IST_AlertArg_sequence[] = {
10069 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10070 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10075 dissect_gsm_map_IST_AlertArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10076 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10077 IST_AlertArg_sequence, hf_index, ett_gsm_map_IST_AlertArg);
10083 static const value_string gsm_map_CallTerminationIndicator_vals[] = {
10084 { 0, "terminateCallActivityReferred" },
10085 { 1, "terminateAllCallActivities" },
10091 dissect_gsm_map_CallTerminationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10092 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10097 static int dissect_callTerminationIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10098 return dissect_gsm_map_CallTerminationIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callTerminationIndicator);
10102 static const ber_sequence_t IST_AlertRes_sequence[] = {
10103 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istAlertTimer_impl },
10104 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istInformationWithdraw_impl },
10105 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTerminationIndicator_impl },
10106 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10111 dissect_gsm_map_IST_AlertRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10112 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10113 IST_AlertRes_sequence, hf_index, ett_gsm_map_IST_AlertRes);
10119 static const ber_sequence_t IST_CommandArg_sequence[] = {
10120 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10121 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10126 dissect_gsm_map_IST_CommandArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10127 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10128 IST_CommandArg_sequence, hf_index, ett_gsm_map_IST_CommandArg);
10134 static const ber_sequence_t IST_CommandRes_sequence[] = {
10135 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10140 dissect_gsm_map_IST_CommandRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10141 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10142 IST_CommandRes_sequence, hf_index, ett_gsm_map_IST_CommandRes);
10148 static const ber_sequence_t ReleaseResourcesArg_sequence[] = {
10149 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msrn },
10150 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10155 dissect_gsm_map_ReleaseResourcesArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10156 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10157 ReleaseResourcesArg_sequence, hf_index, ett_gsm_map_ReleaseResourcesArg);
10163 static const ber_sequence_t ReleaseResourcesRes_sequence[] = {
10164 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10169 dissect_gsm_map_ReleaseResourcesRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10170 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10171 ReleaseResourcesRes_sequence, hf_index, ett_gsm_map_ReleaseResourcesRes);
10179 dissect_gsm_map_CCBS_Index(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10180 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10185 static int dissect_ccbs_Index_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10186 return dissect_gsm_map_CCBS_Index(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Index);
10190 static const ber_sequence_t CCBS_Feature_sequence[] = {
10191 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
10192 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberNumber_impl },
10193 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberSubaddress_impl },
10194 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup_impl },
10199 dissect_gsm_map_CCBS_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10200 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10201 CCBS_Feature_sequence, hf_index, ett_gsm_map_CCBS_Feature);
10205 static int dissect_ccbs_Feature(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10206 return dissect_gsm_map_CCBS_Feature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Feature);
10208 static int dissect_ccbs_Feature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10209 return dissect_gsm_map_CCBS_Feature(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Feature);
10211 static int dissect_CCBS_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10212 return dissect_gsm_map_CCBS_Feature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CCBS_FeatureList_item);
10216 static const ber_sequence_t RemoteUserFreeArg_sequence[] = {
10217 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10218 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callInfo_impl },
10219 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
10220 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_translatedB_Number_impl },
10221 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_replaceB_Number_impl },
10222 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
10223 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10228 dissect_gsm_map_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10229 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10230 RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_RemoteUserFreeArg);
10236 static const ber_sequence_t RemoteUserFreeRes_sequence[] = {
10237 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ruf_Outcome_impl },
10238 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10243 dissect_gsm_map_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10244 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10245 RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_RemoteUserFreeRes);
10253 dissect_gsm_map_TranslatedB_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10254 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10261 static const ber_sequence_t SS_Data_sequence[] = {
10262 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
10263 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
10264 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_SubscriptionOption },
10265 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ext_basicServiceGroupList },
10266 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
10267 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
10272 dissect_gsm_map_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10273 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10274 SS_Data_sequence, hf_index, ett_gsm_map_SS_Data);
10278 static int dissect_ss_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10279 return dissect_gsm_map_SS_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Data);
10283 static const ber_sequence_t RegisterSS_Arg_sequence[] = {
10284 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
10285 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
10286 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_addr_impl },
10287 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
10288 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
10289 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
10290 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
10291 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
10296 dissect_gsm_map_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10297 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10298 RegisterSS_Arg_sequence, hf_index, ett_gsm_map_RegisterSS_Arg);
10304 const value_string gsm_map_SS_Info_vals[] = {
10305 { 0, "forwardingInfo" },
10306 { 1, "callBarringInfo" },
10311 static const ber_choice_t SS_Info_choice[] = {
10312 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfo_impl },
10313 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfo_impl },
10314 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ss_Data_impl },
10315 { 0, 0, 0, 0, NULL }
10319 dissect_gsm_map_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10320 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10321 SS_Info_choice, hf_index, ett_gsm_map_SS_Info,
10330 dissect_gsm_map_B_subscriberNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10331 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10338 static const ber_sequence_t CCBS_FeatureList_sequence_of[1] = {
10339 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CCBS_FeatureList_item },
10343 dissect_gsm_map_CCBS_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10344 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
10345 CCBS_FeatureList_sequence_of, hf_index, ett_gsm_map_CCBS_FeatureList);
10349 static int dissect_ccbs_FeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10350 return dissect_gsm_map_CCBS_FeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_FeatureList);
10354 static const ber_sequence_t GenericServiceInfo_sequence[] = {
10355 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
10356 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cliRestrictionOption },
10357 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumEntitledPriority_impl },
10358 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
10359 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_FeatureList_impl },
10360 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrSB_impl },
10361 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
10362 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrSN_impl },
10367 dissect_gsm_map_GenericServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10368 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10369 GenericServiceInfo_sequence, hf_index, ett_gsm_map_GenericServiceInfo);
10373 static int dissect_genericServiceInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10374 return dissect_gsm_map_GenericServiceInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_genericServiceInfo);
10378 const value_string gsm_map_InterrogateSS_Res_vals[] = {
10379 { 0, "ss-Status" },
10380 { 2, "basicServiceGroupList" },
10381 { 3, "forwardingFeatureList" },
10382 { 4, "genericServiceInfo" },
10386 static const ber_choice_t InterrogateSS_Res_choice[] = {
10387 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
10388 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_basicServiceGroupList_impl },
10389 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_forwardingFeatureList_impl },
10390 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_genericServiceInfo_impl },
10391 { 0, 0, 0, 0, NULL }
10395 dissect_gsm_map_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10396 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10397 InterrogateSS_Res_choice, hf_index, ett_gsm_map_InterrogateSS_Res,
10406 dissect_gsm_map_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10407 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10412 static int dissect_ussd_DataCodingScheme(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10413 return dissect_gsm_map_USSD_DataCodingScheme(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_DataCodingScheme);
10415 static int dissect_dataCodingScheme_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10416 return dissect_gsm_map_USSD_DataCodingScheme(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dataCodingScheme);
10422 dissect_gsm_map_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10423 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10428 static int dissect_ussd_String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10429 return dissect_gsm_map_USSD_String(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_String);
10433 static const ber_sequence_t Ussd_Arg_sequence[] = {
10434 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
10435 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
10436 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertingPattern },
10437 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
10442 dissect_gsm_map_Ussd_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10443 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10444 Ussd_Arg_sequence, hf_index, ett_gsm_map_Ussd_Arg);
10450 static const ber_sequence_t Ussd_Res_sequence[] = {
10451 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
10452 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
10457 dissect_gsm_map_Ussd_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10458 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10459 Ussd_Res_sequence, hf_index, ett_gsm_map_Ussd_Res);
10465 static const value_string gsm_map_FailureCause_vals[] = {
10466 { 0, "wrongUserResponse" },
10467 { 1, "wrongNetworkSignature" },
10473 dissect_gsm_map_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10474 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10479 static int dissect_failureCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10480 return dissect_gsm_map_FailureCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_failureCause);
10486 dissect_gsm_map_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10487 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
10491 static int dissect_re_attempt(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10492 return dissect_gsm_map_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_re_attempt);
10494 static int dissect_sm_RP_PRI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10495 return dissect_gsm_map_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_PRI);
10499 static const value_string gsm_map_AccessType_vals[] = {
10501 { 1, "emergencyCall" },
10502 { 2, "locationUpdating" },
10503 { 3, "supplementaryService" },
10504 { 4, "shortMessage" },
10505 { 5, "gprsAttach" },
10506 { 6, "routingAreaUpdating" },
10507 { 7, "serviceRequest" },
10508 { 8, "pdpContextActivation" },
10509 { 9, "pdpContextDeactivation" },
10510 { 10, "gprsDetach" },
10516 dissect_gsm_map_AccessType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10517 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10522 static int dissect_accessType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10523 return dissect_gsm_map_AccessType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_accessType);
10527 static const ber_sequence_t AuthenticationFailureReportArg_sequence[] = {
10528 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
10529 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_failureCause },
10530 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10531 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_re_attempt },
10532 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_accessType },
10533 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_rand },
10534 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Number_impl },
10535 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
10540 dissect_gsm_map_AuthenticationFailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10541 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10542 AuthenticationFailureReportArg_sequence, hf_index, ett_gsm_map_AuthenticationFailureReportArg);
10548 static const ber_sequence_t AuthenticationFailureReportRes_sequence[] = {
10549 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10554 dissect_gsm_map_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10555 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10556 AuthenticationFailureReportRes_sequence, hf_index, ett_gsm_map_AuthenticationFailureReportRes);
10564 dissect_gsm_map_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10565 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10566 pinfo, tree, tvb, offset, hf_index,
10573 const value_string gsm_map_GetPasswordArg_vals[] = {
10575 { 1, "enterNewPW" },
10576 { 2, "enterNewPW-Again" },
10582 dissect_gsm_map_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10583 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10592 dissect_gsm_map_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10593 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10594 pinfo, tree, tvb, offset, hf_index,
10601 static const asn_namedbit ServiceIndicator_bits[] = {
10602 { 0, &hf_gsm_map_ServiceIndicator_clir_invoked, -1, -1, "clir-invoked", NULL },
10603 { 1, &hf_gsm_map_ServiceIndicator_camel_invoked, -1, -1, "camel-invoked", NULL },
10604 { 0, NULL, 0, 0, NULL, NULL }
10608 dissect_gsm_map_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10609 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
10610 ServiceIndicator_bits, hf_index, ett_gsm_map_ServiceIndicator,
10615 static int dissect_serviceIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10616 return dissect_gsm_map_ServiceIndicator(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceIndicator);
10620 static const ber_sequence_t CCBS_Data_sequence[] = {
10621 { BER_CLASS_CON, 0, 0, dissect_ccbs_Feature },
10622 { BER_CLASS_CON, 1, 0, dissect_translatedB_Number },
10623 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_serviceIndicator },
10624 { BER_CLASS_CON, 3, 0, dissect_callInfo },
10625 { BER_CLASS_CON, 4, 0, dissect_networkSignalInfo },
10630 dissect_gsm_map_CCBS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10631 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10632 CCBS_Data_sequence, hf_index, ett_gsm_map_CCBS_Data);
10636 static int dissect_ccbs_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10637 return dissect_gsm_map_CCBS_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Data);
10641 static const ber_sequence_t RegisterCC_EntryArg_sequence[] = {
10642 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10643 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Data_impl },
10648 dissect_gsm_map_RegisterCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10649 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10650 RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_RegisterCC_EntryArg);
10656 static const ber_sequence_t RegisterCC_EntryRes_sequence[] = {
10657 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
10662 dissect_gsm_map_RegisterCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10663 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10664 RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_RegisterCC_EntryRes);
10670 static const ber_sequence_t EraseCC_EntryArg_sequence[] = {
10671 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10672 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
10677 dissect_gsm_map_EraseCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10678 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10679 EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_EraseCC_EntryArg);
10685 static const ber_sequence_t EraseCC_EntryRes_sequence[] = {
10686 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10687 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
10692 dissect_gsm_map_EraseCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10693 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10694 EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_EraseCC_EntryRes);
10702 dissect_gsm_map_ServiceCentreAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10703 #line 193 "gsmmap.cnf"
10705 tvbuff_t *parameter_tvb;
10708 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10712 if (!parameter_tvb)
10715 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
10716 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
10717 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
10719 digit_str = unpack_digits(parameter_tvb, 1);
10721 proto_tree_add_string(tree, hf_gsm_map_servicecentreaddress_digits, parameter_tvb, 1, -1, digit_str);
10722 pinfo->p2p_dir = P2P_DIR_SENT;
10728 static int dissect_serviceCentreAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10729 return dissect_gsm_map_ServiceCentreAddress(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
10731 static int dissect_serviceCentreAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10732 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
10734 static int dissect_serviceCentreAddressOA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10735 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressOA);
10737 static int dissect_serviceCentreAddressDA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10738 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressDA);
10744 dissect_gsm_map_INTEGER_0_10(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10745 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10750 static int dissect_sm_RP_MTI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10751 return dissect_gsm_map_INTEGER_0_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_MTI);
10757 dissect_gsm_map_OCTET_STRING_SIZE_1_12(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10758 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10763 static int dissect_sm_RP_SMEA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10764 return dissect_gsm_map_OCTET_STRING_SIZE_1_12(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_SMEA);
10768 static const ber_sequence_t RoutingInfoForSMArg_sequence[] = {
10769 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
10770 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sm_RP_PRI_impl },
10771 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddress_impl },
10772 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10773 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
10774 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_MTI_impl },
10775 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_SMEA_impl },
10780 dissect_gsm_map_RoutingInfoForSMArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10781 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10782 RoutingInfoForSMArg_sequence, hf_index, ett_gsm_map_RoutingInfoForSMArg);
10788 static const value_string gsm_map_Additional_Number_vals[] = {
10789 { 0, "msc-Number" },
10790 { 1, "sgsn-Number" },
10794 static const ber_choice_t Additional_Number_choice[] = {
10795 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
10796 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
10797 { 0, 0, 0, 0, NULL }
10801 dissect_gsm_map_Additional_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10802 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10803 Additional_Number_choice, hf_index, ett_gsm_map_Additional_Number,
10808 static int dissect_additional_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10809 return dissect_gsm_map_Additional_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additional_Number);
10813 static const ber_sequence_t LocationInfoWithLMSI_sequence[] = {
10814 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_networkNode_Number_impl },
10815 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
10816 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10817 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsNodeIndicator_impl },
10818 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_additional_Number_impl },
10823 dissect_gsm_map_LocationInfoWithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10824 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10825 LocationInfoWithLMSI_sequence, hf_index, ett_gsm_map_LocationInfoWithLMSI);
10829 static int dissect_locationInfoWithLMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10830 return dissect_gsm_map_LocationInfoWithLMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInfoWithLMSI);
10834 static const ber_sequence_t RoutingInfoForSM_Res_sequence[] = {
10835 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
10836 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationInfoWithLMSI_impl },
10837 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10842 dissect_gsm_map_RoutingInfoForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10843 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10844 RoutingInfoForSM_Res_sequence, hf_index, ett_gsm_map_RoutingInfoForSM_Res);
10850 static const value_string gsm_map_Sm_RP_DA_vals[] = {
10853 { 4, "serviceCentreAddressDA" },
10854 { 5, "noSM-RP-DA" },
10858 static const ber_choice_t Sm_RP_DA_choice[] = {
10859 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10860 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
10861 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressDA_impl },
10862 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_DA_impl },
10863 { 0, 0, 0, 0, NULL }
10867 dissect_gsm_map_Sm_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10868 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10869 Sm_RP_DA_choice, hf_index, ett_gsm_map_Sm_RP_DA,
10874 static int dissect_sm_RP_DA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10875 return dissect_gsm_map_Sm_RP_DA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_DA);
10879 static const value_string gsm_map_Sm_RP_OA_vals[] = {
10881 { 4, "serviceCentreAddressOA" },
10882 { 5, "noSM-RP-OA" },
10886 static const ber_choice_t Sm_RP_OA_choice[] = {
10887 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
10888 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressOA_impl },
10889 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_OA_impl },
10890 { 0, 0, 0, 0, NULL }
10894 dissect_gsm_map_Sm_RP_OA(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10895 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10896 Sm_RP_OA_choice, hf_index, ett_gsm_map_Sm_RP_OA,
10901 static int dissect_sm_RP_OA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10902 return dissect_gsm_map_Sm_RP_OA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_OA);
10908 dissect_gsm_map_Sm_RP_UI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10909 #line 152 "gsmmap.cnf"
10911 tvbuff_t *tpdu_tvb;
10913 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10918 * dissect the embedded TPDU message
10923 dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
10928 static int dissect_sm_RP_UI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10929 return dissect_gsm_map_Sm_RP_UI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_UI);
10933 static const ber_sequence_t Mo_forwardSM_Arg_sequence[] = {
10934 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
10935 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
10936 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
10937 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10938 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
10943 dissect_gsm_map_Mo_forwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10944 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10945 Mo_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Arg);
10951 static const ber_sequence_t Mo_forwardSM_Res_sequence[] = {
10952 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
10953 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10958 dissect_gsm_map_Mo_forwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10959 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10960 Mo_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Res);
10966 static const ber_sequence_t Mt_forwardSM_Arg_sequence[] = {
10967 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
10968 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
10969 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
10970 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_moreMessagesToSend },
10971 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10976 dissect_gsm_map_Mt_forwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10977 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10978 Mt_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Arg);
10984 static const ber_sequence_t Mt_forwardSM_Res_sequence[] = {
10985 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
10986 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10991 dissect_gsm_map_Mt_forwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10992 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10993 Mt_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Res);
11001 dissect_gsm_map_StoredMSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11002 offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
11006 static int dissect_storedMSISDN(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11007 return dissect_gsm_map_StoredMSISDN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_storedMSISDN);
11011 static const value_string gsm_map_Sm_DeliveryOutcome_vals[] = {
11012 { 0, "memoryCapacityExceeded" },
11013 { 1, "absentSubscriber" },
11014 { 2, "successfulTransfer" },
11020 dissect_gsm_map_Sm_DeliveryOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11021 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11026 static int dissect_sm_DeliveryOutcome(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11027 return dissect_gsm_map_Sm_DeliveryOutcome(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_DeliveryOutcome);
11029 static int dissect_additionalSM_DeliveryOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11030 return dissect_gsm_map_Sm_DeliveryOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSM_DeliveryOutcome);
11036 dissect_gsm_map_AbsentSubscriberDiagnosticSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11037 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11042 static int dissect_absentSubscriberDiagnosticSM(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11043 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
11045 static int dissect_absentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11046 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
11048 static int dissect_additionalAbsentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11049 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalAbsentSubscriberDiagnosticSM);
11051 static int dissect_mobileNotReachableReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11052 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mobileNotReachableReason);
11056 static const ber_sequence_t ReportSM_DeliveryStatusArg_sequence[] = {
11057 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
11058 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
11059 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_DeliveryOutcome },
11060 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberDiagnosticSM_impl },
11061 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11062 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
11063 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deliveryOutcomeIndicator_impl },
11064 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSM_DeliveryOutcome_impl },
11065 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
11070 dissect_gsm_map_ReportSM_DeliveryStatusArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11071 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11072 ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusArg);
11078 static const ber_sequence_t ReportSM_DeliveryStatusRes_sequence[] = {
11079 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
11080 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11085 dissect_gsm_map_ReportSM_DeliveryStatusRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11086 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11087 ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusRes);
11093 static const asn_namedbit T_mw_Status_bits[] = {
11094 { 0, &hf_gsm_map_T_mw_Status_scAddressNotIncluded, -1, -1, "scAddressNotIncluded", NULL },
11095 { 1, &hf_gsm_map_T_mw_Status_mnrfSet, -1, -1, "mnrfSet", NULL },
11096 { 2, &hf_gsm_map_T_mw_Status_mcefSet, -1, -1, "mcefSet", NULL },
11097 { 3, &hf_gsm_map_T_mw_Status_mnrgSet, -1, -1, "mnrgSet", NULL },
11098 { 0, NULL, 0, 0, NULL, NULL }
11102 dissect_gsm_map_T_mw_Status(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11103 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
11104 T_mw_Status_bits, hf_index, ett_gsm_map_T_mw_Status,
11109 static int dissect_mw_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11110 return dissect_gsm_map_T_mw_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mw_Status);
11114 static const ber_sequence_t InformServiceCentreArg_sequence[] = {
11115 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
11116 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_mw_Status },
11117 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11122 dissect_gsm_map_InformServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11123 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11124 InformServiceCentreArg_sequence, hf_index, ett_gsm_map_InformServiceCentreArg);
11130 static const ber_sequence_t AlertServiceCentreArg_sequence[] = {
11131 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
11132 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
11137 dissect_gsm_map_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11138 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11139 AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_AlertServiceCentreArg);
11145 static const value_string gsm_map_T_alertReason_vals[] = {
11146 { 0, "msPresent" },
11147 { 1, "memoryAvailable" },
11153 dissect_gsm_map_T_alertReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11154 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11159 static int dissect_alertReason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11160 return dissect_gsm_map_T_alertReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReason);
11164 static const ber_sequence_t ReadyForSM_Arg_sequence[] = {
11165 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11166 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_alertReason },
11167 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertReasonIndicator },
11168 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11173 dissect_gsm_map_ReadyForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11174 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11175 ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_ReadyForSM_Arg);
11181 static const ber_sequence_t ReadyForSM_Res_sequence[] = {
11182 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11187 dissect_gsm_map_ReadyForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11188 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11189 ReadyForSM_Res_sequence, hf_index, ett_gsm_map_ReadyForSM_Res);
11195 static const value_string gsm_map_T_requestedDomain_vals[] = {
11196 { 0, "cs-Domain" },
11197 { 1, "ps-Domain" },
11203 dissect_gsm_map_T_requestedDomain(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11204 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11209 static int dissect_requestedDomain_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11210 return dissect_gsm_map_T_requestedDomain(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedDomain);
11214 static const ber_sequence_t RequestedInfo_sequence[] = {
11215 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_flg_impl },
11216 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberState_flg_impl },
11217 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11218 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocation_impl },
11219 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedDomain_impl },
11220 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_flg_impl },
11221 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_classmark_impl },
11222 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mnpRequestedInfo_impl },
11227 dissect_gsm_map_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11228 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11229 RequestedInfo_sequence, hf_index, ett_gsm_map_RequestedInfo);
11233 static int dissect_requestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11234 return dissect_gsm_map_RequestedInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedInfo);
11238 static const ber_sequence_t ProvideSubscriberInfoArg_sequence[] = {
11239 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11240 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
11241 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
11242 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11247 dissect_gsm_map_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11248 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11249 ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoArg);
11255 static const ber_sequence_t ProvideSubscriberInfoRes_sequence[] = {
11256 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
11257 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11262 dissect_gsm_map_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11263 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11264 ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoRes);
11270 static const ber_sequence_t AnyTimeInterrogationArg_sequence[] = {
11271 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
11272 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
11273 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
11274 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11279 dissect_gsm_map_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11280 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11281 AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationArg);
11287 static const ber_sequence_t AnyTimeInterrogationRes_sequence[] = {
11288 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
11289 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11294 dissect_gsm_map_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11295 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11296 AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationRes);
11302 static const ber_sequence_t SS_ForBS_Code_sequence[] = {
11303 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
11304 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
11305 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
11310 dissect_gsm_map_SS_ForBS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11311 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11312 SS_ForBS_Code_sequence, hf_index, ett_gsm_map_SS_ForBS_Code);
11316 static int dissect_requestedSS_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11317 return dissect_gsm_map_SS_ForBS_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSS_Info);
11321 static const value_string gsm_map_RequestedCAMEL_SubscriptionInfo_vals[] = {
11327 { 5, "mo-sms-CSI" },
11336 dissect_gsm_map_RequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11337 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11342 static int dissect_requestedCAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11343 return dissect_gsm_map_RequestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCAMEL_SubscriptionInfo);
11345 static int dissect_requestedCamel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11346 return dissect_gsm_map_RequestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCamel_SubscriptionInfo);
11350 static const value_string gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = {
11351 { 0, "mt-sms-CSI" },
11355 { 4, "vt-IM-CSI" },
11361 dissect_gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11362 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11367 static int dissect_additionalRequestedCAMEL_SubscriptionInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11368 return dissect_gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo);
11372 static const ber_sequence_t RequestedSubscriptionInfo_sequence[] = {
11373 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedSS_Info_impl },
11374 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_impl },
11375 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedCAMEL_SubscriptionInfo_impl },
11376 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_flg_impl },
11377 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_flg_impl },
11378 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11379 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_additionalRequestedCAMEL_SubscriptionInfo },
11384 dissect_gsm_map_RequestedSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11385 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11386 RequestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_RequestedSubscriptionInfo);
11390 static int dissect_requestedSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11391 return dissect_gsm_map_RequestedSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSubscriptionInfo);
11395 static const ber_sequence_t AnyTimeSubscriptionInterrogationArg_sequence[] = {
11396 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity_impl },
11397 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedSubscriptionInfo_impl },
11398 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
11399 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11400 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
11405 dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11406 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11407 AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationArg);
11413 static const ber_sequence_t CallForwardingData_sequence[] = {
11414 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_forwardingFeatureList },
11415 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
11416 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11421 dissect_gsm_map_CallForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11422 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11423 CallForwardingData_sequence, hf_index, ett_gsm_map_CallForwardingData);
11427 static int dissect_callForwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11428 return dissect_gsm_map_CallForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callForwardingData);
11434 dissect_gsm_map_Password(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11435 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
11436 pinfo, tree, tvb, offset, hf_index,
11441 static int dissect_password(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11442 return dissect_gsm_map_Password(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_password);
11444 static int dissect_password_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11445 return dissect_gsm_map_Password(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_password);
11451 dissect_gsm_map_WrongPasswordAttemptsCounter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11452 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11457 static int dissect_wrongPasswordAttemptsCounter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11458 return dissect_gsm_map_WrongPasswordAttemptsCounter(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
11460 static int dissect_wrongPasswordAttemptsCounter_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11461 return dissect_gsm_map_WrongPasswordAttemptsCounter(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
11465 static const ber_sequence_t CallBarringData_sequence[] = {
11466 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_callBarringFeatureList },
11467 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_password },
11468 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_wrongPasswordAttemptsCounter },
11469 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
11470 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11475 dissect_gsm_map_CallBarringData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11476 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11477 CallBarringData_sequence, hf_index, ett_gsm_map_CallBarringData);
11481 static int dissect_callBarringData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11482 return dissect_gsm_map_CallBarringData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringData);
11486 static const ber_sequence_t ODB_Info_sequence[] = {
11487 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_odb_Data },
11488 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
11489 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11494 dissect_gsm_map_ODB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11495 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11496 ODB_Info_sequence, hf_index, ett_gsm_map_ODB_Info);
11500 static int dissect_odb_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11501 return dissect_gsm_map_ODB_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Info);
11505 static const ber_sequence_t CAMEL_SubscriptionInfo_sequence[] = {
11506 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
11507 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
11508 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_CSI_impl },
11509 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
11510 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
11511 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_CSI_impl },
11512 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl },
11513 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
11514 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_NotificationToCSE_impl },
11515 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CSI_impl },
11516 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
11517 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
11518 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_m_CSI_impl },
11519 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11520 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificCSIDeletedList_impl },
11521 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
11522 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
11523 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mg_csi_impl },
11524 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_CSI_impl },
11525 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_BcsmCamelTDP_CriteriaList_impl },
11526 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_IM_CSI_impl },
11527 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_CSI_impl },
11528 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl },
11533 dissect_gsm_map_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11534 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11535 CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_CAMEL_SubscriptionInfo);
11539 static int dissect_camel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11540 return dissect_gsm_map_CAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camel_SubscriptionInfo);
11544 static const ber_sequence_t AnyTimeSubscriptionInterrogationRes_sequence[] = {
11545 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callForwardingData_impl },
11546 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callBarringData_impl },
11547 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
11548 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
11549 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_impl },
11550 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_impl },
11551 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11552 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInVLR_impl },
11553 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInSGSN_impl },
11558 dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11559 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11560 AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationRes);
11566 static const asn_namedbit OfferedCamel4Functionalities_bits[] = {
11567 { 0, &hf_gsm_map_OfferedCamel4Functionalities_initiateCallAttempt, -1, -1, "initiateCallAttempt", NULL },
11568 { 1, &hf_gsm_map_OfferedCamel4Functionalities_splitLeg, -1, -1, "splitLeg", NULL },
11569 { 2, &hf_gsm_map_OfferedCamel4Functionalities_moveLeg, -1, -1, "moveLeg", NULL },
11570 { 3, &hf_gsm_map_OfferedCamel4Functionalities_disconnectLeg, -1, -1, "disconnectLeg", NULL },
11571 { 4, &hf_gsm_map_OfferedCamel4Functionalities_entityReleased, -1, -1, "entityReleased", NULL },
11572 { 5, &hf_gsm_map_OfferedCamel4Functionalities_dfc_WithArgument, -1, -1, "dfc-WithArgument", NULL },
11573 { 6, &hf_gsm_map_OfferedCamel4Functionalities_playTone, -1, -1, "playTone", NULL },
11574 { 7, &hf_gsm_map_OfferedCamel4Functionalities_dtmf_MidCall, -1, -1, "dtmf-MidCall", NULL },
11575 { 8, &hf_gsm_map_OfferedCamel4Functionalities_chargingIndicator, -1, -1, "chargingIndicator", NULL },
11576 { 9, &hf_gsm_map_OfferedCamel4Functionalities_alertingDP, -1, -1, "alertingDP", NULL },
11577 { 10, &hf_gsm_map_OfferedCamel4Functionalities_locationAtAlerting, -1, -1, "locationAtAlerting", NULL },
11578 { 11, &hf_gsm_map_OfferedCamel4Functionalities_changeOfPositionDP, -1, -1, "changeOfPositionDP", NULL },
11579 { 12, &hf_gsm_map_OfferedCamel4Functionalities_or_Interactions, -1, -1, "or-Interactions", NULL },
11580 { 13, &hf_gsm_map_OfferedCamel4Functionalities_warningToneEnhancements, -1, -1, "warningToneEnhancements", NULL },
11581 { 14, &hf_gsm_map_OfferedCamel4Functionalities_cf_Enhancements, -1, -1, "cf-Enhancements", NULL },
11582 { 15, &hf_gsm_map_OfferedCamel4Functionalities_subscribedEnhancedDialledServices, -1, -1, "subscribedEnhancedDialledServices", NULL },
11583 { 16, &hf_gsm_map_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices, -1, -1, "servingNetworkEnhancedDialledServices", NULL },
11584 { 17, &hf_gsm_map_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP, -1, -1, "criteriaForChangeOfPositionDP", NULL },
11585 { 18, &hf_gsm_map_OfferedCamel4Functionalities_serviceChangeDP, -1, -1, "serviceChangeDP", NULL },
11586 { 0, NULL, 0, 0, NULL, NULL }
11590 dissect_gsm_map_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11591 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
11592 OfferedCamel4Functionalities_bits, hf_index, ett_gsm_map_OfferedCamel4Functionalities,
11597 static int dissect_offeredCamel4Functionalities(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11598 return dissect_gsm_map_OfferedCamel4Functionalities(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4Functionalities);
11602 static const value_string gsm_map_ModificationInstruction_vals[] = {
11603 { 0, "deactivate" },
11610 dissect_gsm_map_ModificationInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11611 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11616 static int dissect_modifyNotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11617 return dissect_gsm_map_ModificationInstruction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyNotificationToCSE);
11619 static int dissect_modifyCSI_State_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11620 return dissect_gsm_map_ModificationInstruction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyCSI_State);
11624 static const ber_sequence_t ModificationRequestFor_CF_Info_sequence[] = {
11625 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
11626 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService_impl },
11627 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
11628 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_addr_impl },
11629 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
11630 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_noReplyConditionTime_impl },
11631 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
11632 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11637 dissect_gsm_map_ModificationRequestFor_CF_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11638 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11639 ModificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_ModificationRequestFor_CF_Info);
11643 static int dissect_modificationRequestFor_CF_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11644 return dissect_gsm_map_ModificationRequestFor_CF_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CF_Info);
11648 static const ber_sequence_t ModificationRequestFor_CB_Info_sequence[] = {
11649 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
11650 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService_impl },
11651 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
11652 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_password_impl },
11653 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_wrongPasswordAttemptsCounter_impl },
11654 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
11655 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11660 dissect_gsm_map_ModificationRequestFor_CB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11661 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11662 ModificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_ModificationRequestFor_CB_Info);
11666 static int dissect_modificationRequestFor_CB_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11667 return dissect_gsm_map_ModificationRequestFor_CB_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CB_Info);
11671 static const ber_sequence_t ModificationRequestFor_CSI_sequence[] = {
11672 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedCamel_SubscriptionInfo_impl },
11673 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
11674 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyCSI_State_impl },
11675 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11676 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_additionalRequestedCAMEL_SubscriptionInfo },
11681 dissect_gsm_map_ModificationRequestFor_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11682 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11683 ModificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_ModificationRequestFor_CSI);
11687 static int dissect_modificationRequestFor_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11688 return dissect_gsm_map_ModificationRequestFor_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CSI);
11692 static const ber_sequence_t ModificationRequestFor_ODB_data_sequence[] = {
11693 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_data_impl },
11694 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
11695 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11700 dissect_gsm_map_ModificationRequestFor_ODB_data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11701 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11702 ModificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_ModificationRequestFor_ODB_data);
11706 static int dissect_modificationRequestFor_ODB_data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11707 return dissect_gsm_map_ModificationRequestFor_ODB_data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_ODB_data);
11711 static const ber_sequence_t AnyTimeModificationArg_sequence[] = {
11712 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity_impl },
11713 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
11714 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CF_Info_impl },
11715 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CB_Info_impl },
11716 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CSI_impl },
11717 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11718 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
11719 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_modificationRequestFor_ODB_data },
11724 dissect_gsm_map_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11725 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11726 AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_AnyTimeModificationArg);
11732 static const ber_sequence_t Ext_ForwardingInfoFor_CSE_sequence[] = {
11733 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
11734 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_forwardingFeatureList_impl },
11735 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
11736 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11741 dissect_gsm_map_Ext_ForwardingInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11742 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11743 Ext_ForwardingInfoFor_CSE_sequence, hf_index, ett_gsm_map_Ext_ForwardingInfoFor_CSE);
11747 static int dissect_forwardingInfoFor_CSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11748 return dissect_gsm_map_Ext_ForwardingInfoFor_CSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInfoFor_CSE);
11752 static const ber_sequence_t Ext_CallBarringInfoFor_CSE_sequence[] = {
11753 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
11754 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_callBarringFeatureList_impl },
11755 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_password_impl },
11756 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_wrongPasswordAttemptsCounter_impl },
11757 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
11758 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11763 dissect_gsm_map_Ext_CallBarringInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11764 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11765 Ext_CallBarringInfoFor_CSE_sequence, hf_index, ett_gsm_map_Ext_CallBarringInfoFor_CSE);
11769 static int dissect_callBarringInfoFor_CSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11770 return dissect_gsm_map_Ext_CallBarringInfoFor_CSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringInfoFor_CSE);
11774 static const value_string gsm_map_Ext_SS_InfoFor_CSE_vals[] = {
11775 { 0, "forwardingInfoFor-CSE" },
11776 { 1, "callBarringInfoFor-CSE" },
11780 static const ber_choice_t Ext_SS_InfoFor_CSE_choice[] = {
11781 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfoFor_CSE_impl },
11782 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfoFor_CSE_impl },
11783 { 0, 0, 0, 0, NULL }
11787 dissect_gsm_map_Ext_SS_InfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11788 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11789 Ext_SS_InfoFor_CSE_choice, hf_index, ett_gsm_map_Ext_SS_InfoFor_CSE,
11794 static int dissect_ss_InfoFor_CSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11795 return dissect_gsm_map_Ext_SS_InfoFor_CSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_InfoFor_CSE);
11799 static const ber_sequence_t AnyTimeModificationRes_sequence[] = {
11800 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_InfoFor_CSE_impl },
11801 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
11802 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11803 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
11808 dissect_gsm_map_AnyTimeModificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11809 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11810 AnyTimeModificationRes_sequence, hf_index, ett_gsm_map_AnyTimeModificationRes);
11816 static const ber_sequence_t NoteSubscriberDataModifiedArg_sequence[] = {
11817 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
11818 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
11819 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingInfoFor_CSE_impl },
11820 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callBarringInfoFor_CSE_impl },
11821 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
11822 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
11823 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_allInformationSent },
11824 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11829 dissect_gsm_map_NoteSubscriberDataModifiedArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11830 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11831 NoteSubscriberDataModifiedArg_sequence, hf_index, ett_gsm_map_NoteSubscriberDataModifiedArg);
11837 static const ber_sequence_t NoteSubscriberDataModifiedRes_sequence[] = {
11838 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11843 dissect_gsm_map_NoteSubscriberDataModifiedRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11844 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11845 NoteSubscriberDataModifiedRes_sequence, hf_index, ett_gsm_map_NoteSubscriberDataModifiedRes);
11851 static const ber_sequence_t NoteMM_EventArg_sequence[] = {
11852 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
11853 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventMet_impl },
11854 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11855 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
11856 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
11857 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCAMELPhases_impl },
11858 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11859 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_locationInformationGPRS },
11860 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_offeredCamel4Functionalities },
11865 dissect_gsm_map_NoteMM_EventArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11866 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11867 NoteMM_EventArg_sequence, hf_index, ett_gsm_map_NoteMM_EventArg);
11873 static const ber_sequence_t NoteMM_EventRes_sequence[] = {
11874 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11879 dissect_gsm_map_NoteMM_EventRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11880 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11881 NoteMM_EventRes_sequence, hf_index, ett_gsm_map_NoteMM_EventRes);
11887 static const value_string gsm_map_ModifyNotificationToCSE_vals[] = {
11888 { 0, "deactivate" },
11895 dissect_gsm_map_ModifyNotificationToCSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11896 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11905 dissect_gsm_map_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11906 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11911 static int dissect_ss_Event_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11912 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Event);
11916 static const ber_sequence_t T_ss_EventSpecification_sequence_of[1] = {
11917 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_EventSpecification_item },
11921 dissect_gsm_map_T_ss_EventSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11922 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
11923 T_ss_EventSpecification_sequence_of, hf_index, ett_gsm_map_T_ss_EventSpecification);
11927 static int dissect_ss_EventSpecification_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11928 return dissect_gsm_map_T_ss_EventSpecification(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification);
11932 static const ber_sequence_t Ss_InvocationNotificationArg_sequence[] = {
11933 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11934 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
11935 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ss_Event_impl },
11936 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_EventSpecification_impl },
11937 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11942 dissect_gsm_map_Ss_InvocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11943 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11944 Ss_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationArg);
11950 static const ber_sequence_t Ss_InvocationNotificationRes_sequence[] = {
11951 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11956 dissect_gsm_map_Ss_InvocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11957 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11958 Ss_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationRes);
11966 dissect_gsm_map_CODEC_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11967 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11972 static int dissect_codec_Info(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11973 return dissect_gsm_map_CODEC_Info(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_codec_Info);
11979 dissect_gsm_map_CipheringAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11980 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11985 static int dissect_cipheringAlgorithm(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11986 return dissect_gsm_map_CipheringAlgorithm(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cipheringAlgorithm);
11992 dissect_gsm_map_GroupKeyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11993 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11998 static int dissect_groupKeyNumber_Vk_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11999 return dissect_gsm_map_GroupKeyNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKeyNumber_Vk_Id);
12005 dissect_gsm_map_VSTK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12006 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12011 static int dissect_vstk_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12012 return dissect_gsm_map_VSTK(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vstk);
12018 dissect_gsm_map_VSTK_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12019 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12024 static int dissect_vstk_rand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12025 return dissect_gsm_map_VSTK_RAND(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vstk_rand);
12029 static const ber_sequence_t PrepareGroupCallArg_sequence[] = {
12030 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_teleservice },
12031 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_asciCallReference },
12032 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_codec_Info },
12033 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cipheringAlgorithm },
12034 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKeyNumber_Vk_Id_impl },
12035 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKey_impl },
12036 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
12037 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkFree_impl },
12038 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12039 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vstk_impl },
12040 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vstk_rand_impl },
12045 dissect_gsm_map_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12046 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12047 PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_PrepareGroupCallArg);
12053 static const ber_sequence_t PrepareGroupCallRes_sequence[] = {
12054 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupCallNumber },
12055 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12060 dissect_gsm_map_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12061 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12062 PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_PrepareGroupCallRes);
12068 static const ber_sequence_t SendGroupCallEndSignalArg_sequence[] = {
12069 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
12070 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12075 dissect_gsm_map_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12076 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12077 SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalArg);
12083 static const ber_sequence_t SendGroupCallEndSignalRes_sequence[] = {
12084 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12089 dissect_gsm_map_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12090 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12091 SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalRes);
12097 static const ber_sequence_t ProcessGroupCallSignallingArg_sequence[] = {
12098 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequest_impl },
12099 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
12100 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseGroupCall_impl },
12101 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12106 dissect_gsm_map_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12107 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12108 ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ProcessGroupCallSignallingArg);
12114 static const ber_sequence_t ForwardGroupCallSignallingArg_sequence[] = {
12115 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
12116 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequestAck_impl },
12117 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
12118 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRejectCommand_impl },
12119 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkSeizedCommand_impl },
12120 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseCommand_impl },
12121 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12126 dissect_gsm_map_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12127 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12128 ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ForwardGroupCallSignallingArg);
12134 static const ber_sequence_t SGSN_Capability_sequence[] = {
12135 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_solsaSupportIndicator },
12136 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12137 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_superChargerSupportedInServingNetworkEntity_impl },
12138 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsEnhancementsSupportIndicator_impl },
12139 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
12140 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
12141 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
12142 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_smsCallBarringSupportIndicator_impl },
12147 dissect_gsm_map_SGSN_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12148 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12149 SGSN_Capability_sequence, hf_index, ett_gsm_map_SGSN_Capability);
12153 static int dissect_sgsn_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12154 return dissect_gsm_map_SGSN_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Capability);
12158 static const ber_sequence_t UpdateGprsLocationArg_sequence[] = {
12159 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
12160 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Number },
12161 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Address },
12162 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12163 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Capability_impl },
12164 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_informPreviousNetworkEntity_impl },
12165 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ps_LCS_NotSupportedByUE_impl },
12166 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_v_gmlc_Address_impl },
12167 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_info_impl },
12172 dissect_gsm_map_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12173 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12174 UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_UpdateGprsLocationArg);
12180 static const ber_sequence_t UpdateGprsLocationRes_sequence[] = {
12181 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
12182 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12183 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_add_Capability },
12188 dissect_gsm_map_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12189 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12190 UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_UpdateGprsLocationRes);
12196 static const ber_sequence_t SendRoutingInfoForGprsArg_sequence[] = {
12197 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
12198 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
12199 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
12200 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12205 dissect_gsm_map_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12206 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12207 SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsArg);
12213 static const ber_sequence_t SendRoutingInfoForGprsRes_sequence[] = {
12214 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
12215 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
12216 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mobileNotReachableReason_impl },
12217 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12222 dissect_gsm_map_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12223 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12224 SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsRes);
12230 static const ber_sequence_t FailureReportArg_sequence[] = {
12231 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
12232 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
12233 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
12234 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12239 dissect_gsm_map_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12240 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12241 FailureReportArg_sequence, hf_index, ett_gsm_map_FailureReportArg);
12247 static const ber_sequence_t FailureReportRes_sequence[] = {
12248 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
12249 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12254 dissect_gsm_map_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12255 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12256 FailureReportRes_sequence, hf_index, ett_gsm_map_FailureReportRes);
12262 static const ber_sequence_t NoteMsPresentForGprsArg_sequence[] = {
12263 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
12264 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
12265 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
12266 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12271 dissect_gsm_map_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12272 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12273 NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsArg);
12279 static const ber_sequence_t NoteMsPresentForGprsRes_sequence[] = {
12280 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12285 dissect_gsm_map_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12286 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12287 NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsRes);
12293 static const value_string gsm_map_LocationEstimateType_vals[] = {
12294 { 0, "currentLocation" },
12295 { 1, "currentOrLastKnownLocation" },
12296 { 2, "initialLocation" },
12297 { 3, "activateDeferredLocation" },
12298 { 4, "cancelDeferredLocation" },
12304 dissect_gsm_map_LocationEstimateType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12305 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12310 static int dissect_locationEstimateType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12311 return dissect_gsm_map_LocationEstimateType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimateType);
12315 static const asn_namedbit DeferredLocationEventType_bits[] = {
12316 { 0, &hf_gsm_map_DeferredLocationEventType_msAvailable, -1, -1, "msAvailable", NULL },
12317 { 1, &hf_gsm_map_DeferredLocationEventType_enteringIntoArea, -1, -1, "enteringIntoArea", NULL },
12318 { 2, &hf_gsm_map_DeferredLocationEventType_leavingFromArea, -1, -1, "leavingFromArea", NULL },
12319 { 3, &hf_gsm_map_DeferredLocationEventType_beingInsideArea, -1, -1, "beingInsideArea", NULL },
12320 { 0, NULL, 0, 0, NULL, NULL }
12324 dissect_gsm_map_DeferredLocationEventType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12325 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
12326 DeferredLocationEventType_bits, hf_index, ett_gsm_map_DeferredLocationEventType,
12331 static int dissect_deferredLocationEventType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12332 return dissect_gsm_map_DeferredLocationEventType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_deferredLocationEventType);
12334 static int dissect_deferredLocationEventType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12335 return dissect_gsm_map_DeferredLocationEventType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deferredLocationEventType);
12339 static const ber_sequence_t LocationType_sequence[] = {
12340 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationEstimateType_impl },
12341 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferredLocationEventType_impl },
12346 dissect_gsm_map_LocationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12347 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12348 LocationType_sequence, hf_index, ett_gsm_map_LocationType);
12352 static int dissect_locationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12353 return dissect_gsm_map_LocationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationType);
12357 static const value_string gsm_map_LCSClientType_vals[] = {
12358 { 0, "emergencyServices" },
12359 { 1, "valueAddedServices" },
12360 { 2, "plmnOperatorServices" },
12361 { 3, "lawfulInterceptServices" },
12367 dissect_gsm_map_LCSClientType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12368 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12373 static int dissect_lcsClientType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12374 return dissect_gsm_map_LCSClientType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientType);
12380 dissect_gsm_map_NameString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12381 offset = dissect_gsm_map_USSD_String(implicit_tag, tvb, offset, pinfo, tree, hf_index);
12385 static int dissect_nameString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12386 return dissect_gsm_map_NameString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nameString);
12390 static const value_string gsm_map_LCS_FormatIndicator_vals[] = {
12391 { 0, "logicalName" },
12392 { 1, "e-mailAddress" },
12401 dissect_gsm_map_LCS_FormatIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12402 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12407 static int dissect_lcs_FormatIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12408 return dissect_gsm_map_LCS_FormatIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_FormatIndicator);
12412 static const ber_sequence_t LCSClientName_sequence[] = {
12413 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
12414 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_nameString_impl },
12415 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_FormatIndicator_impl },
12420 dissect_gsm_map_LCSClientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12421 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12422 LCSClientName_sequence, hf_index, ett_gsm_map_LCSClientName);
12426 static int dissect_lcsClientName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12427 return dissect_gsm_map_LCSClientName(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientName);
12433 dissect_gsm_map_RequestorIDString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12434 offset = dissect_gsm_map_USSD_String(implicit_tag, tvb, offset, pinfo, tree, hf_index);
12438 static int dissect_requestorIDString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12439 return dissect_gsm_map_RequestorIDString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestorIDString);
12443 static const ber_sequence_t LCSRequestorID_sequence[] = {
12444 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
12445 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestorIDString_impl },
12446 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_FormatIndicator_impl },
12451 dissect_gsm_map_LCSRequestorID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12452 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12453 LCSRequestorID_sequence, hf_index, ett_gsm_map_LCSRequestorID);
12457 static int dissect_lcsRequestorID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12458 return dissect_gsm_map_LCSRequestorID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsRequestorID);
12462 static const ber_sequence_t LCS_ClientID_sequence[] = {
12463 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lcsClientType_impl },
12464 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientExternalID_impl },
12465 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientDialedByMS_impl },
12466 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientInternalID_impl },
12467 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientName_impl },
12468 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsAPN_impl },
12469 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsRequestorID_impl },
12474 dissect_gsm_map_LCS_ClientID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12475 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12476 LCS_ClientID_sequence, hf_index, ett_gsm_map_LCS_ClientID);
12480 static int dissect_lcs_ClientID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12481 return dissect_gsm_map_LCS_ClientID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
12483 static int dissect_lcs_ClientID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12484 return dissect_gsm_map_LCS_ClientID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
12490 dissect_gsm_map_LCS_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12491 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12496 static int dissect_lcs_Priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12497 return dissect_gsm_map_LCS_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Priority);
12503 dissect_gsm_map_Horizontal_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12504 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12509 static int dissect_horizontal_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12510 return dissect_gsm_map_Horizontal_Accuracy(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_horizontal_accuracy);
12516 dissect_gsm_map_Vertical_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12517 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12522 static int dissect_vertical_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12523 return dissect_gsm_map_Vertical_Accuracy(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vertical_accuracy);
12527 static const value_string gsm_map_ResponseTimeCategory_vals[] = {
12529 { 1, "delaytolerant" },
12535 dissect_gsm_map_ResponseTimeCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12536 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12541 static int dissect_responseTimeCategory(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12542 return dissect_gsm_map_ResponseTimeCategory(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_responseTimeCategory);
12546 static const ber_sequence_t ResponseTime_sequence[] = {
12547 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_responseTimeCategory },
12552 dissect_gsm_map_ResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12553 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12554 ResponseTime_sequence, hf_index, ett_gsm_map_ResponseTime);
12558 static int dissect_responseTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12559 return dissect_gsm_map_ResponseTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_responseTime);
12563 static const ber_sequence_t LCS_QoS_sequence[] = {
12564 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_horizontal_accuracy_impl },
12565 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_verticalCoordinateRequest_impl },
12566 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vertical_accuracy_impl },
12567 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseTime_impl },
12568 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12573 dissect_gsm_map_LCS_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12574 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12575 LCS_QoS_sequence, hf_index, ett_gsm_map_LCS_QoS);
12579 static int dissect_lcs_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12580 return dissect_gsm_map_LCS_QoS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_QoS);
12584 static const asn_namedbit SupportedGADShapes_bits[] = {
12585 { 0, &hf_gsm_map_SupportedGADShapes_ellipsoidPoint, -1, -1, "ellipsoidPoint", NULL },
12586 { 1, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle, -1, -1, "ellipsoidPointWithUncertaintyCircle", NULL },
12587 { 2, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse, -1, -1, "ellipsoidPointWithUncertaintyEllipse", NULL },
12588 { 3, &hf_gsm_map_SupportedGADShapes_polygon, -1, -1, "polygon", NULL },
12589 { 4, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitude, -1, -1, "ellipsoidPointWithAltitude", NULL },
12590 { 5, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid, -1, -1, "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", NULL },
12591 { 6, &hf_gsm_map_SupportedGADShapes_ellipsoidArc, -1, -1, "ellipsoidArc", NULL },
12592 { 0, NULL, 0, 0, NULL, NULL }
12596 dissect_gsm_map_SupportedGADShapes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12597 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
12598 SupportedGADShapes_bits, hf_index, ett_gsm_map_SupportedGADShapes,
12603 static int dissect_supportedGADShapes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12604 return dissect_gsm_map_SupportedGADShapes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedGADShapes);
12610 dissect_gsm_map_LCS_ReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12611 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12616 static int dissect_lcs_ReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12617 return dissect_gsm_map_LCS_ReferenceNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ReferenceNumber);
12623 dissect_gsm_map_LCSCodewordString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12624 offset = dissect_gsm_map_USSD_String(implicit_tag, tvb, offset, pinfo, tree, hf_index);
12628 static int dissect_lcsCodewordString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12629 return dissect_gsm_map_LCSCodewordString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsCodewordString);
12633 static const ber_sequence_t LCSCodeword_sequence[] = {
12634 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
12635 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lcsCodewordString_impl },
12640 dissect_gsm_map_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12641 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12642 LCSCodeword_sequence, hf_index, ett_gsm_map_LCSCodeword);
12646 static int dissect_lcsCodeword_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12647 return dissect_gsm_map_LCSCodeword(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsCodeword);
12651 static const value_string gsm_map_PrivacyCheckRelatedAction_vals[] = {
12652 { 0, "allowedWithoutNotification" },
12653 { 1, "allowedWithNotification" },
12654 { 2, "allowedIfNoResponse" },
12655 { 3, "restrictedIfNoResponse" },
12656 { 4, "notAllowed" },
12662 dissect_gsm_map_PrivacyCheckRelatedAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12663 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12668 static int dissect_callSessionUnrelated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12669 return dissect_gsm_map_PrivacyCheckRelatedAction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callSessionUnrelated);
12671 static int dissect_callSessionRelated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12672 return dissect_gsm_map_PrivacyCheckRelatedAction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callSessionRelated);
12676 static const ber_sequence_t LCS_PrivacyCheck_sequence[] = {
12677 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callSessionUnrelated_impl },
12678 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSessionRelated_impl },
12683 dissect_gsm_map_LCS_PrivacyCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12684 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12685 LCS_PrivacyCheck_sequence, hf_index, ett_gsm_map_LCS_PrivacyCheck);
12689 static int dissect_lcs_PrivacyCheck_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12690 return dissect_gsm_map_LCS_PrivacyCheck(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyCheck);
12694 static const value_string gsm_map_AreaType_vals[] = {
12695 { 0, "countryCode" },
12697 { 2, "locationAreaId" },
12698 { 3, "routingAreaId" },
12699 { 4, "cellGlobalId" },
12705 dissect_gsm_map_AreaType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12706 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12711 static int dissect_areaType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12712 return dissect_gsm_map_AreaType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaType);
12718 dissect_gsm_map_AreaIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12719 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12724 static int dissect_areaIdentification_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12725 return dissect_gsm_map_AreaIdentification(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaIdentification);
12729 static const ber_sequence_t Area_sequence[] = {
12730 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_areaType_impl },
12731 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_areaIdentification_impl },
12736 dissect_gsm_map_Area(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12737 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12738 Area_sequence, hf_index, ett_gsm_map_Area);
12742 static int dissect_AreaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12743 return dissect_gsm_map_Area(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_AreaList_item);
12747 static const ber_sequence_t AreaList_sequence_of[1] = {
12748 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_AreaList_item },
12752 dissect_gsm_map_AreaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12753 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
12754 AreaList_sequence_of, hf_index, ett_gsm_map_AreaList);
12758 static int dissect_areaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12759 return dissect_gsm_map_AreaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaList);
12763 static const ber_sequence_t AreaDefinition_sequence[] = {
12764 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_areaList_impl },
12769 dissect_gsm_map_AreaDefinition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12770 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12771 AreaDefinition_sequence, hf_index, ett_gsm_map_AreaDefinition);
12775 static int dissect_areaDefinition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12776 return dissect_gsm_map_AreaDefinition(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaDefinition);
12780 static const value_string gsm_map_OccurrenceInfo_vals[] = {
12781 { 0, "oneTimeEvent" },
12782 { 1, "multipleTimeEvent" },
12788 dissect_gsm_map_OccurrenceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12789 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12794 static int dissect_occurrenceInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12795 return dissect_gsm_map_OccurrenceInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_occurrenceInfo);
12801 dissect_gsm_map_IntervalTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12802 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12807 static int dissect_intervalTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12808 return dissect_gsm_map_IntervalTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_intervalTime);
12812 static const ber_sequence_t AreaEventInfo_sequence[] = {
12813 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_areaDefinition_impl },
12814 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_occurrenceInfo_impl },
12815 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_intervalTime_impl },
12820 dissect_gsm_map_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12821 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12822 AreaEventInfo_sequence, hf_index, ett_gsm_map_AreaEventInfo);
12826 static int dissect_areaEventInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12827 return dissect_gsm_map_AreaEventInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaEventInfo);
12831 static const ber_sequence_t ProvideSubscriberLocation_Arg_sequence[] = {
12832 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_locationType },
12833 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_mlc_Number },
12834 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ClientID_impl },
12835 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privacyOverride_impl },
12836 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
12837 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
12838 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
12839 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
12840 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_Priority_impl },
12841 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_QoS_impl },
12842 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12843 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedGADShapes_impl },
12844 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ReferenceNumber_impl },
12845 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsServiceTypeID_impl },
12846 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsCodeword_impl },
12847 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_PrivacyCheck_impl },
12848 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_areaEventInfo_impl },
12849 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_h_gmlc_Address_impl },
12854 dissect_gsm_map_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12855 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12856 ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Arg);
12864 dissect_gsm_map_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12865 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12870 static int dissect_locationEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12871 return dissect_gsm_map_Ext_GeographicalInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
12873 static int dissect_locationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12874 return dissect_gsm_map_Ext_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
12880 dissect_gsm_map_Add_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12881 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12886 static int dissect_add_LocationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12887 return dissect_gsm_map_Add_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_add_LocationEstimate);
12893 dissect_gsm_map_PositioningDataInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12894 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12899 static int dissect_geranPositioningData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12900 return dissect_gsm_map_PositioningDataInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geranPositioningData);
12906 dissect_gsm_map_UtranPositioningDataInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12907 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12912 static int dissect_utranPositioningData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12913 return dissect_gsm_map_UtranPositioningDataInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_utranPositioningData);
12917 static const ber_sequence_t ProvideSubscriberLocation_Res_sequence[] = {
12918 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_locationEstimate },
12919 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
12920 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12921 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_LocationEstimate_impl },
12922 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferredmt_lrResponseIndicator_impl },
12923 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranPositioningData_impl },
12924 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranPositioningData_impl },
12925 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cellIdOrSai_impl },
12926 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
12931 dissect_gsm_map_ProvideSubscriberLocation_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12932 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12933 ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Res);
12939 static const value_string gsm_map_TargetMS_vals[] = {
12945 static const ber_choice_t TargetMS_choice[] = {
12946 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
12947 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
12948 { 0, 0, 0, 0, NULL }
12952 dissect_gsm_map_TargetMS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12953 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
12954 TargetMS_choice, hf_index, ett_gsm_map_TargetMS,
12961 static const ber_sequence_t RoutingInfoForLCS_Arg_sequence[] = {
12962 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mlcNumber_impl },
12963 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_targetMS_impl },
12964 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12969 dissect_gsm_map_RoutingInfoForLCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12970 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12971 RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Arg);
12977 static const ber_sequence_t LCSLocationInfo_sequence[] = {
12978 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_networkNode_Number },
12979 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
12980 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12981 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsNodeIndicator_impl },
12982 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_additional_Number_impl },
12983 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
12984 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additional_LCS_CapabilitySets_impl },
12989 dissect_gsm_map_LCSLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12990 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12991 LCSLocationInfo_sequence, hf_index, ett_gsm_map_LCSLocationInfo);
12995 static int dissect_lcsLocationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12996 return dissect_gsm_map_LCSLocationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
12998 static int dissect_lcsLocationInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12999 return dissect_gsm_map_LCSLocationInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
13003 static const ber_sequence_t RoutingInfoForLCS_Res_sequence[] = {
13004 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_targetMS },
13005 { BER_CLASS_CON, 1, 0, dissect_lcsLocationInfo },
13006 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
13007 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_v_gmlc_Address },
13008 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_h_gmlc_Address },
13009 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_ppr_Address },
13010 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_additional_v_gmlc_Address },
13015 dissect_gsm_map_RoutingInfoForLCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13016 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13017 RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Res);
13023 static const value_string gsm_map_LCS_Event_vals[] = {
13024 { 0, "emergencyCallOrigination" },
13025 { 1, "emergencyCallRelease" },
13027 { 3, "deferredmt-lrResponse" },
13033 dissect_gsm_map_LCS_Event(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13034 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13039 static int dissect_lcs_Event(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13040 return dissect_gsm_map_LCS_Event(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Event);
13044 static const value_string gsm_map_TerminationCause_vals[] = {
13046 { 1, "errorundefined" },
13047 { 2, "internalTimeout" },
13048 { 3, "congestion" },
13049 { 4, "mt-lrRestart" },
13050 { 5, "privacyViolation" },
13051 { 6, "shapeOfLocationEstimateNotSupported" },
13057 dissect_gsm_map_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13058 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13063 static int dissect_terminationCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13064 return dissect_gsm_map_TerminationCause(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_terminationCause);
13068 static const ber_sequence_t Deferredmt_lrData_sequence[] = {
13069 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_deferredLocationEventType },
13070 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminationCause_impl },
13071 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsLocationInfo_impl },
13076 dissect_gsm_map_Deferredmt_lrData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13077 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13078 Deferredmt_lrData_sequence, hf_index, ett_gsm_map_Deferredmt_lrData);
13082 static int dissect_deferredmt_lrData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13083 return dissect_gsm_map_Deferredmt_lrData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deferredmt_lrData);
13087 static const ber_sequence_t SubscriberLocationReport_Arg_sequence[] = {
13088 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_lcs_Event },
13089 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcs_ClientID },
13090 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcsLocationInfo },
13091 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
13092 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
13093 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
13094 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRD_impl },
13095 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_impl },
13096 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationEstimate_impl },
13097 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
13098 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_slr_ArgExtensionContainer_impl },
13099 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_LocationEstimate_impl },
13100 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferredmt_lrData_impl },
13101 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ReferenceNumber_impl },
13102 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranPositioningData_impl },
13103 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranPositioningData_impl },
13104 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cellIdOrSai_impl },
13105 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_h_gmlc_Address_impl },
13106 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsServiceTypeID_impl },
13107 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
13108 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pseudonymIndicator_impl },
13113 dissect_gsm_map_SubscriberLocationReport_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13114 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13115 SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Arg);
13121 static const ber_sequence_t SubscriberLocationReport_Res_sequence[] = {
13122 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13123 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_impl },
13124 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRD_impl },
13129 dissect_gsm_map_SubscriberLocationReport_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13130 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13131 SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Res);
13139 dissect_gsm_map_SecurityParametersIndex(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13140 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13145 static int dissect_securityParametersIndex(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13146 return dissect_gsm_map_SecurityParametersIndex(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_securityParametersIndex);
13152 dissect_gsm_map_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13153 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13158 static int dissect_localValue2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13159 return dissect_gsm_map_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_localValue2);
13163 static const value_string gsm_map_OperationCode_vals[] = {
13164 { 0, "localValue" },
13165 { 1, "globalValue" },
13169 static const ber_choice_t OperationCode_choice[] = {
13170 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_localValue2 },
13171 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_globalValue },
13172 { 0, 0, 0, 0, NULL }
13176 dissect_gsm_map_OperationCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13177 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
13178 OperationCode_choice, hf_index, ett_gsm_map_OperationCode,
13183 static int dissect_operationCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13184 return dissect_gsm_map_OperationCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_operationCode);
13188 static const value_string gsm_map_ErrorCode_vals[] = {
13189 { 0, "localValue" },
13190 { 1, "globalValue" },
13194 static const ber_choice_t ErrorCode_choice[] = {
13195 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_localValue2 },
13196 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_globalValue },
13197 { 0, 0, 0, 0, NULL }
13201 dissect_gsm_map_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13202 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
13203 ErrorCode_choice, hf_index, ett_gsm_map_ErrorCode,
13208 static int dissect_errorCode1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13209 return dissect_gsm_map_ErrorCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_errorCode1);
13213 static const value_string gsm_map_OriginalComponentIdentifier_vals[] = {
13214 { 0, "operationCode" },
13215 { 1, "errorCode" },
13220 static const ber_choice_t OriginalComponentIdentifier_choice[] = {
13221 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_operationCode_impl },
13222 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_errorCode1_impl },
13223 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_userInfo_impl },
13224 { 0, 0, 0, 0, NULL }
13228 dissect_gsm_map_OriginalComponentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13229 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
13230 OriginalComponentIdentifier_choice, hf_index, ett_gsm_map_OriginalComponentIdentifier,
13235 static int dissect_originalComponentIdentifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13236 return dissect_gsm_map_OriginalComponentIdentifier(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_originalComponentIdentifier);
13242 dissect_gsm_map_InitialisationVector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13243 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13248 static int dissect_initialisationVector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13249 return dissect_gsm_map_InitialisationVector(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_initialisationVector);
13253 static const ber_sequence_t SecurityHeader_sequence[] = {
13254 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_securityParametersIndex },
13255 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_originalComponentIdentifier },
13256 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_initialisationVector },
13261 dissect_gsm_map_SecurityHeader(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13262 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13263 SecurityHeader_sequence, hf_index, ett_gsm_map_SecurityHeader);
13267 static int dissect_securityHeader(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13268 return dissect_gsm_map_SecurityHeader(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_securityHeader);
13274 dissect_gsm_map_ProtectedPayload(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13275 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13280 static int dissect_protectedPayload(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13281 return dissect_gsm_map_ProtectedPayload(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_protectedPayload);
13285 static const ber_sequence_t SecureTransportArg_sequence[] = {
13286 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_securityHeader },
13287 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_protectedPayload },
13292 dissect_gsm_map_SecureTransportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13293 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13294 SecureTransportArg_sequence, hf_index, ett_gsm_map_SecureTransportArg);
13300 static const ber_sequence_t SecureTransportRes_sequence[] = {
13301 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_securityHeader },
13302 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_protectedPayload },
13307 dissect_gsm_map_SecureTransportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13308 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13309 SecureTransportRes_sequence, hf_index, ett_gsm_map_SecureTransportRes);
13315 static const value_string gsm_map_NetworkResource_vals[] = {
13320 { 4, "controllingMSC" },
13329 dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13330 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13335 static int dissect_networkResource(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13336 return dissect_gsm_map_NetworkResource(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkResource);
13340 static const ber_sequence_t T_extensibleSystemFailureParam_sequence[] = {
13341 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_networkResource },
13342 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13347 dissect_gsm_map_T_extensibleSystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13348 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13349 T_extensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_T_extensibleSystemFailureParam);
13353 static int dissect_extensibleSystemFailureParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13354 return dissect_gsm_map_T_extensibleSystemFailureParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleSystemFailureParam);
13358 static const value_string gsm_map_SystemFailureParam_vals[] = {
13359 { 0, "networkResource" },
13360 { 1, "extensibleSystemFailureParam" },
13364 static const ber_choice_t SystemFailureParam_choice[] = {
13365 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_networkResource },
13366 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleSystemFailureParam },
13367 { 0, 0, 0, 0, NULL }
13371 dissect_gsm_map_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13372 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
13373 SystemFailureParam_choice, hf_index, ett_gsm_map_SystemFailureParam,
13380 static const ber_sequence_t DataMissingParam_sequence[] = {
13381 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13386 dissect_gsm_map_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13387 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13388 DataMissingParam_sequence, hf_index, ett_gsm_map_DataMissingParam);
13394 static const ber_sequence_t UnexpectedDataParam_sequence[] = {
13395 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13400 dissect_gsm_map_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13401 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13402 UnexpectedDataParam_sequence, hf_index, ett_gsm_map_UnexpectedDataParam);
13408 static const ber_sequence_t FacilityNotSupParam_sequence[] = {
13409 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13414 dissect_gsm_map_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13415 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13416 FacilityNotSupParam_sequence, hf_index, ett_gsm_map_FacilityNotSupParam);
13422 static const ber_sequence_t OR_NotAllowedParam_sequence[] = {
13423 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13428 dissect_gsm_map_OR_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13429 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13430 OR_NotAllowedParam_sequence, hf_index, ett_gsm_map_OR_NotAllowedParam);
13436 static const ber_sequence_t IncompatibleTerminalParam_sequence[] = {
13437 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13442 dissect_gsm_map_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13443 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13444 IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_IncompatibleTerminalParam);
13450 static const ber_sequence_t ResourceLimitationParam_sequence[] = {
13451 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13456 dissect_gsm_map_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13457 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13458 ResourceLimitationParam_sequence, hf_index, ett_gsm_map_ResourceLimitationParam);
13464 static const value_string gsm_map_T_unknownSubscriberDiagnostic_vals[] = {
13465 { 0, "imsiUnknown" },
13466 { 1, "gprsSubscriptionUnknown" },
13472 dissect_gsm_map_T_unknownSubscriberDiagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13473 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13478 static int dissect_unknownSubscriberDiagnostic(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13479 return dissect_gsm_map_T_unknownSubscriberDiagnostic(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_unknownSubscriberDiagnostic);
13483 static const ber_sequence_t UnknownSubscriberParam_sequence[] = {
13484 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13485 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_unknownSubscriberDiagnostic },
13490 dissect_gsm_map_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13491 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13492 UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_UnknownSubscriberParam);
13498 static const ber_sequence_t NumberChangedParam_sequence[] = {
13499 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13504 dissect_gsm_map_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13505 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13506 NumberChangedParam_sequence, hf_index, ett_gsm_map_NumberChangedParam);
13512 static const ber_sequence_t UnidentifiedSubParam_sequence[] = {
13513 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13518 dissect_gsm_map_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13519 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13520 UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_UnidentifiedSubParam);
13526 static const value_string gsm_map_T_roamingNotAllowedCause_vals[] = {
13527 { 0, "plmnRoamingNotAllowed" },
13528 { 3, "operatorDeterminedBarring" },
13534 dissect_gsm_map_T_roamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13535 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13540 static int dissect_roamingNotAllowedCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13541 return dissect_gsm_map_T_roamingNotAllowedCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNotAllowedCause);
13545 static const ber_sequence_t RoamingNotAllowedParam_sequence[] = {
13546 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_roamingNotAllowedCause },
13547 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13552 dissect_gsm_map_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13553 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13554 RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_RoamingNotAllowedParam);
13560 static const ber_sequence_t IllegalSubscriberParam_sequence[] = {
13561 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13566 dissect_gsm_map_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13567 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13568 IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_IllegalSubscriberParam);
13574 static const ber_sequence_t IllegalEquipmentParam_sequence[] = {
13575 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13580 dissect_gsm_map_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13581 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13582 IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_IllegalEquipmentParam);
13588 static const ber_sequence_t BearerServNotProvParam_sequence[] = {
13589 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13594 dissect_gsm_map_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13595 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13596 BearerServNotProvParam_sequence, hf_index, ett_gsm_map_BearerServNotProvParam);
13602 static const ber_sequence_t TeleservNotProvParam_sequence[] = {
13603 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13608 dissect_gsm_map_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13609 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13610 TeleservNotProvParam_sequence, hf_index, ett_gsm_map_TeleservNotProvParam);
13616 static const ber_sequence_t TracingBufferFullParam_sequence[] = {
13617 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13622 dissect_gsm_map_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13623 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13624 TracingBufferFullParam_sequence, hf_index, ett_gsm_map_TracingBufferFullParam);
13630 static const ber_sequence_t NoRoamingNbParam_sequence[] = {
13631 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13636 dissect_gsm_map_NoRoamingNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13637 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13638 NoRoamingNbParam_sequence, hf_index, ett_gsm_map_NoRoamingNbParam);
13644 static const value_string gsm_map_AbsentSubscriberReason_vals[] = {
13645 { 0, "imsiDetach" },
13646 { 1, "restrictedArea" },
13647 { 2, "noPageResponse" },
13654 dissect_gsm_map_AbsentSubscriberReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13655 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13660 static int dissect_absentSubscriberReason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13661 return dissect_gsm_map_AbsentSubscriberReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberReason);
13665 static const ber_sequence_t AbsentSubscriberParam_sequence[] = {
13666 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13667 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_absentSubscriberReason },
13672 dissect_gsm_map_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13673 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13674 AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_AbsentSubscriberParam);
13680 static const ber_sequence_t BusySubscriberParam_sequence[] = {
13681 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13682 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
13683 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Busy_impl },
13688 dissect_gsm_map_BusySubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13689 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13690 BusySubscriberParam_sequence, hf_index, ett_gsm_map_BusySubscriberParam);
13696 static const ber_sequence_t NoSubscriberReplyParam_sequence[] = {
13697 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13702 dissect_gsm_map_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13703 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13704 NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_NoSubscriberReplyParam);
13710 static const ber_sequence_t ForwardingViolationParam_sequence[] = {
13711 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13716 dissect_gsm_map_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13717 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13718 ForwardingViolationParam_sequence, hf_index, ett_gsm_map_ForwardingViolationParam);
13724 static const ber_sequence_t ForwardingFailedParam_sequence[] = {
13725 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13730 dissect_gsm_map_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13731 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13732 ForwardingFailedParam_sequence, hf_index, ett_gsm_map_ForwardingFailedParam);
13738 static const ber_sequence_t ATI_NotAllowedParam_sequence[] = {
13739 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13744 dissect_gsm_map_ATI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13745 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13746 ATI_NotAllowedParam_sequence, hf_index, ett_gsm_map_ATI_NotAllowedParam);
13752 static const ber_sequence_t ATSI_NotAllowedParam_sequence[] = {
13753 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13758 dissect_gsm_map_ATSI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13759 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13760 ATSI_NotAllowedParam_sequence, hf_index, ett_gsm_map_ATSI_NotAllowedParam);
13766 static const ber_sequence_t ATM_NotAllowedParam_sequence[] = {
13767 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13772 dissect_gsm_map_ATM_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13773 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13774 ATM_NotAllowedParam_sequence, hf_index, ett_gsm_map_ATM_NotAllowedParam);
13780 static const ber_sequence_t IllegalSS_OperationParam_sequence[] = {
13781 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13786 dissect_gsm_map_IllegalSS_OperationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13787 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13788 IllegalSS_OperationParam_sequence, hf_index, ett_gsm_map_IllegalSS_OperationParam);
13794 static const ber_sequence_t SS_NotAvailableParam_sequence[] = {
13795 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13800 dissect_gsm_map_SS_NotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13801 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13802 SS_NotAvailableParam_sequence, hf_index, ett_gsm_map_SS_NotAvailableParam);
13808 static const ber_sequence_t SS_SubscriptionViolationParam_sequence[] = {
13809 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13814 dissect_gsm_map_SS_SubscriptionViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13815 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13816 SS_SubscriptionViolationParam_sequence, hf_index, ett_gsm_map_SS_SubscriptionViolationParam);
13822 static const ber_sequence_t InformationNotAvailableParam_sequence[] = {
13823 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13828 dissect_gsm_map_InformationNotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13829 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13830 InformationNotAvailableParam_sequence, hf_index, ett_gsm_map_InformationNotAvailableParam);
13836 static const ber_sequence_t SubBusyForMT_SMS_Param_sequence[] = {
13837 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13838 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gprsConnectionSuspended },
13843 dissect_gsm_map_SubBusyForMT_SMS_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13844 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13845 SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_SubBusyForMT_SMS_Param);
13851 static const value_string gsm_map_CallBarringCause_vals[] = {
13852 { 0, "barringServiceActive" },
13853 { 1, "operatorBarring" },
13859 dissect_gsm_map_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13860 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13865 static int dissect_callBarringCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13866 return dissect_gsm_map_CallBarringCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringCause);
13870 static const ber_sequence_t ExtensibleCallBarredParam_sequence[] = {
13871 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
13872 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13873 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_unauthorisedMessageOriginator },
13878 dissect_gsm_map_ExtensibleCallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13879 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13880 ExtensibleCallBarredParam_sequence, hf_index, ett_gsm_map_ExtensibleCallBarredParam);
13884 static int dissect_extensibleCallBarredParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13885 return dissect_gsm_map_ExtensibleCallBarredParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleCallBarredParam);
13889 static const value_string gsm_map_CallBarredParam_vals[] = {
13890 { 0, "callBarringCause" },
13891 { 1, "extensibleCallBarredParam" },
13895 static const ber_choice_t CallBarredParam_choice[] = {
13896 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
13897 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleCallBarredParam },
13898 { 0, 0, 0, 0, NULL }
13902 dissect_gsm_map_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13903 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
13904 CallBarredParam_choice, hf_index, ett_gsm_map_CallBarredParam,
13911 static const value_string gsm_map_CUG_RejectCause_vals[] = {
13912 { 0, "incomingCallsBarredWithinCUG" },
13913 { 1, "subscriberNotMemberOfCUG" },
13914 { 5, "requestedBasicServiceViolatesCUG-Constraints" },
13915 { 7, "calledPartySS-InteractionViolation" },
13921 dissect_gsm_map_CUG_RejectCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13922 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13927 static int dissect_cug_RejectCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13928 return dissect_gsm_map_CUG_RejectCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_RejectCause);
13932 static const ber_sequence_t CUG_RejectParam_sequence[] = {
13933 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_RejectCause },
13934 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13939 dissect_gsm_map_CUG_RejectParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13940 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13941 CUG_RejectParam_sequence, hf_index, ett_gsm_map_CUG_RejectParam);
13947 static const ber_sequence_t Or_NotAllowedParam_sequence[] = {
13948 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13953 dissect_gsm_map_Or_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13954 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13955 Or_NotAllowedParam_sequence, hf_index, ett_gsm_map_Or_NotAllowedParam);
13961 static const value_string gsm_map_T_cug_RejectCause_vals[] = {
13962 { 0, "incomingCallsBarredWithinCUG" },
13963 { 1, "subscriberNotMemberOfCUG" },
13964 { 5, "requestedBasicServiceViolatesCUG-Constraints" },
13965 { 7, "calledPartySS-InteractionViolation" },
13971 dissect_gsm_map_T_cug_RejectCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13972 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
13977 static int dissect_cug_RejectCause1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13978 return dissect_gsm_map_T_cug_RejectCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_RejectCause1);
13982 static const ber_sequence_t Cug_RejectParam_sequence[] = {
13983 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_RejectCause1 },
13984 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
13989 dissect_gsm_map_Cug_RejectParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
13990 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13991 Cug_RejectParam_sequence, hf_index, ett_gsm_map_Cug_RejectParam);
13997 static const ber_sequence_t NoGroupCallNbParam_sequence[] = {
13998 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14003 dissect_gsm_map_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14004 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14005 NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_NoGroupCallNbParam);
14011 static const ber_sequence_t SS_IncompatibilityCause_sequence[] = {
14012 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
14013 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
14014 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
14019 dissect_gsm_map_SS_IncompatibilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14020 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14021 SS_IncompatibilityCause_sequence, hf_index, ett_gsm_map_SS_IncompatibilityCause);
14027 static const value_string gsm_map_PW_RegistrationFailureCause_vals[] = {
14028 { 0, "undetermined" },
14029 { 1, "invalidFormat" },
14030 { 2, "newPasswordsMismatch" },
14036 dissect_gsm_map_PW_RegistrationFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14037 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
14044 static const ber_sequence_t ShortTermDenialParam_sequence[] = {
14049 dissect_gsm_map_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14050 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14051 ShortTermDenialParam_sequence, hf_index, ett_gsm_map_ShortTermDenialParam);
14057 static const ber_sequence_t LongTermDenialParam_sequence[] = {
14062 dissect_gsm_map_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14063 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14064 LongTermDenialParam_sequence, hf_index, ett_gsm_map_LongTermDenialParam);
14070 static const value_string gsm_map_SM_EnumeratedDeliveryFailureCause_vals[] = {
14071 { 0, "memoryCapacityExceeded" },
14072 { 1, "equipmentProtocolError" },
14073 { 2, "equipmentNotSM-Equipped" },
14074 { 3, "unknownServiceCentre" },
14075 { 4, "sc-Congestion" },
14076 { 5, "invalidSME-Address" },
14077 { 6, "subscriberNotSC-Subscriber" },
14083 dissect_gsm_map_SM_EnumeratedDeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14084 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
14089 static int dissect_sm_EnumeratedDeliveryFailureCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
14090 return dissect_gsm_map_SM_EnumeratedDeliveryFailureCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_EnumeratedDeliveryFailureCause);
14094 static const ber_sequence_t SM_DeliveryFailureCause_sequence[] = {
14095 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_EnumeratedDeliveryFailureCause },
14096 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnosticInfo },
14097 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14102 dissect_gsm_map_SM_DeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14103 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14104 SM_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_SM_DeliveryFailureCause);
14110 static const ber_sequence_t MessageWaitListFullParam_sequence[] = {
14111 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14116 dissect_gsm_map_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14117 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14118 MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_MessageWaitListFullParam);
14124 static const ber_sequence_t AbsentSubscriberSM_Param_sequence[] = {
14125 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_absentSubscriberDiagnosticSM },
14126 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14127 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
14132 dissect_gsm_map_AbsentSubscriberSM_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14133 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14134 AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_AbsentSubscriberSM_Param);
14140 static const ber_sequence_t UnauthorizedRequestingNetwork_Param_sequence[] = {
14141 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14146 dissect_gsm_map_UnauthorizedRequestingNetwork_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14147 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14148 UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_UnauthorizedRequestingNetwork_Param);
14154 static const value_string gsm_map_T_unauthorizedLCSClient_Diagnostic_vals[] = {
14155 { 0, "noAdditionalInformation" },
14156 { 1, "clientNotInMSPrivacyExceptionList" },
14157 { 2, "callToClientNotSetup" },
14158 { 3, "privacyOverrideNotApplicable" },
14159 { 4, "disallowedByLocalRegulatoryRequirements" },
14165 dissect_gsm_map_T_unauthorizedLCSClient_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14166 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
14171 static int dissect_unauthorizedLCSClient_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
14172 return dissect_gsm_map_T_unauthorizedLCSClient_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorizedLCSClient_Diagnostic);
14176 static const ber_sequence_t UnauthorizedLCSClient_Param_sequence[] = {
14177 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorizedLCSClient_Diagnostic_impl },
14178 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
14183 dissect_gsm_map_UnauthorizedLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14184 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14185 UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_UnauthorizedLCSClient_Param);
14191 static const value_string gsm_map_PositionMethodFailure_Diagnostic_vals[] = {
14192 { 0, "congestion" },
14193 { 1, "insufficientResources" },
14194 { 2, "insufficientMeasurementData" },
14195 { 3, "inconsistentMeasurementData" },
14196 { 4, "locationProcedureNotCompleted" },
14197 { 5, "locationProcedureNotSupportedByTargetMS" },
14198 { 6, "qoSNotAttainable" },
14199 { 7, "positionMethodNotAvailableInNetwork" },
14200 { 8, "positionMethodNotAvailableInLocationArea" },
14206 dissect_gsm_map_PositionMethodFailure_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14207 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
14212 static int dissect_positionMethodFailure_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
14213 return dissect_gsm_map_PositionMethodFailure_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_positionMethodFailure_Diagnostic);
14217 static const ber_sequence_t PositionMethodFailure_Param_sequence[] = {
14218 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_positionMethodFailure_Diagnostic_impl },
14219 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
14224 dissect_gsm_map_PositionMethodFailure_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14225 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14226 PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_PositionMethodFailure_Param);
14232 static const ber_sequence_t UnknownOrUnreachableLCSClient_Param_sequence[] = {
14233 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14238 dissect_gsm_map_UnknownOrUnreachableLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14239 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14240 UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_UnknownOrUnreachableLCSClient_Param);
14246 static const ber_sequence_t MM_EventNotSupported_Param_sequence[] = {
14247 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14252 dissect_gsm_map_MM_EventNotSupported_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14253 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14254 MM_EventNotSupported_Param_sequence, hf_index, ett_gsm_map_MM_EventNotSupported_Param);
14260 static const ber_sequence_t TargetCellOutsideGCA_Param_sequence[] = {
14261 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
14266 dissect_gsm_map_TargetCellOutsideGCA_Param(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14267 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14268 TargetCellOutsideGCA_Param_sequence, hf_index, ett_gsm_map_TargetCellOutsideGCA_Param);
14274 static const ber_sequence_t SecureTransportErrorParam_sequence[] = {
14275 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_securityHeader },
14276 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_protectedPayload },
14281 dissect_gsm_map_SecureTransportErrorParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
14282 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
14283 SecureTransportErrorParam_sequence, hf_index, ett_gsm_map_SecureTransportErrorParam);
14290 static void dissect_Component_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
14291 dissect_gsm_map_Component(FALSE, tvb, 0, pinfo, tree, hf_gsm_map_Component_PDU);
14295 /*--- End of included file: packet-gsm_map-fn.c ---*/
14296 #line 258 "packet-gsm_map-template.c"
14298 const value_string gsm_map_opr_code_strings[] = {
14299 { 2, "updateLocation" },
14300 { 3, "cancelLocation" },
14301 { 4, "provideRoamingNumber" },
14302 { 5, "noteSubscriberDataModified" },
14303 { 6, "resumeCallHandling" },
14304 { 7, "insertSubscriberData" },
14305 { 8, "deleteSubscriberData" },
14306 { 9, "sendParameters" }, /* map-ac infoRetrieval (14) version1 (1)*/
14307 { 10, "registerSS" },
14309 { 12, "activateSS" },
14310 { 13, "deactivateSS" },
14311 { 14, "interrogateSS" },
14312 { 15, "authenticationFailureReport" },
14313 { 17, "registerPassword" },
14314 { 18, "getPassword" },
14315 { 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */
14316 { 20, "releaseResources" },
14317 { 22, "sendRoutingInfo" },
14318 { 23, "updateGprsLocation" },
14319 { 24, "sendRoutingInfoForGprs" },
14320 { 25, "failureReport" },
14321 { 26, "noteMsPresentForGprs" },
14322 { 28, "performHandover" }, /* map-ac handoverControl (11) version1 (1)*/
14323 { 29, "sendEndSignal" },
14324 { 30, "performSubsequentHandover" }, /* map-ac handoverControl (11) version1 (1) */
14325 { 31, "provideSIWFSNumber" },
14326 { 32, "sIWFSSignallingModify" },
14327 { 33, "processAccessSignalling" },
14328 { 34, "forwardAccessSignalling" },
14329 { 35, "noteInternalHandover" }, /* map-ac handoverControl (11) version1 (1) */
14331 { 38, "forwardCheckSS-Indication" },
14332 { 39, "prepareGroupCall" },
14333 { 40, "sendGroupCallEndSignal" },
14334 { 41, "processGroupCallSignalling" },
14335 { 42, "forwardGroupCallSignalling" },
14336 { 43, "checkIMEI" },
14337 { 44, "mt-forwardSM" },
14338 { 45, "sendRoutingInfoForSM" },
14339 { 46, "mo-forwardSM" },
14340 { 47, "reportSM-DeliveryStatus" },
14341 { 48, "noteSubscriberPresent" }, /* map-ac mwdMngt (24) version1 (1) */
14342 { 49, "alertServiceCentreWithoutResult" }, /* map-ac shortMsgAlert (23) version1 (1) */
14343 { 50, "activateTraceMode" },
14344 { 51, "deactivateTraceMode" },
14345 { 52, "traceSubscriberActivity" }, /* map-ac handoverControl (11) version1 (1) */
14346 { 54, "beginSubscriberActivity" }, /* map-ac networkFunctionalSs (18) version1 (1) */
14347 { 55, "sendIdentification" },
14348 { 56, "sendAuthenticationInfo" },
14349 { 57, "restoreData" },
14350 { 58, "sendIMSI" },
14351 { 59, "processUnstructuredSS-Request" },
14352 { 60, "unstructuredSS-Request" },
14353 { 61, "unstructuredSS-Notify" },
14354 { 62, "anyTimeSubscriptionInterrogation" },
14355 { 63, "informServiceCentre" },
14356 { 64, "alertServiceCentre" },
14357 { 65, "anyTimeModification" },
14358 { 66, "readyForSM" },
14360 { 68, "prepareHandover" },
14361 { 69, "prepareSubsequentHandover" },
14362 { 70, "provideSubscriberInfo" },
14363 { 71, "anyTimeInterrogation" },
14364 { 72, "ss-InvocationNotification" },
14365 { 73, "setReportingState" },
14366 { 74, "statusReport" },
14367 { 75, "remoteUserFree" },
14368 { 76, "registerCC-Entry" },
14369 { 77, "eraseCC-Entry" },
14370 { 78, "secureTransportClass1" },
14371 { 79, "secureTransportClass2" },
14372 { 80, "secureTransportClass3" },
14373 { 81, "secureTransportClass4" },
14374 { 83, "provideSubscriberLocation" },
14375 { 85, "sendRoutingInfoForLCS" },
14376 { 86, "subscriberLocationReport" },
14377 { 87, "ist-Alert" },
14378 { 88, "ist-Command" },
14379 { 89, "noteMM-Event" },
14382 static const value_string gsm_map_err_code_string_vals[] = {
14383 { 1, "Unknown Subscriber" },
14384 { 3, "Unknown MSC" },
14385 { 5, "Unidentified Subscriber" },
14386 { 6, "Absent Subscriber SM" },
14387 { 7, "Unknown Equipment" },
14388 { 8, "Roaming Not Allowed" },
14389 { 9, "Illegal Subscriber" },
14390 { 10, "Bearer Service Not Provisioned" },
14391 { 11, "Teleservice Not Provisioned" },
14392 { 12, "Illegal Equipment" },
14393 { 13, "Call Barred" },
14394 { 14, "Forwarding Violation" },
14395 { 15, "CUG Reject" },
14396 { 16, "Illegal SS Operation" },
14397 { 17, "SS Error Status" },
14398 { 18, "SS Not Available" },
14399 { 19, "SS Subscription Violation" },
14400 { 20, "SS Incompatibility" },
14401 { 21, "Facility Not Supported" },
14402 { 25, "No Handover Number Available" },
14403 { 26, "Subsequent Handover Failure" },
14404 { 27, "Absent Subscriber" },
14405 { 28, "Incompatible Terminal" },
14406 { 29, "Short Term Denial" },
14407 { 30, "Long Term Denial" },
14408 { 31, "Subscriber Busy For MT SMS" },
14409 { 32, "SM Delivery Failure" },
14410 { 33, "Message Waiting List Full" },
14411 { 34, "System Failure" },
14412 { 35, "Data Missing" },
14413 { 36, "Unexpected Data Value" },
14414 { 37, "PW Registration Failure" },
14415 { 38, "Negative PW Check" },
14416 { 39, "No Roaming Number Available" },
14417 { 40, "Tracing Buffer Full" },
14418 { 42, "Target Cell Outside Group Call Area" },
14419 { 43, "Number Of PW Attempts Violation" },
14420 { 44, "Number Changed" },
14421 { 45, "Busy Subscriber" },
14422 { 46, "No Subscriber Reply" },
14423 { 47, "Forwarding Failed" },
14424 { 48, "OR Not Allowed" },
14425 { 49, "ATI Not Allowed" },
14426 { 50, "No Group Call Number Available" },
14427 { 51, "Resource Limitation" },
14428 { 52, "Unauthorized Requesting Network" },
14429 { 53, "Unauthorized LCS Client" },
14430 { 54, "Position Method Failure" },
14431 { 58, "Unknown Or Unreachable LCS Client" },
14432 { 59, "MM Event Not Supported" },
14433 { 60, "ATSI Not Allowed" },
14434 { 61, "ATM Not Allowed" },
14435 { 62, "Information Not Available" },
14436 { 71, "Unknown Alphabet" },
14437 { 72, "USSD Busy" },
14438 { 120, "Nbr Sb Exceeded" },
14439 { 121, "Rejected By User" },
14440 { 122, "Rejected By Network" },
14441 { 123, "Deflection To Served Subscriber" },
14442 { 124, "Special Service Code" },
14443 { 125, "Invalid Deflected To Number" },
14444 { 126, "Max Number Of MPTY Participants Exceeded" },
14445 { 127, "Resources Not Available" },
14448 static const true_false_string gsm_map_extension_value = {
14452 static const value_string gsm_map_nature_of_number_values[] = {
14453 { 0x00, "unknown" },
14454 { 0x01, "International Number" },
14455 { 0x02, "National Significant Number" },
14456 { 0x03, "Network Specific Number" },
14457 { 0x04, "Subscriber Number" },
14458 { 0x05, "Reserved" },
14459 { 0x06, "Abbreviated Number" },
14460 { 0x07, "Reserved for extension" },
14463 static const value_string gsm_map_number_plan_values[] = {
14464 { 0x00, "unknown" },
14465 { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
14467 { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
14468 { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
14470 { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
14472 { 0x08, "National Numbering" },
14473 { 0x09, "Private Numbering" },
14474 { 0x0f, "Reserved for extension" },
14478 static const true_false_string gsm_map_Ss_Status_q_bit_values = {
14482 static const true_false_string gsm_map_Ss_Status_p_values = {
14486 static const true_false_string gsm_map_Ss_Status_r_values = {
14490 static const true_false_string gsm_map_Ss_Status_a_values = {
14497 dissect_gsm_map_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
14498 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
14500 if (check_col(pinfo->cinfo, COL_INFO)){
14501 col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
14507 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
14512 case 2: /*updateLocation*/
14513 offset=dissect_gsm_map_UpdateLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
14515 case 3: /*cancelLocation*/
14516 octet = tvb_get_guint8(tvb,0) & 0xf;
14517 if ( octet == 3){ /* */
14518 offset = offset +2;
14519 offset=dissect_gsm_map_CancelLocationArg(TRUE, tvb, offset, pinfo, tree, -1);
14521 offset=dissect_gsm_map_CancelLocationArgV2(FALSE, tvb, offset, pinfo, tree, -1);
14524 case 4: /*provideRoamingNumber*/
14525 offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
14527 case 6: /*resumeCallHandling*/
14528 offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1);
14530 case 7: /*insertSubscriberData*/
14531 offset=dissect_gsm_map_InsertSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
14533 case 8: /*deleteSubscriberData*/
14534 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
14536 /* TODO find out why this isn't in the ASN1 file
14537 case 9: sendParameters
14538 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
14541 case 10: /*registerSS*/
14542 offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14544 case 11: /*eraseSS*/
14545 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
14547 case 12: /*activateSS*/
14548 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
14550 case 13: /*deactivateSS*/
14551 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
14553 case 14: /*interrogateSS*/
14554 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
14556 case 15: /*authenticationFailureReport*/
14557 offset=dissect_gsm_map_AuthenticationFailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
14559 case 17: /*registerPassword*/
14560 offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
14562 case 18: /*getPassword*/
14563 offset=dissect_gsm_map_GetPasswordArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_getPassword);
14565 case 20: /*releaseResources*/
14566 offset=dissect_gsm_map_ReleaseResourcesArg(FALSE, tvb, offset, pinfo, tree, -1);
14568 case 22: /*sendRoutingInfo*/
14569 offset=dissect_gsm_map_SendRoutingInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
14571 case 23: /*updateGprsLocation*/
14572 offset=dissect_gsm_map_UpdateGprsLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
14574 case 24: /*sendRoutingInfoForGprs*/
14575 offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
14577 case 25: /*failureReport*/
14578 offset=dissect_gsm_map_FailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
14580 case 26: /*noteMsPresentForGprs*/
14581 offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
14583 case 29: /*sendEndSignal*/
14584 octet = tvb_get_guint8(tvb,0) & 0xf;
14585 if ( octet == 3){ /* This is a V3 message ??? */
14586 offset = offset +2;
14587 offset=dissect_gsm_map_SendEndSignalArgV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
14589 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
14592 case 31: /*provideSIWFSNumbe*/
14593 offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
14595 case 32: /*sIWFSSignallingModify*/
14596 offset=dissect_gsm_map_SIWFSSignallingModifyArg(FALSE, tvb, offset, pinfo, tree, -1);
14598 case 33: /*processAccessSignalling*/
14599 octet = tvb_get_guint8(tvb,0) & 0xf;
14600 if ( octet == 3){ /* This is a V3 message ??? */
14601 offset = offset +2;
14602 offset = dissect_gsm_map_ProcessAccessSignallingArgV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
14604 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
14607 case 34: /*forwardAccessSignalling*/
14608 octet = tvb_get_guint8(tvb,0) & 0xf;
14609 if ( octet == 3){ /* This is a V3 message ??? */
14610 offset = offset +2;
14611 offset=dissect_gsm_map_ForwardAccessSignallingArgV3(TRUE, tvb, offset, pinfo, tree, -1);
14613 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
14617 offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1);
14619 case 38: /*forwardCheckSS-Indication*/
14622 case 39: /*prepareGroupCall*/
14623 offset=dissect_gsm_map_PrepareGroupCallArg(FALSE, tvb, offset, pinfo, tree, -1);
14625 case 40: /*sendGroupCallEndSignal*/
14626 dissect_gsm_map_SendGroupCallEndSignalArg(FALSE, tvb, offset, pinfo, tree, -1);
14628 case 42: /*processGroupCallSignalling*/
14629 offset=dissect_gsm_map_ProcessGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
14631 case 43: /*checkIMEI*/
14632 if (application_context_version < 2 ){
14633 offset=dissect_gsm_map_CheckIMEIArgV2(FALSE, tvb, offset, pinfo, tree, -1);
14635 offset=dissect_gsm_map_CheckIMEIArgV2(FALSE, tvb, offset, pinfo, tree, -1);
14638 case 44: /*mt-forwardSM*/
14639 offset=dissect_gsm_map_Mt_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14641 case 45: /*sendRoutingInfoForSM*/
14642 offset=dissect_gsm_map_RoutingInfoForSMArg(FALSE, tvb, offset, pinfo, tree, -1);
14644 case 46: /*mo-forwardSM*/
14645 offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14647 case 47: /*reportSM-DeliveryStatus*/
14648 offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
14650 case 50: /*activateTraceMode*/
14651 offset=dissect_gsm_map_ActivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
14653 case 51: /*deactivateTraceMode*/
14654 offset=dissect_gsm_map_DeactivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
14656 case 55: /*sendIdentification*/
14657 offset=dissect_gsm_map_SendIdentificationArg(FALSE, tvb, offset, pinfo, tree, -1);
14659 case 56: /*sendAuthenticationInfo*/
14660 if (application_context_version < 3 ){
14661 offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
14663 offset=dissect_gsm_map_SendAuthenticationInfoArgV2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoArg);
14666 case 57: /*restoreData*/
14667 offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1);
14669 case 58: /*sendIMSI*/
14670 offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, -1);
14672 case 59: /*processUnstructuredSS-Request*/
14673 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14675 case 60: /*unstructuredSS-Request*/
14676 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14678 case 61: /*unstructuredSS-Notify*/
14679 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14681 case 62: /*AnyTimeSubscriptionInterrogation*/
14682 offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
14684 case 63: /*informServiceCentre*/
14685 offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
14687 case 64: /*alertServiceCentre*/
14688 offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
14690 case 65: /*AnyTimeModification*/
14691 offset=dissect_gsm_map_AnyTimeModificationArg(FALSE, tvb, offset, pinfo, tree, -1);
14693 case 66: /*readyForSM*/
14694 offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14696 case 67: /*purgeMS*/
14697 offset=dissect_gsm_map_PurgeMSArg(FALSE, tvb, offset, pinfo, tree, -1);
14699 case 68: /*prepareHandover*/
14700 octet = tvb_get_guint8(tvb,0) & 0xf;
14701 if ( octet == 3){ /* This is a V3 message ??? */
14702 offset = offset +2;
14703 offset=dissect_gsm_map_PrepareHO_ArgV3(TRUE, tvb, offset, pinfo, tree, -1);
14705 offset=dissect_gsm_map_PrepareHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14708 case 69: /*prepareSubsequentHandover*/
14709 offset=dissect_gsm_map_PrepareSubsequentHOArg(FALSE, tvb, offset, pinfo, tree, -1);
14711 case 70: /*provideSubscriberInfo*/
14712 offset=dissect_gsm_map_ProvideSubscriberInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
14714 case 71: /*anyTimeInterrogation*/
14715 offset=dissect_gsm_map_AnyTimeInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
14717 case 72: /*ss-InvocationNotificatio*/
14718 offset=dissect_gsm_map_Ss_InvocationNotificationArg(FALSE, tvb, offset, pinfo, tree, -1);
14720 case 73: /*setReportingState*/
14721 offset=dissect_gsm_map_SetReportingStateArg(FALSE, tvb, offset, pinfo, tree, -1);
14723 case 74: /*statusReport*/
14724 offset=dissect_gsm_map_StatusReportArg(FALSE, tvb, offset, pinfo, tree, -1);
14726 case 75: /*remoteUserFree*/
14727 offset=dissect_gsm_map_RemoteUserFreeArg(FALSE, tvb, offset, pinfo, tree, -1);
14729 case 76: /*registerCC-Entry*/
14730 offset=dissect_gsm_map_RegisterCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
14732 case 77: /*eraseCC-Entry*/
14733 offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
14735 case 78: /*secureTransportClass1*/
14736 case 79: /*secureTransportClass1*/
14737 case 80: /*secureTransportClass1*/
14738 case 81: /*secureTransportClass1*/
14739 offset=dissect_gsm_map_SecureTransportArg(FALSE, tvb, offset, pinfo, tree, -1);
14741 case 83: /*provideSubscriberLocation*/
14742 offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14744 case 85: /*sendRoutingInfoForLCS*/
14745 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14747 case 86: /*subscriberLocationReport*/
14748 offset=dissect_gsm_map_SubscriberLocationReport_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14750 case 87: /*ist-Alert*/
14751 offset=dissect_gsm_map_IST_AlertArg(FALSE, tvb, offset, pinfo, tree, -1);
14753 case 88: /*ist-Command*/
14754 offset=dissect_gsm_map_IST_CommandArg(FALSE, tvb, offset, pinfo, tree, -1);
14756 case 89: /*noteMM-Event*/
14757 offset=dissect_gsm_map_NoteMM_EventArg(FALSE, tvb, offset, pinfo, tree, -1);
14760 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
14766 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
14770 case 2: /*updateLocation*/
14771 octet = tvb_get_guint8(tvb,offset);
14772 /* As it seems like SEQUENCE OF sometimes is omitted, find out if it's there */
14773 if ( octet == 0x30 ){ /* Class 0 Univerasl, P/C 1 Constructed,Tag 16 Sequence OF */
14774 offset=dissect_gsm_map_UpdateLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
14775 }else{ /* Try decoding with IMPLICIT flag set */
14776 offset=dissect_gsm_map_UpdateLocationRes(TRUE, tvb, offset, pinfo, tree, -1);
14779 case 3: /*cancelLocation*/
14780 offset=dissect_gsm_map_CancelLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
14782 case 4: /*provideRoamingNumber*/
14783 offset=dissect_gsm_map_ProvideRoamingNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
14785 case 6: /*resumeCallHandling*/
14786 offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1);
14788 case 7: /*insertSubscriberData*/
14789 offset=dissect_gsm_map_InsertSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
14791 case 8: /*deleteSubscriberData*/
14792 offset=dissect_gsm_map_DeleteSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
14794 /* TODO find out why this isn't in the ASN1 file
14795 case 9: sendParameters
14796 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
14799 case 10: /*registerSS*/
14800 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
14802 case 11: /*eraseSS*/
14803 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
14805 case 12: /*activateSS*/
14806 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
14808 case 13: /*deactivateSS*/
14809 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
14811 case 14: /*interrogateSS*/
14812 offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
14814 case 15: /*authenticationFailureReport*/
14815 offset=dissect_gsm_map_AuthenticationFailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
14817 case 17: /*registerPassword*/
14818 offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
14820 case 18: /*getPassword*/
14821 offset=dissect_gsm_map_CurrentPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentPassword);
14823 case 20: /*releaseResources*/
14824 offset=dissect_gsm_map_ReleaseResourcesRes(FALSE, tvb, offset, pinfo, tree, -1);
14826 case 22: /*sendRoutingInfo*/
14827 /* This is done to get around a problem with IMPLICIT tag:s */
14828 offset = offset +2;
14829 offset=dissect_gsm_map_SendRoutingInfoRes(TRUE, tvb, offset, pinfo, tree, -1);
14831 case 23: /*updateGprsLocation*/
14832 offset=dissect_gsm_map_UpdateGprsLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
14834 case 24: /*sendRoutingInfoForGprs*/
14835 offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
14837 case 25: /*failureReport*/
14838 offset=dissect_gsm_map_FailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
14840 case 26: /*noteMsPresentForGprs*/
14841 offset=dissect_gsm_map_NoteMsPresentForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
14843 case 29: /*sendEndSignal*/
14844 /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
14845 * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
14847 offset=dissect_gsm_map_SendEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
14849 case 31: /*provideSIWFSNumbe*/
14850 offset=dissect_gsm_map_ProvideSIWFSNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
14852 case 32: /*provideSIWFSNumbe*/
14853 offset=dissect_gsm_map_SIWFSSignallingModifyRes(FALSE, tvb, offset, pinfo, tree, -1);
14855 case 39: /*prepareGroupCall*/
14856 offset=dissect_gsm_map_PrepareGroupCallRes(FALSE, tvb, offset, pinfo, tree, -1);
14858 case 40: /*sendGroupCallEndSignal*/
14859 dissect_gsm_map_SendGroupCallEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
14861 case 43: /*checkIMEI*/
14862 offset=dissect_gsm_map_CheckIMEIRes(FALSE, tvb, offset, pinfo, tree, -1);
14864 case 44: /*mt-forwardSM*/
14865 offset=dissect_gsm_map_Mt_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
14867 case 45: /*sendRoutingInfoForSM*/
14868 offset=dissect_gsm_map_RoutingInfoForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
14870 case 46: /*mo-forwardSM*/
14871 offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
14873 case 48: /*reportSM-DeliveryStatus*/
14874 offset=dissect_gsm_map_ReportSM_DeliveryStatusRes(FALSE, tvb, offset, pinfo, tree, -1);
14876 case 50: /*activateTraceMode*/
14877 offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
14879 case 51: /*deactivateTraceMode*/
14880 offset=dissect_gsm_map_DeactivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
14882 case 55: /*sendIdentification
14883 * In newer versions IMSI and authenticationSetList is OPTIONAL and two new parameters added
14884 * however if the tag (3) is stripped of it should work with the 'new' def.(?)
14886 octet = tvb_get_guint8(tvb,0) & 0xf;
14887 if ( octet == 3){ /* This is a V3 message ??? */
14888 offset = offset +2;
14890 offset=dissect_gsm_map_SendIdentificationRes(TRUE, tvb, offset, pinfo, tree, -1);
14892 case 56: /*sendAuthenticationInfo*/
14893 octet = tvb_get_guint8(tvb,0) & 0xf;
14894 if ( octet == 3){ /* This is a V3 message ??? */
14895 offset = offset +2;
14896 offset=dissect_gsm_map_SendAuthenticationInfoResV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
14898 offset=dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
14901 case 57: /*restoreData*/
14902 offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
14904 case 58: /*sendIMSI*/
14905 offset=dissect_gsm_map_IMSI(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
14907 case 59: /*unstructuredSS-Request*/
14908 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
14910 case 60: /*unstructuredSS-Request*/
14911 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
14913 case 61: /*unstructuredSS-Notify*/
14915 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
14917 case 62: /*AnyTimeSubscriptionInterrogation*/
14918 offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
14920 case 65: /*AnyTimeModification*/
14921 offset=dissect_gsm_map_AnyTimeModificationRes(FALSE, tvb, offset, pinfo, tree, -1);
14923 case 66: /*readyForSM*/
14924 offset=dissect_gsm_map_ReadyForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
14926 case 67: /*purgeMS*/
14927 offset=dissect_gsm_map_PurgeMSRes(FALSE, tvb, offset, pinfo, tree, -1);
14929 case 68: /*prepareHandover*/
14930 octet = tvb_get_guint8(tvb,0) & 0xf;
14931 if ( octet == 3){ /* This is a V3 message ??? */
14932 offset = offset +2;
14933 offset=dissect_gsm_map_PrepareHO_ResV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
14935 offset=dissect_gsm_map_PrepareHO_Res(FALSE, tvb, offset, pinfo, tree, -1);
14938 case 69: /*prepareSubsequentHandover*/
14939 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
14941 case 70: /*provideSubscriberInfo*/
14942 offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
14944 case 71: /*anyTimeInterrogation*/
14945 offset=dissect_gsm_map_AnyTimeInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
14947 case 72: /*ss-InvocationNotificatio*/
14948 offset=dissect_gsm_map_Ss_InvocationNotificationRes(FALSE, tvb, offset, pinfo, tree, -1);
14950 case 73: /*setReportingState*/
14951 offset=dissect_gsm_map_SetReportingStateRes(FALSE, tvb, offset, pinfo, tree, -1);
14953 case 74: /*statusReport*/
14954 offset=dissect_gsm_map_StatusReportRes(FALSE, tvb, offset, pinfo, tree, -1);
14956 case 75: /*remoteUserFree*/
14957 offset=dissect_gsm_map_RemoteUserFreeRes(FALSE, tvb, offset, pinfo, tree, -1);
14959 case 76: /*registerCC-Entry*/
14960 offset=dissect_gsm_map_RegisterCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
14962 case 77: /*eraseCC-Entry*/
14963 offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
14965 case 78: /*secureTransportClass1*/
14966 case 79: /*secureTransportClass2*/
14967 case 80: /*secureTransportClass3*/
14968 case 81: /*secureTransportClass4*/
14969 offset=dissect_gsm_map_SecureTransportRes(FALSE, tvb, offset, pinfo, tree, -1);
14971 case 83: /*provideSubscriberLocation*/
14972 offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1);
14974 case 85: /*sendRoutingInfoForLCS*/
14975 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
14977 case 86: /*subscriberLocationReport*/
14978 offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1);
14980 case 87: /*ist-Alert*/
14981 offset=dissect_gsm_map_IST_AlertRes(FALSE, tvb, offset, pinfo, tree, -1);
14983 case 88: /*ist-Command*/
14984 offset=dissect_gsm_map_IST_CommandRes(FALSE, tvb, offset, pinfo, tree, -1);
14986 case 89: /*noteMM-Event*/
14987 offset=dissect_gsm_map_NoteMM_EventRes(FALSE, tvb, offset, pinfo, tree, -1);
14990 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
14997 static int dissect_returnErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
15000 case 1: /* UnknownSubscriberParam */
15001 offset=dissect_gsm_map_UnknownSubscriberParam(FALSE, tvb, offset, pinfo, tree, -1);
15003 case 4: /* SecureTransportErrorParam */
15004 offset=dissect_gsm_map_SecureTransportErrorParam(FALSE, tvb, offset, pinfo, tree, -1);
15006 case 5: /* UnidentifiedSubParam */
15007 offset=dissect_gsm_map_UnidentifiedSubParam(FALSE, tvb, offset, pinfo, tree, -1);
15009 case 6: /* AbsentSubscriberSM-Param */
15010 offset=dissect_gsm_map_AbsentSubscriberSM_Param(FALSE, tvb, offset, pinfo, tree, -1);
15012 case 8: /* RoamingNotAllowedParam */
15013 offset=dissect_gsm_map_RoamingNotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
15015 case 9: /* IllegalSubscriberParam */
15016 offset=dissect_gsm_map_IllegalSubscriberParam(FALSE, tvb, offset, pinfo, tree, -1);
15018 case 10: /* BearerServNotProvParam */
15019 offset=dissect_gsm_map_BearerServNotProvParam(FALSE, tvb, offset, pinfo, tree, -1);
15021 case 11: /* TeleservNotProvParam */
15022 offset=dissect_gsm_map_TeleservNotProvParam(FALSE, tvb, offset, pinfo, tree, -1);
15024 case 12: /* IllegalEquipmentParam */
15025 offset=dissect_gsm_map_IllegalEquipmentParam(FALSE, tvb, offset, pinfo, tree, -1);
15027 case 13: /* CallBarredParam */
15028 offset=dissect_gsm_map_CallBarredParam(FALSE, tvb, offset, pinfo, tree, -1);
15030 case 14: /* ForwardingViolationParam */
15031 offset=dissect_gsm_map_ForwardingViolationParam(FALSE, tvb, offset, pinfo, tree, -1);
15033 case 15: /* CUG-RejectParam */
15034 offset=dissect_gsm_map_CUG_RejectParam(FALSE, tvb, offset, pinfo, tree, -1);
15036 case 16: /* IllegalSS-OperationParam */
15037 offset=dissect_gsm_map_IllegalSS_OperationParam(FALSE, tvb, offset, pinfo, tree, -1);
15039 case 18: /* SS-NotAvailableParam */
15040 offset=dissect_gsm_map_SS_NotAvailableParam(FALSE, tvb, offset, pinfo, tree, -1);
15042 case 19: /* SS-SubscriptionViolationParam */
15043 offset=dissect_gsm_map_SS_SubscriptionViolationParam(FALSE, tvb, offset, pinfo, tree, -1);
15045 case 20: /* SS-IncompatibilityCause */
15046 offset=dissect_gsm_map_SS_IncompatibilityCause(FALSE, tvb, offset, pinfo, tree, -1);
15048 case 21: /* FacilityNotSupParam */
15049 offset=dissect_gsm_map_FacilityNotSupParam(FALSE, tvb, offset, pinfo, tree, -1);
15051 case 27: /* AbsentSubscriberParam */
15052 offset=dissect_gsm_map_AbsentSubscriberParam(FALSE, tvb, offset, pinfo, tree, -1);
15054 case 28: /* IncompatibleTerminalParam */
15055 offset=dissect_gsm_map_IncompatibleTerminalParam(FALSE, tvb, offset, pinfo, tree, -1);
15057 case 29: /* ShortTermDenialParam */
15058 offset=dissect_gsm_map_ShortTermDenialParam(FALSE, tvb, offset, pinfo, tree, -1);
15060 case 30: /* LongTermDenialParam */
15061 offset=dissect_gsm_map_LongTermDenialParam(FALSE, tvb, offset, pinfo, tree, -1);
15063 case 31: /* SubBusyForMT-SMS-Param */
15064 offset=dissect_gsm_map_SubBusyForMT_SMS_Param(FALSE, tvb, offset, pinfo, tree, -1);
15066 case 32: /* SM-DeliveryFailureCause */
15067 offset=dissect_gsm_map_SM_DeliveryFailureCause(FALSE, tvb, offset, pinfo, tree, -1);
15069 case 33: /* MessageWaitListFullParam */
15070 offset=dissect_gsm_map_MessageWaitListFullParam(FALSE, tvb, offset, pinfo, tree, -1);
15072 case 34: /* SystemFailureParam */
15073 offset=dissect_gsm_map_SystemFailureParam(FALSE, tvb, offset, pinfo, tree, -1);
15075 case 35: /* DataMissingParam */
15076 offset=dissect_gsm_map_DataMissingParam(FALSE, tvb, offset, pinfo, tree, -1);
15078 case 36: /* UnexpectedDataParam */
15079 offset=dissect_gsm_map_UnexpectedDataParam(FALSE, tvb, offset, pinfo, tree, -1);
15081 case 37: /* PW-RegistrationFailureCause */
15082 offset=dissect_gsm_map_PW_RegistrationFailureCause(FALSE, tvb, offset, pinfo, tree, -1);
15084 case 39: /* NoRoamingNbParam */
15085 offset=dissect_gsm_map_NoRoamingNbParam(FALSE, tvb, offset, pinfo, tree, -1);
15087 case 40: /* TracingBufferFullParam */
15088 offset=dissect_gsm_map_TracingBufferFullParam(FALSE, tvb, offset, pinfo, tree, -1);
15090 case 42: /* TargetCellOutsideGCA-Param */
15091 offset=dissect_gsm_map_TargetCellOutsideGCA_Param(FALSE, tvb, offset, pinfo, tree, -1);
15093 case 44: /* NumberChangedParam */
15094 offset=dissect_gsm_map_NumberChangedParam(FALSE, tvb, offset, pinfo, tree, -1);
15096 case 45: /* BusySubscriberParam */
15097 offset=dissect_gsm_map_BusySubscriberParam(FALSE, tvb, offset, pinfo, tree, -1);
15099 case 46: /* NoSubscriberReplyParam */
15100 offset=dissect_gsm_map_NoSubscriberReplyParam(FALSE, tvb, offset, pinfo, tree, -1);
15102 case 47: /* ForwardingFailedParam */
15103 offset=dissect_gsm_map_ForwardingFailedParam(FALSE, tvb, offset, pinfo, tree, -1);
15105 case 48: /* OR-NotAllowedParam */
15106 offset=dissect_gsm_map_OR_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
15108 case 49: /* ATI-NotAllowedParam */
15109 offset=dissect_gsm_map_ATI_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
15111 case 50: /* NoGroupCallNbParam */
15112 offset=dissect_gsm_map_NoGroupCallNbParam(FALSE, tvb, offset, pinfo, tree, -1);
15114 case 51: /* ResourceLimitationParam */
15115 offset=dissect_gsm_map_ResourceLimitationParam(FALSE, tvb, offset, pinfo, tree, -1);
15117 case 52: /* UnauthorizedRequestingNetwork-Param */
15118 offset=dissect_gsm_map_UnauthorizedRequestingNetwork_Param(FALSE, tvb, offset, pinfo, tree, -1);
15120 case 53: /* UnauthorizedLCSClient-Param */
15121 offset=dissect_gsm_map_UnauthorizedLCSClient_Param(FALSE, tvb, offset, pinfo, tree, -1);
15123 case 54: /* PositionMethodFailure-Param */
15124 offset=dissect_gsm_map_PositionMethodFailure_Param(FALSE, tvb, offset, pinfo, tree, -1);
15126 case 58: /* UnknownOrUnreachableLCSClient-Param */
15127 offset=dissect_gsm_map_UnknownOrUnreachableLCSClient_Param(FALSE, tvb, offset, pinfo, tree, -1);
15129 case 59: /* MM-EventNotSupported-Param */
15130 offset=dissect_gsm_map_MM_EventNotSupported_Param(FALSE, tvb, offset, pinfo, tree, -1);
15132 case 60: /* ATSI-NotAllowedParam */
15133 offset=dissect_gsm_map_ATSI_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
15135 case 61: /* ATM-NotAllowedParam */
15136 offset=dissect_gsm_map_ATM_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
15138 case 62: /* InformationNotAvailableParam */
15139 offset=dissect_gsm_map_InformationNotAvailableParam(FALSE, tvb, offset, pinfo, tree, -1);
15142 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnErrorData blob");
15147 static guint8 gsmmap_pdu_type = 0;
15148 static guint8 gsm_map_pdu_size = 0;
15151 dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo , proto_tree *tree, int hf_index) {
15156 application_context_version = 0;
15157 if (pinfo->private_data != NULL){
15158 version_ptr = strrchr(pinfo->private_data,'.');
15160 application_context_version = atoi(version_ptr+1);
15164 gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
15165 /* Get the length and add 2 */
15166 gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
15168 if (check_col(pinfo->cinfo, COL_INFO)){
15169 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(gsmmap_pdu_type, gsm_map_Component_vals, "Unknown GSM-MAP PDU (%u)"));
15171 offset = dissect_gsm_map_Component(FALSE, tvb, 0, pinfo, tree, hf_gsm_map_Component_PDU);
15174 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
15175 GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU, NULL);
15185 dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
15187 proto_item *item=NULL;
15188 proto_tree *tree=NULL;
15189 /* Used for gsm_map TAP */
15190 static gsm_map_tap_rec_t tap_rec;
15194 if (check_col(pinfo->cinfo, COL_PROTOCOL))
15196 col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
15199 top_tree = parent_tree;
15201 /* create display subtree for the protocol */
15203 item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE);
15204 tree = proto_item_add_subtree(item, ett_gsm_map);
15207 dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
15208 match_strval_idx(opcode, gsm_map_opr_code_strings, &op_idx);
15210 tap_rec.invoke = FALSE;
15211 if ( gsmmap_pdu_type == 1 )
15212 tap_rec.invoke = TRUE;
15213 tap_rec.opr_code_idx = op_idx;
15214 tap_rec.size = gsm_map_pdu_size;
15216 tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
15219 const value_string ssCode_vals[] = {
15220 { 0x00, "allSS - all SS" },
15221 { 0x10 ,"allLineIdentificationSS - all line identification SS" },
15222 { 0x11 ,"clip - calling line identification presentation" },
15223 { 0x12 ,"clir - calling line identification restriction" },
15224 { 0x13 ,"colp - connected line identification presentation" },
15225 { 0x14 ,"colr - connected line identification restriction" },
15226 { 0x15 ,"mci - malicious call identification" },
15227 { 0x18 ,"allNameIdentificationSS - all name indentification SS" },
15228 { 0x19 ,"cnap - calling name presentation" },
15229 { 0x20 ,"allForwardingSS - all forwarding SS" },
15230 { 0x21 ,"cfu - call forwarding unconditional" },
15231 { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
15232 { 0x29 ,"cfb - call forwarding busy" },
15233 { 0x2a ,"cfnry - call forwarding on no reply" },
15234 { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
15235 { 0x24 ,"cd - call deflection" },
15236 { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
15237 { 0x31 ,"ect - explicit call transfer" },
15238 { 0x32 ,"mah - mobile access hunting" },
15239 { 0x40 ,"allCallCompletionSS - all Call completion SS" },
15240 { 0x41 ,"cw - call waiting" },
15241 { 0x42 ,"hold - call hold" },
15242 { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
15243 { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
15244 { 0x45 ,"mc - multicall" },
15245 { 0x50 ,"allMultiPartySS - all multiparty SS" },
15246 { 0x51 ,"multiPTY - multiparty" },
15247 { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
15248 { 0x61 ,"cug - closed user group" },
15249 { 0x70 ,"allChargingSS - all charging SS" },
15250 { 0x71 ,"aoci - advice of charge information" },
15251 { 0x72 ,"aocc - advice of charge charging" },
15252 { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
15253 { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
15254 { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
15255 { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
15256 { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
15257 { 0x91 ,"barringOfOutgoingCalls" },
15258 { 0x92 ,"baoc - barring of all outgoing calls" },
15259 { 0x93 ,"boic - barring of outgoing international calls" },
15260 { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
15261 { 0x99 ,"barringOfIncomingCalls" },
15262 { 0x9a ,"baic - barring of all incoming calls" },
15263 { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
15264 { 0xf0 ,"allPLMN-specificSS" },
15265 { 0xa0 ,"allCallPrioritySS - all call priority SS" },
15266 { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
15267 { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
15268 { 0xb1 ,"universal - allow location by any LCS client" },
15269 { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
15270 { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
15271 { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
15272 { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
15273 { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
15274 { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
15275 { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
15277 { 0xf1 ,"plmn-specificSS-1" },
15278 { 0xf2 ,"plmn-specificSS-2" },
15279 { 0xf3 ,"plmn-specificSS-3" },
15280 { 0xf4 ,"plmn-specificSS-4" },
15281 { 0xf5 ,"plmn-specificSS-5" },
15282 { 0xf6 ,"plmn-specificSS-6" },
15283 { 0xf7 ,"plmn-specificSS-7" },
15284 { 0xf8 ,"plmn-specificSS-8" },
15285 { 0xf9 ,"plmn-specificSS-9" },
15286 { 0xfa ,"plmn-specificSS-a" },
15287 { 0xfb ,"plmn-specificSS-b" },
15288 { 0xfc ,"plmn-specificSS-c" },
15289 { 0xfd ,"plmn-specificSS-d" },
15290 { 0xfe ,"plmn-specificSS-e" },
15291 { 0xff ,"plmn-specificSS-f" },
15295 static const value_string Teleservice_vals[] = {
15296 {0x00, "allTeleservices" },
15297 {0x10, "allSpeechTransmissionServices" },
15298 {0x11, "telephony" },
15299 {0x12, "emergencyCalls" },
15300 {0x20, "allShortMessageServices" },
15301 {0x21, "shortMessageMT-PP" },
15302 {0x22, "shortMessageMO-PP" },
15303 {0x60, "allFacsimileTransmissionServices" },
15304 {0x61, "facsimileGroup3AndAlterSpeech" },
15305 {0x62, "automaticFacsimileGroup3" },
15306 {0x63, "facsimileGroup4" },
15308 {0x70, "allDataTeleservices" },
15309 {0x80, "allTeleservices-ExeptSMS" },
15311 {0x90, "allVoiceGroupCallServices" },
15312 {0x91, "voiceGroupCall" },
15313 {0x92, "voiceBroadcastCall" },
15315 {0xd0, "allPLMN-specificTS" },
15316 {0xd1, "plmn-specificTS-1" },
15317 {0xd2, "plmn-specificTS-2" },
15318 {0xd3, "plmn-specificTS-3" },
15319 {0xd4, "plmn-specificTS-4" },
15320 {0xd5, "plmn-specificTS-5" },
15321 {0xd6, "plmn-specificTS-6" },
15322 {0xd7, "plmn-specificTS-7" },
15323 {0xd8, "plmn-specificTS-8" },
15324 {0xd9, "plmn-specificTS-9" },
15325 {0xda, "plmn-specificTS-A" },
15326 {0xdb, "plmn-specificTS-B" },
15327 {0xdc, "plmn-specificTS-C" },
15328 {0xdd, "plmn-specificTS-D" },
15329 {0xde, "plmn-specificTS-E" },
15330 {0xdf, "plmn-specificTS-F" },
15334 static const value_string Bearerservice_vals[] = {
15335 {0x00, "allBearerServices" },
15336 {0x10, "allDataCDA-Services" },
15337 {0x11, "dataCDA-300bps" },
15338 {0x12, "dataCDA-1200bps" },
15339 {0x13, "dataCDA-1200-75bps" },
15340 {0x14, "dataCDA-2400bps" },
15341 {0x15, "dataCDA-4800bps" },
15342 {0x16, "dataCDA-9600bps" },
15343 {0x17, "general-dataCDA" },
15345 {0x18, "allDataCDS-Services" },
15346 {0x1A, "dataCDS-1200bps" },
15347 {0x1C, "dataCDS-2400bps" },
15348 {0x1D, "dataCDS-4800bps" },
15349 {0x1E, "dataCDS-9600bps" },
15350 {0x1F, "general-dataCDS" },
15352 {0x20, "allPadAccessCA-Services" },
15353 {0x21, "padAccessCA-300bps" },
15354 {0x22, "padAccessCA-1200bps" },
15355 {0x23, "padAccessCA-1200-75bps" },
15356 {0x24, "padAccessCA-2400bps" },
15357 {0x25, "padAccessCA-4800bps" },
15358 {0x26, "padAccessCA-9600bps" },
15359 {0x27, "general-padAccessCA" },
15361 {0x28, "allDataPDS-Services" },
15362 {0x2C, "dataPDS-2400bps" },
15363 {0x2D, "dataPDS-4800bps" },
15364 {0x2E, "dataPDS-9600bps" },
15365 {0x2F, "general-dataPDS" },
15367 {0x30, "allAlternateSpeech-DataCDA" },
15368 {0x38, "allAlternateSpeech-DataCDS" },
15369 {0x40, "allSpeechFollowedByDataCDA" },
15370 {0x48, "allSpeechFollowedByDataCDS" },
15372 {0x50, "allDataCircuitAsynchronous" },
15373 {0x60, "allAsynchronousServices" },
15374 {0x58, "allDataCircuitSynchronous" },
15375 {0x68, "allSynchronousServices" },
15377 {0xD0, "allPLMN-specificBS" },
15378 {0xD1, "plmn-specificBS-1" },
15379 {0xD2, "plmn-specificBS-2" },
15380 {0xD3, "plmn-specificBS-3" },
15381 {0xD4, "plmn-specificBS-4" },
15382 {0xD5, "plmn-specificBS-5" },
15383 {0xD6, "plmn-specificBS-6" },
15384 {0xD7, "plmn-specificBS-7" },
15385 {0xD8, "plmn-specificBS-8" },
15386 {0xD9, "plmn-specificBS-9" },
15387 {0xDA, "plmn-specificBS-A" },
15388 {0xDB, "plmn-specificBS-B" },
15389 {0xDC, "plmn-specificBS-C" },
15390 {0xDD, "plmn-specificBS-D" },
15391 {0xDE, "plmn-specificBS-E" },
15392 {0xDF, "plmn-specificBS-F" },
15397 /* ForwardingOptions
15399 -- bit 8: notification to forwarding party
15400 -- 0 no notification
15403 static const true_false_string notification_value = {
15408 -- bit 7: redirecting presentation
15409 -- 0 no presentation
15412 static const true_false_string redirecting_presentation_value = {
15417 -- bit 6: notification to calling party
15418 -- 0 no notification
15422 -- bit 5: 0 (unused)
15423 -- bits 43: forwarding reason
15424 -- 00 ms not reachable
15427 -- 11 unconditional when used in a SRI Result,
15428 -- or call deflection when used in a RCH Argument
15430 static const value_string forwarding_reason_values[] = {
15431 {0x0, "ms not reachable" },
15433 {0x2, "no reply" },
15434 {0x3, "unconditional when used in a SRI Result or call deflection when used in a RCH Argument" },
15438 -- bits 21: 00 (unused)
15441 static const value_string pdp_type_org_values[] = {
15444 {0xf, "Empty PDP type" },
15448 static const value_string etsi_pdp_type_number_values[] = {
15449 {0x0, "Reserved, used in earlier version of this protocol" },
15454 static const value_string ietf_pdp_type_number_values[] = {
15455 {0x21, "IPv4 Address" },
15456 {0x57, "IPv6 Address" },
15461 ChargingCharacteristics ::= OCTET STRING (SIZE (2))
15462 -- Octets are coded according to 3GPP TS 32.015.
15463 -- From 3GPP TS 32.015.
15465 -- Descriptions for the bits of the flag set:
15467 -- Bit 1: H (Hot billing) := '00000001'B
15468 -- Bit 2: F (Flat rate) := '00000010'B
15469 -- Bit 3: P (Prepaid service) := '00000100'B
15470 -- Bit 4: N (Normal billing) := '00001000'B
15471 -- Bit 5: - (Reserved, set to 0) := '00010000'B
15472 -- Bit 6: - (Reserved, set to 0) := '00100000'B
15473 -- Bit 7: - (Reserved, set to 0) := '01000000'B
15474 -- Bit 8: - (Reserved, set to 0) := '10000000'B
15476 static const value_string chargingcharacteristics_values[] = {
15477 {0x1, "H (Hot billing)" },
15478 {0x2, "F (Flat rate)" },
15479 {0x4, "P (Prepaid service)" },
15480 {0x8, "N (Normal billing)" },
15483 /*--- proto_reg_handoff_gsm_map ---------------------------------------*/
15484 static void range_delete_callback(guint32 ssn)
15487 delete_itu_tcap_subdissector(ssn, map_handle);
15491 static void range_add_callback(guint32 ssn)
15494 add_itu_tcap_subdissector(ssn, map_handle);
15498 void proto_reg_handoff_gsm_map(void) {
15500 static int map_prefs_initialized = FALSE;
15501 data_handle = find_dissector("data");
15503 if (!map_prefs_initialized) {
15504 map_prefs_initialized = TRUE;
15505 map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
15506 register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map, "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)");
15507 register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version2(2)" );
15508 register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version3(3)" );
15509 register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version2(2)" );
15510 register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version1(1)" );
15511 register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version3(3)" );
15512 register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version2(2)" );
15513 register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version1(1)" );
15514 register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version3(3)" );
15515 register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version2(2)" );
15516 register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version1(1)" );
15517 register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) callControlTransfer(6) version4(4)" );
15518 register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reporting(7) version3(3)" );
15519 register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) callCompletion(8) version3(3)" );
15520 register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version2(2)" );
15521 register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version1(1)" );
15522 register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version3(3)" );
15523 register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version2(2)" );
15524 register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version1(1)" );
15525 register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) sIWFSAllocation(12) version3(3)" );
15526 register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version2(2)" );
15527 register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version1(1)" );
15528 register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version3(3)" );
15529 register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version2(2)" );
15530 register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version1(1)" );
15531 register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version1(1)" );
15532 register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version2(2)" );
15533 register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version3(3)" );
15534 register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version3(3)" );
15535 register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version2(2)" );
15536 register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version1(1)" );
15537 register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version2(2)" );
15538 register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version1(1)" );
15539 register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version2(2)" );
15540 register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version1(1)" );
15541 register_ber_oid_dissector_handle("0.4.0.0.1.0.19.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkUnstructuredSs(19) version2(2)" );
15542 register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version3(3)" );
15543 register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version2(2)" );
15544 register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version1(1)" );
15545 register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMO-Relay(21) version2(2)" );
15546 register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) --shortMsgRelay--21 version1(1)" );
15547 register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataModificationNotification(22) version3(3)" );
15548 register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version2(2)" );
15549 register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version1(1)" );
15550 register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version2(2)" );
15551 register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version1(1)" );
15552 register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMT-Relay(25) version3(3)" );
15553 register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMT-Relay(25) version2(2)" );
15554 register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) imsiRetrieval(26) version2(2)" );
15555 register_ber_oid_dissector_handle("0.4.0.0.1.0.25.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) msPurging(27) version2(2)" );
15556 register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) anyTimeInfoEnquiry(29) version3(3)" );
15557 register_ber_oid_dissector_handle("0.4.0.0.1.0.31.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) oupCallControl(31) version3(3)" );
15558 register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) gprsLocationUpdate(32) version3(3)" );
15559 register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) rsLocationInfoRetrieval(33) version4(4)" );
15560 register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) failureReport(34) version3(3)" );
15561 register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) ss-InvocationNotification(36) version3(3)" );
15562 register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationSvcGateway(37) version3(3)" );
15563 register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationSvcEnquiry(38) version3(3)" );
15564 register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) authenticationFailureReport(39) version3(3)" );
15565 register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) secureTransportHandling(40) version3(3)" );
15566 register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mm-EventReporting(42) version3(3)" );
15567 register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) anyTimeInfoHandling(43) version3(3)" );
15570 range_foreach(ssn_range, range_delete_callback);
15574 ssn_range = range_copy(global_ssn_range);
15576 range_foreach(ssn_range, range_add_callback);
15580 /*--- proto_register_gsm_map -------------------------------------------*/
15581 void proto_register_gsm_map(void) {
15582 module_t *gsm_map_module;
15584 /* List of fields */
15585 static hf_register_info hf[] = {
15587 { &hf_gsm_map_invokeCmd,
15588 { "invokeCmd", "gsm_map.invokeCmd",
15589 FT_UINT32, BASE_DEC, VALS(gsm_map_opr_code_strings), 0,
15590 "InvokePDU/invokeCmd", HFILL }},
15591 { &hf_gsm_map_invokeid,
15592 { "invokeid", "gsm_map.invokeid",
15593 FT_INT32, BASE_DEC, NULL, 0,
15594 "InvokeId/invokeid", HFILL }},
15595 { &hf_gsm_map_absent,
15596 { "absent", "gsm_map.absent",
15597 FT_NONE, BASE_NONE, NULL, 0,
15598 "InvokeId/absent", HFILL }},
15599 { &hf_gsm_map_invokeId,
15600 { "invokeId", "gsm_map.invokeId",
15601 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
15602 "InvokePDU/invokeId", HFILL }},
15603 { &hf_gsm_map_invoke,
15604 { "invoke", "gsm_map.invoke",
15605 FT_NONE, BASE_NONE, NULL, 0,
15606 "GSMMAPPDU/invoke", HFILL }},
15607 { &hf_gsm_map_returnResult,
15608 { "returnResult", "gsm_map.returnResult",
15609 FT_NONE, BASE_NONE, NULL, 0,
15610 "GSMMAPPDU/returnResult", HFILL }},
15611 {&hf_gsm_map_returnResult_result,
15612 { "returnResult_result", "gsm_map.returnresultresult",
15613 FT_BYTES, BASE_NONE, NULL, 0,
15614 "returnResult_result", HFILL }},
15615 {&hf_gsm_map_returnError_result,
15616 { "returnError_result", "gsm_map.returnerrorresult",
15617 FT_UINT32, BASE_DEC, NULL, 0,
15618 "returnError_result", HFILL }},
15619 {&hf_gsm_map_returnError,
15620 { "returnError", "gsm_map.returnError",
15621 FT_NONE, BASE_NONE, NULL, 0,
15622 "GSMMAPPDU/returnError", HFILL }},
15623 {&hf_gsm_map_local_errorCode,
15624 { "Local Error Code", "gsm_map.localerrorCode",
15625 FT_UINT32, BASE_DEC, VALS(gsm_map_err_code_string_vals), 0,
15626 "localerrorCode", HFILL }},
15627 {&hf_gsm_map_global_errorCode_oid,
15628 { "Global Error Code OID", "gsm_map.hlobalerrorCodeoid",
15629 FT_STRING, BASE_NONE, NULL, 0,
15630 "globalerrorCodeoid", HFILL }},
15631 {&hf_gsm_map_global_errorCode,
15632 { "Global Error Code", "gsm_map.globalerrorCode",
15633 FT_UINT32, BASE_DEC, NULL, 0,
15634 "globalerrorCode", HFILL }},
15635 { &hf_gsm_map_getPassword,
15636 { "Password", "gsm_map.password",
15637 FT_UINT8, BASE_DEC, VALS(gsm_map_GetPasswordArg_vals), 0,
15638 "Password", HFILL }},
15641 { &hf_gsm_map_SendAuthenticationInfoArg,
15642 { "SendAuthenticationInfoArg", "gsm_map.SendAuthenticationInfoArg",
15643 FT_BYTES, BASE_NONE, NULL, 0,
15644 "SendAuthenticationInfoArg", HFILL }},
15645 { &hf_gsm_map_SendAuthenticationInfoRes,
15646 { "SendAuthenticationInfoRes", "gsm_map.SendAuthenticationInfoRes",
15647 FT_BYTES, BASE_NONE, NULL, 0,
15648 "SendAuthenticationInfoRes", HFILL }},
15649 { &hf_gsm_map_currentPassword,
15650 { "currentPassword", "gsm_map.currentPassword",
15651 FT_STRING, BASE_NONE, NULL, 0,
15653 { &hf_gsm_mapSendEndSignal,
15654 { "mapSendEndSignalArg", "gsm_map.mapsendendsignalarg",
15655 FT_BYTES, BASE_NONE, NULL, 0,
15656 "mapSendEndSignalArg", HFILL }},
15657 { &hf_gsm_map_extension,
15658 { "Extension", "gsm_map.extension",
15659 FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
15660 "Extension", HFILL }},
15661 { &hf_gsm_map_nature_of_number,
15662 { "Nature of number", "gsm_map.nature_of_number",
15663 FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70,
15664 "Nature of number", HFILL }},
15665 { &hf_gsm_map_number_plan,
15666 { "Number plan", "gsm_map.number_plan",
15667 FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f,
15668 "Number plan", HFILL }},
15669 { &hf_gsm_map_isdn_address_digits,
15670 { "ISDN Address digits", "gsm_map.isdn.address.digits",
15671 FT_STRING, BASE_NONE, NULL, 0,
15672 "ISDN Address digits", HFILL }},
15673 { &hf_gsm_map_address_digits,
15674 { "Address digits", "gsm_map.address.digits",
15675 FT_STRING, BASE_NONE, NULL, 0,
15676 "Address digits", HFILL }},
15677 { &hf_gsm_map_servicecentreaddress_digits,
15678 { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
15679 FT_STRING, BASE_NONE, NULL, 0,
15680 "ServiceCentreAddress digits", HFILL }},
15681 { &hf_gsm_map_imsi_digits,
15682 { "Imsi digits", "gsm_map.imsi_digits",
15683 FT_STRING, BASE_NONE, NULL, 0,
15684 "Imsi digits", HFILL }},
15685 { &hf_gsm_map_Ss_Status_unused,
15686 { "Unused", "gsm_map.unused",
15687 FT_UINT8, BASE_HEX, NULL, 0xf0,
15688 "Unused", HFILL }},
15689 { &hf_gsm_map_Ss_Status_q_bit,
15690 { "Q bit", "gsm_map.ss_status_q_bit",
15691 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
15693 { &hf_gsm_map_Ss_Status_p_bit,
15694 { "P bit", "gsm_map.ss_status_p_bit",
15695 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
15697 { &hf_gsm_map_Ss_Status_r_bit,
15698 { "R bit", "gsm_map.ss_status_r_bit",
15699 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
15701 { &hf_gsm_map_Ss_Status_a_bit,
15702 { "A bit", "gsm_map.ss_status_a_bit",
15703 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
15705 { &hf_gsm_map_notification_to_forwarding_party,
15706 { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party",
15707 FT_BOOLEAN, 8, TFS(¬ification_value), 0x80,
15708 "Notification to forwarding party", HFILL }},
15709 { &hf_gsm_map_redirecting_presentation,
15710 { "Redirecting presentation", "gsm_map.redirecting_presentation",
15711 FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40,
15712 "Redirecting presentation", HFILL }},
15713 { &hf_gsm_map_notification_to_calling_party,
15714 { "Notification to calling party", "gsm_map.notification_to_clling_party",
15715 FT_BOOLEAN, 8, TFS(¬ification_value), 0x20,
15716 "Notification to calling party", HFILL }},
15717 { &hf_gsm_map_forwarding_reason,
15718 { "Forwarding reason", "gsm_map.forwarding_reason",
15719 FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c,
15720 "forwarding reason", HFILL }},
15721 { &hf_gsm_map_pdp_type_org,
15722 { "PDP Type Organization", "gsm_map.pdp_type_org",
15723 FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f,
15724 "PDP Type Organization", HFILL }},
15725 { &hf_gsm_map_etsi_pdp_type_number,
15726 { "PDP Type Number", "gsm_map.pdp_type_org",
15727 FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0,
15728 "ETSI PDP Type Number", HFILL }},
15729 { &hf_gsm_map_ietf_pdp_type_number,
15730 { "PDP Type Number", "gsm_map.ietf_pdp_type_number",
15731 FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0,
15732 "IETF PDP Type Number", HFILL }},
15733 { &hf_gsm_map_ext_qos_subscribed_pri,
15734 { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri",
15735 FT_UINT8, BASE_DEC, NULL, 0xff,
15736 "Allocation/Retention priority", HFILL }},
15737 { &hf_gsm_map_qos_traffic_cls,
15738 { "Traffic class", "gsm_map.qos.traffic_cls",
15739 FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0xe0,
15740 "Traffic class", HFILL }},
15741 { &hf_gsm_map_qos_del_order,
15742 { "Delivery order", "gsm_map.qos.del_order",
15743 FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0x18,
15744 "Delivery order", HFILL }},
15745 { &hf_gsm_map_qos_del_of_err_sdu,
15746 { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu",
15747 FT_UINT8, BASE_DEC, VALS(gsm_a_qos_del_of_err_sdu_vals), 0x03,
15748 "Delivery of erroneous SDUs", HFILL }},
15749 { &hf_gsm_map_qos_ber,
15750 { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber",
15751 FT_UINT8, BASE_DEC, VALS(gsm_a_qos_ber_vals), 0xf0,
15752 "Residual Bit Error Rate (BER)", HFILL }},
15753 { &hf_gsm_map_qos_sdu_err_rat,
15754 { "SDU error ratio", "gsm_map.qos.sdu_err_rat",
15755 FT_UINT8, BASE_DEC, VALS(gsm_a_qos_sdu_err_rat_vals), 0x0f,
15756 "SDU error ratio", HFILL }},
15757 { &hf_gsm_map_qos_traff_hdl_pri,
15758 { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri",
15759 FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traff_hdl_pri_vals), 0x03,
15760 "Traffic handling priority", HFILL }},
15762 { &hf_gsm_map_qos_max_sdu,
15763 { "Maximum SDU size (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.max_sdu",
15764 FT_UINT8, BASE_DEC, NULL, 0xff,
15765 "Maximum SDU size", HFILL }},
15766 { &hf_gsm_map_max_brate_ulink,
15767 { "Maximum bit rate for uplink (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.max_brate_ulink",
15768 FT_UINT8, BASE_DEC, NULL, 0xff,
15769 "Maximum bit rate for uplink", HFILL }},
15770 { &hf_gsm_map_max_brate_dlink,
15771 { "Maximum bit rate for downlink (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.max_brate_dlink",
15772 FT_UINT8, BASE_DEC, NULL, 0xff,
15773 "Maximum bit rate for downlink", HFILL }},
15774 { &hf_gsm_map_qos_transfer_delay,
15775 { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay",
15776 FT_UINT8, BASE_DEC, NULL, 0xfc,
15777 "Transfer delay", HFILL }},
15778 { &hf_gsm_map_guaranteed_max_brate_ulink,
15779 { "Guaranteed bit rate for uplink (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.brate_ulink",
15780 FT_UINT8, BASE_DEC, NULL, 0xff,
15781 "Guaranteed bit rate for uplink", HFILL }},
15782 { &hf_gsm_map_guaranteed_max_brate_dlink,
15783 { "Guaranteed bit rate for downlink (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.brate_dlink",
15784 FT_UINT8, BASE_DEC, NULL, 0xff,
15785 "Guaranteed bit rate for downlink", HFILL }},
15787 /*--- Included file: packet-gsm_map-hfarr.c ---*/
15788 #line 1 "packet-gsm_map-hfarr.c"
15789 { &hf_gsm_map_Component_PDU,
15790 { "Component", "gsm_map.Component",
15791 FT_UINT32, BASE_DEC, VALS(gsm_map_Component_vals), 0,
15792 "Component", HFILL }},
15793 { &hf_gsm_map_invoke,
15794 { "invoke", "gsm_map.invoke",
15795 FT_NONE, BASE_NONE, NULL, 0,
15796 "Component/invoke", HFILL }},
15797 { &hf_gsm_map_returnResultLast,
15798 { "returnResultLast", "gsm_map.returnResultLast",
15799 FT_NONE, BASE_NONE, NULL, 0,
15800 "Component/returnResultLast", HFILL }},
15801 { &hf_gsm_map_returnError,
15802 { "returnError", "gsm_map.returnError",
15803 FT_NONE, BASE_NONE, NULL, 0,
15804 "Component/returnError", HFILL }},
15805 { &hf_gsm_map_reject,
15806 { "reject", "gsm_map.reject",
15807 FT_NONE, BASE_NONE, NULL, 0,
15808 "Component/reject", HFILL }},
15809 { &hf_gsm_map_invokeID,
15810 { "invokeID", "gsm_map.invokeID",
15811 FT_INT32, BASE_DEC, NULL, 0,
15813 { &hf_gsm_map_linkedID,
15814 { "linkedID", "gsm_map.linkedID",
15815 FT_INT32, BASE_DEC, NULL, 0,
15816 "Invoke/linkedID", HFILL }},
15817 { &hf_gsm_map_opCode,
15818 { "opCode", "gsm_map.opCode",
15819 FT_UINT32, BASE_DEC, VALS(gsm_map_OPERATION_vals), 0,
15821 { &hf_gsm_map_invokeparameter,
15822 { "invokeparameter", "gsm_map.invokeparameter",
15823 FT_NONE, BASE_NONE, NULL, 0,
15824 "Invoke/invokeparameter", HFILL }},
15825 { &hf_gsm_map_resultretres,
15826 { "resultretres", "gsm_map.resultretres",
15827 FT_NONE, BASE_NONE, NULL, 0,
15828 "ReturnResult/resultretres", HFILL }},
15829 { &hf_gsm_map_returnparameter,
15830 { "returnparameter", "gsm_map.returnparameter",
15831 FT_NONE, BASE_NONE, NULL, 0,
15832 "ReturnResult/resultretres/returnparameter", HFILL }},
15833 { &hf_gsm_map_errorCode,
15834 { "errorCode", "gsm_map.errorCode",
15835 FT_UINT32, BASE_DEC, VALS(gsm_map_ERROR_vals), 0,
15836 "ReturnError/errorCode", HFILL }},
15837 { &hf_gsm_map_parameter,
15838 { "parameter", "gsm_map.parameter",
15839 FT_NONE, BASE_NONE, NULL, 0,
15840 "ReturnError/parameter", HFILL }},
15841 { &hf_gsm_map_invokeIDRej,
15842 { "invokeIDRej", "gsm_map.invokeIDRej",
15843 FT_UINT32, BASE_DEC, VALS(gsm_map_T_invokeIDRej_vals), 0,
15844 "Reject/invokeIDRej", HFILL }},
15845 { &hf_gsm_map_derivable,
15846 { "derivable", "gsm_map.derivable",
15847 FT_INT32, BASE_DEC, NULL, 0,
15848 "Reject/invokeIDRej/derivable", HFILL }},
15849 { &hf_gsm_map_not_derivable,
15850 { "not-derivable", "gsm_map.not_derivable",
15851 FT_NONE, BASE_NONE, NULL, 0,
15852 "Reject/invokeIDRej/not-derivable", HFILL }},
15853 { &hf_gsm_map_problem,
15854 { "problem", "gsm_map.problem",
15855 FT_UINT32, BASE_DEC, VALS(gsm_map_T_problem_vals), 0,
15856 "Reject/problem", HFILL }},
15857 { &hf_gsm_map_generalProblem,
15858 { "generalProblem", "gsm_map.generalProblem",
15859 FT_INT32, BASE_DEC, VALS(gsm_map_GeneralProblem_vals), 0,
15860 "Reject/problem/generalProblem", HFILL }},
15861 { &hf_gsm_map_invokeProblem,
15862 { "invokeProblem", "gsm_map.invokeProblem",
15863 FT_INT32, BASE_DEC, VALS(gsm_map_InvokeProblem_vals), 0,
15864 "Reject/problem/invokeProblem", HFILL }},
15865 { &hf_gsm_map_returnResultProblem,
15866 { "returnResultProblem", "gsm_map.returnResultProblem",
15867 FT_INT32, BASE_DEC, VALS(gsm_map_ReturnResultProblem_vals), 0,
15868 "Reject/problem/returnResultProblem", HFILL }},
15869 { &hf_gsm_map_returnErrorProblem,
15870 { "returnErrorProblem", "gsm_map.returnErrorProblem",
15871 FT_INT32, BASE_DEC, VALS(gsm_map_ReturnErrorProblem_vals), 0,
15872 "Reject/problem/returnErrorProblem", HFILL }},
15873 { &hf_gsm_map_localValue,
15874 { "localValue", "gsm_map.localValue",
15875 FT_INT32, BASE_DEC, VALS(gsm_map_OperationLocalvalue_vals), 0,
15876 "OPERATION/localValue", HFILL }},
15877 { &hf_gsm_map_globalValue,
15878 { "globalValue", "gsm_map.globalValue",
15879 FT_OID, BASE_NONE, NULL, 0,
15881 { &hf_gsm_map_localValue1,
15882 { "localValue", "gsm_map.localValue",
15883 FT_INT32, BASE_DEC, VALS(gsm_map_LocalErrorcode_vals), 0,
15884 "ERROR/localValue", HFILL }},
15885 { &hf_gsm_map_protocolId,
15886 { "protocolId", "gsm_map.protocolId",
15887 FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
15889 { &hf_gsm_map_signalInfo,
15890 { "signalInfo", "gsm_map.signalInfo",
15891 FT_BYTES, BASE_HEX, NULL, 0,
15893 { &hf_gsm_map_extensionContainer,
15894 { "extensionContainer", "gsm_map.extensionContainer",
15895 FT_NONE, BASE_NONE, NULL, 0,
15897 { &hf_gsm_map_imsi,
15898 { "imsi", "gsm_map.imsi",
15899 FT_BYTES, BASE_HEX, NULL, 0,
15901 { &hf_gsm_map_msc_Number,
15902 { "msc-Number", "gsm_map.msc_Number",
15903 FT_BYTES, BASE_HEX, NULL, 0,
15905 { &hf_gsm_map_vlr_Number,
15906 { "vlr-Number", "gsm_map.vlr_Number",
15907 FT_BYTES, BASE_HEX, NULL, 0,
15909 { &hf_gsm_map_lmsi,
15910 { "lmsi", "gsm_map.lmsi",
15911 FT_BYTES, BASE_HEX, NULL, 0,
15913 { &hf_gsm_map_vlr_Capability,
15914 { "vlr-Capability", "gsm_map.vlr_Capability",
15915 FT_NONE, BASE_NONE, NULL, 0,
15917 { &hf_gsm_map_informPreviousNetworkEntity,
15918 { "informPreviousNetworkEntity", "gsm_map.informPreviousNetworkEntity",
15919 FT_NONE, BASE_NONE, NULL, 0,
15921 { &hf_gsm_map_cs_LCS_NotSupportedByUE,
15922 { "cs-LCS-NotSupportedByUE", "gsm_map.cs_LCS_NotSupportedByUE",
15923 FT_NONE, BASE_NONE, NULL, 0,
15924 "UpdateLocationArg/cs-LCS-NotSupportedByUE", HFILL }},
15925 { &hf_gsm_map_v_gmlc_Address,
15926 { "v-gmlc-Address", "gsm_map.v_gmlc_Address",
15927 FT_BYTES, BASE_HEX, NULL, 0,
15929 { &hf_gsm_map_add_info,
15930 { "add-info", "gsm_map.add_info",
15931 FT_NONE, BASE_NONE, NULL, 0,
15933 { &hf_gsm_map_hlr_Number,
15934 { "hlr-Number", "gsm_map.hlr_Number",
15935 FT_BYTES, BASE_HEX, NULL, 0,
15937 { &hf_gsm_map_add_Capability,
15938 { "add-Capability", "gsm_map.add_Capability",
15939 FT_NONE, BASE_NONE, NULL, 0,
15941 { &hf_gsm_map_supportedCamelPhases,
15942 { "supportedCamelPhases", "gsm_map.supportedCamelPhases",
15943 FT_BYTES, BASE_HEX, NULL, 0,
15945 { &hf_gsm_map_solsaSupportIndicator,
15946 { "solsaSupportIndicator", "gsm_map.solsaSupportIndicator",
15947 FT_NONE, BASE_NONE, NULL, 0,
15949 { &hf_gsm_map_istSupportIndicator,
15950 { "istSupportIndicator", "gsm_map.istSupportIndicator",
15951 FT_UINT32, BASE_DEC, VALS(gsm_map_IST_SupportIndicator_vals), 0,
15953 { &hf_gsm_map_superChargerSupportedInServingNetworkEntity,
15954 { "superChargerSupportedInServingNetworkEntity", "gsm_map.superChargerSupportedInServingNetworkEntity",
15955 FT_UINT32, BASE_DEC, VALS(gsm_map_SuperChargerInfo_vals), 0,
15957 { &hf_gsm_map_longFTN_Supported,
15958 { "longFTN-Supported", "gsm_map.longFTN_Supported",
15959 FT_NONE, BASE_NONE, NULL, 0,
15961 { &hf_gsm_map_supportedLCS_CapabilitySets,
15962 { "supportedLCS-CapabilitySets", "gsm_map.supportedLCS_CapabilitySets",
15963 FT_BYTES, BASE_HEX, NULL, 0,
15965 { &hf_gsm_map_offeredCamel4CSIs,
15966 { "offeredCamel4CSIs", "gsm_map.offeredCamel4CSIs",
15967 FT_BYTES, BASE_HEX, NULL, 0,
15969 { &hf_gsm_map_sendSubscriberData,
15970 { "sendSubscriberData", "gsm_map.sendSubscriberData",
15971 FT_NONE, BASE_NONE, NULL, 0,
15972 "SuperChargerInfo/sendSubscriberData", HFILL }},
15973 { &hf_gsm_map_subscriberDataStored,
15974 { "subscriberDataStored", "gsm_map.subscriberDataStored",
15975 FT_BYTES, BASE_HEX, NULL, 0,
15976 "SuperChargerInfo/subscriberDataStored", HFILL }},
15977 { &hf_gsm_map_imeisv,
15978 { "imeisv", "gsm_map.imeisv",
15979 FT_BYTES, BASE_HEX, NULL, 0,
15981 { &hf_gsm_map_skipSubscriberDataUpdate,
15982 { "skipSubscriberDataUpdate", "gsm_map.skipSubscriberDataUpdate",
15983 FT_NONE, BASE_NONE, NULL, 0,
15984 "ADD-Info/skipSubscriberDataUpdate", HFILL }},
15985 { &hf_gsm_map_PrivateExtensionList_item,
15986 { "Item", "gsm_map.PrivateExtensionList_item",
15987 FT_NONE, BASE_NONE, NULL, 0,
15988 "PrivateExtensionList/_item", HFILL }},
15989 { &hf_gsm_map_extId,
15990 { "extId", "gsm_map.extId",
15991 FT_OID, BASE_NONE, NULL, 0,
15992 "PrivateExtension/extId", HFILL }},
15993 { &hf_gsm_map_extType,
15994 { "extType", "gsm_map.extType",
15995 FT_NONE, BASE_NONE, NULL, 0,
15996 "PrivateExtension/extType", HFILL }},
15997 { &hf_gsm_map_privateExtensionList,
15998 { "privateExtensionList", "gsm_map.privateExtensionList",
15999 FT_UINT32, BASE_DEC, NULL, 0,
16001 { &hf_gsm_map_slr_Arg_PCS_Extensions,
16002 { "slr-Arg-PCS-Extensions", "gsm_map.slr_Arg_PCS_Extensions",
16003 FT_NONE, BASE_NONE, NULL, 0,
16004 "SLR-ArgExtensionContainer/slr-Arg-PCS-Extensions", HFILL }},
16005 { &hf_gsm_map_na_ESRK_Request,
16006 { "na-ESRK-Request", "gsm_map.na_ESRK_Request",
16007 FT_NONE, BASE_NONE, NULL, 0,
16008 "SLR-Arg-PCS-Extensions/na-ESRK-Request", HFILL }},
16009 { &hf_gsm_map_identity,
16010 { "identity", "gsm_map.identity",
16011 FT_UINT32, BASE_DEC, VALS(gsm_map_Identity_vals), 0,
16012 "CancelLocationArg/identity", HFILL }},
16013 { &hf_gsm_map_cancellationType,
16014 { "cancellationType", "gsm_map.cancellationType",
16015 FT_UINT32, BASE_DEC, VALS(gsm_map_CancellationType_vals), 0,
16016 "CancelLocationArg/cancellationType", HFILL }},
16017 { &hf_gsm_map_imsi_WithLMSI,
16018 { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI",
16019 FT_NONE, BASE_NONE, NULL, 0,
16021 { &hf_gsm_map_sgsn_Number,
16022 { "sgsn-Number", "gsm_map.sgsn_Number",
16023 FT_BYTES, BASE_HEX, NULL, 0,
16025 { &hf_gsm_map_freezeTMSI,
16026 { "freezeTMSI", "gsm_map.freezeTMSI",
16027 FT_NONE, BASE_NONE, NULL, 0,
16028 "PurgeMSRes/freezeTMSI", HFILL }},
16029 { &hf_gsm_map_freezeP_TMSI,
16030 { "freezeP-TMSI", "gsm_map.freezeP_TMSI",
16031 FT_NONE, BASE_NONE, NULL, 0,
16032 "PurgeMSRes/freezeP-TMSI", HFILL }},
16033 { &hf_gsm_map_tmsi,
16034 { "tmsi", "gsm_map.tmsi",
16035 FT_BYTES, BASE_HEX, NULL, 0,
16037 { &hf_gsm_map_numberOfRequestedVectors,
16038 { "numberOfRequestedVectors", "gsm_map.numberOfRequestedVectors",
16039 FT_UINT32, BASE_DEC, NULL, 0,
16041 { &hf_gsm_map_segmentationProhibited,
16042 { "segmentationProhibited", "gsm_map.segmentationProhibited",
16043 FT_NONE, BASE_NONE, NULL, 0,
16045 { &hf_gsm_map_previous_LAI,
16046 { "previous-LAI", "gsm_map.previous_LAI",
16047 FT_BYTES, BASE_HEX, NULL, 0,
16048 "SendIdentificationArg/previous-LAI", HFILL }},
16049 { &hf_gsm_map_hopCounter,
16050 { "hopCounter", "gsm_map.hopCounter",
16051 FT_UINT32, BASE_DEC, NULL, 0,
16052 "SendIdentificationArg/hopCounter", HFILL }},
16053 { &hf_gsm_map_authenticationSetList,
16054 { "authenticationSetList", "gsm_map.authenticationSetList",
16055 FT_UINT32, BASE_DEC, VALS(gsm_map_AuthenticationSetList_vals), 0,
16057 { &hf_gsm_map_currentSecurityContext,
16058 { "currentSecurityContext", "gsm_map.currentSecurityContext",
16059 FT_UINT32, BASE_DEC, VALS(gsm_map_CurrentSecurityContext_vals), 0,
16060 "SendIdentificationRes/currentSecurityContext", HFILL }},
16061 { &hf_gsm_map_tripletList,
16062 { "tripletList", "gsm_map.tripletList",
16063 FT_UINT32, BASE_DEC, NULL, 0,
16064 "AuthenticationSetList/tripletList", HFILL }},
16065 { &hf_gsm_map_quintupletList,
16066 { "quintupletList", "gsm_map.quintupletList",
16067 FT_UINT32, BASE_DEC, NULL, 0,
16068 "AuthenticationSetList/quintupletList", HFILL }},
16069 { &hf_gsm_map_TripletList_item,
16070 { "Item", "gsm_map.TripletList_item",
16071 FT_NONE, BASE_NONE, NULL, 0,
16072 "TripletList/_item", HFILL }},
16073 { &hf_gsm_map_QuintupletList_item,
16074 { "Item", "gsm_map.QuintupletList_item",
16075 FT_NONE, BASE_NONE, NULL, 0,
16076 "QuintupletList/_item", HFILL }},
16077 { &hf_gsm_map_rand,
16078 { "rand", "gsm_map.rand",
16079 FT_BYTES, BASE_HEX, NULL, 0,
16081 { &hf_gsm_map_sres,
16082 { "sres", "gsm_map.sres",
16083 FT_BYTES, BASE_HEX, NULL, 0,
16086 { "kc", "gsm_map.kc",
16087 FT_BYTES, BASE_HEX, NULL, 0,
16089 { &hf_gsm_map_xres,
16090 { "xres", "gsm_map.xres",
16091 FT_BYTES, BASE_HEX, NULL, 0,
16092 "AuthenticationQuintuplet/xres", HFILL }},
16094 { "ck", "gsm_map.ck",
16095 FT_BYTES, BASE_HEX, NULL, 0,
16098 { "ik", "gsm_map.ik",
16099 FT_BYTES, BASE_HEX, NULL, 0,
16101 { &hf_gsm_map_autn,
16102 { "autn", "gsm_map.autn",
16103 FT_BYTES, BASE_HEX, NULL, 0,
16104 "AuthenticationQuintuplet/autn", HFILL }},
16105 { &hf_gsm_map_gsm_SecurityContextData,
16106 { "gsm-SecurityContextData", "gsm_map.gsm_SecurityContextData",
16107 FT_NONE, BASE_NONE, NULL, 0,
16108 "CurrentSecurityContext/gsm-SecurityContextData", HFILL }},
16109 { &hf_gsm_map_umts_SecurityContextData,
16110 { "umts-SecurityContextData", "gsm_map.umts_SecurityContextData",
16111 FT_NONE, BASE_NONE, NULL, 0,
16112 "CurrentSecurityContext/umts-SecurityContextData", HFILL }},
16113 { &hf_gsm_map_cksn,
16114 { "cksn", "gsm_map.cksn",
16115 FT_BYTES, BASE_HEX, NULL, 0,
16116 "GSM-SecurityContextData/cksn", HFILL }},
16118 { "ksi", "gsm_map.ksi",
16119 FT_BYTES, BASE_HEX, NULL, 0,
16120 "UMTS-SecurityContextData/ksi", HFILL }},
16121 { &hf_gsm_map_targetCellId,
16122 { "targetCellId", "gsm_map.targetCellId",
16123 FT_BYTES, BASE_HEX, NULL, 0,
16125 { &hf_gsm_map_ho_NumberNotRequired,
16126 { "ho-NumberNotRequired", "gsm_map.ho_NumberNotRequired",
16127 FT_NONE, BASE_NONE, NULL, 0,
16129 { &hf_gsm_map_bss_APDU,
16130 { "bss-APDU", "gsm_map.bss_APDU",
16131 FT_NONE, BASE_NONE, NULL, 0,
16133 { &hf_gsm_map_targetRNCId,
16134 { "targetRNCId", "gsm_map.targetRNCId",
16135 FT_BYTES, BASE_HEX, NULL, 0,
16137 { &hf_gsm_map_an_APDU,
16138 { "an-APDU", "gsm_map.an_APDU",
16139 FT_NONE, BASE_NONE, NULL, 0,
16141 { &hf_gsm_map_multipleBearerRequested,
16142 { "multipleBearerRequested", "gsm_map.multipleBearerRequested",
16143 FT_NONE, BASE_NONE, NULL, 0,
16144 "PrepareHO-ArgV3/multipleBearerRequested", HFILL }},
16145 { &hf_gsm_map_integrityProtectionInfo,
16146 { "integrityProtectionInfo", "gsm_map.integrityProtectionInfo",
16147 FT_BYTES, BASE_HEX, NULL, 0,
16149 { &hf_gsm_map_encryptionInfo,
16150 { "encryptionInfo", "gsm_map.encryptionInfo",
16151 FT_BYTES, BASE_HEX, NULL, 0,
16153 { &hf_gsm_map_radioResourceInformation,
16154 { "radioResourceInformation", "gsm_map.radioResourceInformation",
16155 FT_BYTES, BASE_HEX, NULL, 0,
16157 { &hf_gsm_map_allowedGSM_Algorithms,
16158 { "allowedGSM-Algorithms", "gsm_map.allowedGSM_Algorithms",
16159 FT_BYTES, BASE_HEX, NULL, 0,
16161 { &hf_gsm_map_allowedUMTS_Algorithms,
16162 { "allowedUMTS-Algorithms", "gsm_map.allowedUMTS_Algorithms",
16163 FT_NONE, BASE_NONE, NULL, 0,
16165 { &hf_gsm_map_radioResourceList,
16166 { "radioResourceList", "gsm_map.radioResourceList",
16167 FT_UINT32, BASE_DEC, NULL, 0,
16169 { &hf_gsm_map_rab_Id,
16170 { "rab-Id", "gsm_map.rab_Id",
16171 FT_UINT32, BASE_DEC, NULL, 0,
16173 { &hf_gsm_map_bssmap_ServiceHandover,
16174 { "bssmap-ServiceHandover", "gsm_map.bssmap_ServiceHandover",
16175 FT_BYTES, BASE_HEX, NULL, 0,
16177 { &hf_gsm_map_ranap_ServiceHandover,
16178 { "ranap-ServiceHandover", "gsm_map.ranap_ServiceHandover",
16179 FT_BYTES, BASE_HEX, NULL, 0,
16181 { &hf_gsm_map_bssmap_ServiceHandoverList,
16182 { "bssmap-ServiceHandoverList", "gsm_map.bssmap_ServiceHandoverList",
16183 FT_UINT32, BASE_DEC, NULL, 0,
16185 { &hf_gsm_map_asciCallReference,
16186 { "asciCallReference", "gsm_map.asciCallReference",
16187 FT_BYTES, BASE_HEX, NULL, 0,
16189 { &hf_gsm_map_geran_classmark,
16190 { "geran-classmark", "gsm_map.geran_classmark",
16191 FT_BYTES, BASE_HEX, NULL, 0,
16193 { &hf_gsm_map_iuCurrentlyUsedCodec,
16194 { "iuCurrentlyUsedCodec", "gsm_map.iuCurrentlyUsedCodec",
16195 FT_BYTES, BASE_HEX, NULL, 0,
16196 "PrepareHO-ArgV3/iuCurrentlyUsedCodec", HFILL }},
16197 { &hf_gsm_map_iuSupportedCodecsList,
16198 { "iuSupportedCodecsList", "gsm_map.iuSupportedCodecsList",
16199 FT_NONE, BASE_NONE, NULL, 0,
16201 { &hf_gsm_map_rab_ConfigurationIndicator,
16202 { "rab-ConfigurationIndicator", "gsm_map.rab_ConfigurationIndicator",
16203 FT_NONE, BASE_NONE, NULL, 0,
16205 { &hf_gsm_map_uesbi_Iu,
16206 { "uesbi-Iu", "gsm_map.uesbi_Iu",
16207 FT_NONE, BASE_NONE, NULL, 0,
16208 "PrepareHO-ArgV3/uesbi-Iu", HFILL }},
16209 { &hf_gsm_map_BSSMAP_ServiceHandoverList_item,
16210 { "Item", "gsm_map.BSSMAP_ServiceHandoverList_item",
16211 FT_NONE, BASE_NONE, NULL, 0,
16212 "BSSMAP-ServiceHandoverList/_item", HFILL }},
16213 { &hf_gsm_map_RadioResourceList_item,
16214 { "Item", "gsm_map.RadioResourceList_item",
16215 FT_NONE, BASE_NONE, NULL, 0,
16216 "RadioResourceList/_item", HFILL }},
16217 { &hf_gsm_map_handoverNumber,
16218 { "handoverNumber", "gsm_map.handoverNumber",
16219 FT_BYTES, BASE_HEX, NULL, 0,
16221 { &hf_gsm_map_relocationNumberList,
16222 { "relocationNumberList", "gsm_map.relocationNumberList",
16223 FT_UINT32, BASE_DEC, NULL, 0,
16224 "PrepareHO-ResV3/relocationNumberList", HFILL }},
16225 { &hf_gsm_map_multicallBearerInfo,
16226 { "multicallBearerInfo", "gsm_map.multicallBearerInfo",
16227 FT_UINT32, BASE_DEC, NULL, 0,
16228 "PrepareHO-ResV3/multicallBearerInfo", HFILL }},
16229 { &hf_gsm_map_multipleBearerNotSupported,
16230 { "multipleBearerNotSupported", "gsm_map.multipleBearerNotSupported",
16231 FT_NONE, BASE_NONE, NULL, 0,
16232 "PrepareHO-ResV3/multipleBearerNotSupported", HFILL }},
16233 { &hf_gsm_map_selectedUMTS_Algorithms,
16234 { "selectedUMTS-Algorithms", "gsm_map.selectedUMTS_Algorithms",
16235 FT_NONE, BASE_NONE, NULL, 0,
16237 { &hf_gsm_map_chosenRadioResourceInformation,
16238 { "chosenRadioResourceInformation", "gsm_map.chosenRadioResourceInformation",
16239 FT_NONE, BASE_NONE, NULL, 0,
16241 { &hf_gsm_map_iuSelectedCodec,
16242 { "iuSelectedCodec", "gsm_map.iuSelectedCodec",
16243 FT_BYTES, BASE_HEX, NULL, 0,
16245 { &hf_gsm_map_iuAvailableCodecsList,
16246 { "iuAvailableCodecsList", "gsm_map.iuAvailableCodecsList",
16247 FT_NONE, BASE_NONE, NULL, 0,
16249 { &hf_gsm_map_integrityProtectionAlgorithm,
16250 { "integrityProtectionAlgorithm", "gsm_map.integrityProtectionAlgorithm",
16251 FT_BYTES, BASE_HEX, NULL, 0,
16252 "SelectedUMTS-Algorithms/integrityProtectionAlgorithm", HFILL }},
16253 { &hf_gsm_map_encryptionAlgorithm,
16254 { "encryptionAlgorithm", "gsm_map.encryptionAlgorithm",
16255 FT_BYTES, BASE_HEX, NULL, 0,
16256 "SelectedUMTS-Algorithms/encryptionAlgorithm", HFILL }},
16257 { &hf_gsm_map_chosenChannelInfo,
16258 { "chosenChannelInfo", "gsm_map.chosenChannelInfo",
16259 FT_BYTES, BASE_HEX, NULL, 0,
16260 "ChosenRadioResourceInformation/chosenChannelInfo", HFILL }},
16261 { &hf_gsm_map_chosenSpeechVersion,
16262 { "chosenSpeechVersion", "gsm_map.chosenSpeechVersion",
16263 FT_BYTES, BASE_HEX, NULL, 0,
16264 "ChosenRadioResourceInformation/chosenSpeechVersion", HFILL }},
16265 { &hf_gsm_map_RelocationNumberList_item,
16266 { "Item", "gsm_map.RelocationNumberList_item",
16267 FT_NONE, BASE_NONE, NULL, 0,
16268 "RelocationNumberList/_item", HFILL }},
16269 { &hf_gsm_map_selectedGSM_Algorithm,
16270 { "selectedGSM-Algorithm", "gsm_map.selectedGSM_Algorithm",
16271 FT_BYTES, BASE_HEX, NULL, 0,
16272 "ProcessAccessSignallingArgV3/selectedGSM-Algorithm", HFILL }},
16273 { &hf_gsm_map_selectedRab_Id,
16274 { "selectedRab-Id", "gsm_map.selectedRab_Id",
16275 FT_UINT32, BASE_DEC, NULL, 0,
16277 { &hf_gsm_map_iUSelectedCodec,
16278 { "iUSelectedCodec", "gsm_map.iUSelectedCodec",
16279 FT_BYTES, BASE_HEX, NULL, 0,
16280 "ProcessAccessSignallingArgV3/iUSelectedCodec", HFILL }},
16281 { &hf_gsm_map_utranCodecList,
16282 { "utranCodecList", "gsm_map.utranCodecList",
16283 FT_NONE, BASE_NONE, NULL, 0,
16284 "SupportedCodecsList/utranCodecList", HFILL }},
16285 { &hf_gsm_map_geranCodecList,
16286 { "geranCodecList", "gsm_map.geranCodecList",
16287 FT_NONE, BASE_NONE, NULL, 0,
16288 "SupportedCodecsList/geranCodecList", HFILL }},
16289 { &hf_gsm_map_codec1,
16290 { "codec1", "gsm_map.codec1",
16291 FT_BYTES, BASE_HEX, NULL, 0,
16292 "CodecList/codec1", HFILL }},
16293 { &hf_gsm_map_codec2,
16294 { "codec2", "gsm_map.codec2",
16295 FT_BYTES, BASE_HEX, NULL, 0,
16296 "CodecList/codec2", HFILL }},
16297 { &hf_gsm_map_codec3,
16298 { "codec3", "gsm_map.codec3",
16299 FT_BYTES, BASE_HEX, NULL, 0,
16300 "CodecList/codec3", HFILL }},
16301 { &hf_gsm_map_codec4,
16302 { "codec4", "gsm_map.codec4",
16303 FT_BYTES, BASE_HEX, NULL, 0,
16304 "CodecList/codec4", HFILL }},
16305 { &hf_gsm_map_codec5,
16306 { "codec5", "gsm_map.codec5",
16307 FT_BYTES, BASE_HEX, NULL, 0,
16308 "CodecList/codec5", HFILL }},
16309 { &hf_gsm_map_codec6,
16310 { "codec6", "gsm_map.codec6",
16311 FT_BYTES, BASE_HEX, NULL, 0,
16312 "CodecList/codec6", HFILL }},
16313 { &hf_gsm_map_codec7,
16314 { "codec7", "gsm_map.codec7",
16315 FT_BYTES, BASE_HEX, NULL, 0,
16316 "CodecList/codec7", HFILL }},
16317 { &hf_gsm_map_codec8,
16318 { "codec8", "gsm_map.codec8",
16319 FT_BYTES, BASE_HEX, NULL, 0,
16320 "CodecList/codec8", HFILL }},
16321 { &hf_gsm_map_keyStatus,
16322 { "keyStatus", "gsm_map.keyStatus",
16323 FT_UINT32, BASE_DEC, VALS(gsm_map_KeyStatus_vals), 0,
16324 "ForwardAccessSignallingArgV3/keyStatus", HFILL }},
16325 { &hf_gsm_map_currentlyUsedCodec,
16326 { "currentlyUsedCodec", "gsm_map.currentlyUsedCodec",
16327 FT_BYTES, BASE_HEX, NULL, 0,
16328 "ForwardAccessSignallingArgV3/currentlyUsedCodec", HFILL }},
16329 { &hf_gsm_map_integrityProtectionAlgorithms,
16330 { "integrityProtectionAlgorithms", "gsm_map.integrityProtectionAlgorithms",
16331 FT_BYTES, BASE_HEX, NULL, 0,
16332 "AllowedUMTS-Algorithms/integrityProtectionAlgorithms", HFILL }},
16333 { &hf_gsm_map_encryptionAlgorithms,
16334 { "encryptionAlgorithms", "gsm_map.encryptionAlgorithms",
16335 FT_BYTES, BASE_HEX, NULL, 0,
16336 "AllowedUMTS-Algorithms/encryptionAlgorithms", HFILL }},
16337 { &hf_gsm_map_targetMSC_Number,
16338 { "targetMSC-Number", "gsm_map.targetMSC_Number",
16339 FT_BYTES, BASE_HEX, NULL, 0,
16341 { &hf_gsm_map_immediateResponsePreferred,
16342 { "immediateResponsePreferred", "gsm_map.immediateResponsePreferred",
16343 FT_NONE, BASE_NONE, NULL, 0,
16344 "SendAuthenticationInfoArgV2/immediateResponsePreferred", HFILL }},
16345 { &hf_gsm_map_re_synchronisationInfo,
16346 { "re-synchronisationInfo", "gsm_map.re_synchronisationInfo",
16347 FT_NONE, BASE_NONE, NULL, 0,
16348 "SendAuthenticationInfoArgV2/re-synchronisationInfo", HFILL }},
16349 { &hf_gsm_map_requestingNodeType,
16350 { "requestingNodeType", "gsm_map.requestingNodeType",
16351 FT_UINT32, BASE_DEC, VALS(gsm_map_RequestingNodeType_vals), 0,
16352 "SendAuthenticationInfoArgV2/requestingNodeType", HFILL }},
16353 { &hf_gsm_map_requestingPLMN_Id,
16354 { "requestingPLMN-Id", "gsm_map.requestingPLMN_Id",
16355 FT_BYTES, BASE_HEX, NULL, 0,
16356 "SendAuthenticationInfoArgV2/requestingPLMN-Id", HFILL }},
16357 { &hf_gsm_map_SendAuthenticationInfoRes_item,
16358 { "Item", "gsm_map.SendAuthenticationInfoRes_item",
16359 FT_NONE, BASE_NONE, NULL, 0,
16360 "SendAuthenticationInfoRes/_item", HFILL }},
16361 { &hf_gsm_map_auts,
16362 { "auts", "gsm_map.auts",
16363 FT_BYTES, BASE_HEX, NULL, 0,
16364 "Re-synchronisationInfo/auts", HFILL }},
16365 { &hf_gsm_map_imei,
16366 { "imei", "gsm_map.imei",
16367 FT_BYTES, BASE_HEX, NULL, 0,
16369 { &hf_gsm_map_requestedEquipmentInfo,
16370 { "requestedEquipmentInfo", "gsm_map.requestedEquipmentInfo",
16371 FT_BYTES, BASE_HEX, NULL, 0,
16372 "CheckIMEIArgV2/requestedEquipmentInfo", HFILL }},
16373 { &hf_gsm_map_equipmentStatus,
16374 { "equipmentStatus", "gsm_map.equipmentStatus",
16375 FT_UINT32, BASE_DEC, VALS(gsm_map_EquipmentStatus_vals), 0,
16376 "CheckIMEIRes/equipmentStatus", HFILL }},
16377 { &hf_gsm_map_bmuef,
16378 { "bmuef", "gsm_map.bmuef",
16379 FT_NONE, BASE_NONE, NULL, 0,
16380 "CheckIMEIRes/bmuef", HFILL }},
16381 { &hf_gsm_map_uesbi_IuA,
16382 { "uesbi-IuA", "gsm_map.uesbi_IuA",
16383 FT_BYTES, BASE_HEX, NULL, 0,
16384 "UESBI-Iu/uesbi-IuA", HFILL }},
16385 { &hf_gsm_map_uesbi_IuB,
16386 { "uesbi-IuB", "gsm_map.uesbi_IuB",
16387 FT_BYTES, BASE_HEX, NULL, 0,
16388 "UESBI-Iu/uesbi-IuB", HFILL }},
16389 { &hf_gsm_map_bearerservice,
16390 { "bearerservice", "gsm_map.bearerservice",
16391 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
16392 "BasicService/bearerservice", HFILL }},
16393 { &hf_gsm_map_teleservice,
16394 { "teleservice", "gsm_map.teleservice",
16395 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
16396 "BasicService/teleservice", HFILL }},
16397 { &hf_gsm_map_BasicServiceGroupList_item,
16398 { "Item", "gsm_map.BasicServiceGroupList_item",
16399 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
16400 "BasicServiceGroupList/_item", HFILL }},
16401 { &hf_gsm_map_bcsmTriggerDetectionPoint,
16402 { "bcsmTriggerDetectionPoint", "gsm_map.bcsmTriggerDetectionPoint",
16403 FT_UINT32, BASE_DEC, VALS(gsm_map_BcsmTriggerDetectionPoint_vals), 0,
16404 "BcsmCamelTDPData/bcsmTriggerDetectionPoint", HFILL }},
16405 { &hf_gsm_map_serviceKey,
16406 { "serviceKey", "gsm_map.serviceKey",
16407 FT_UINT32, BASE_DEC, NULL, 0,
16409 { &hf_gsm_map_gsmSCFAddress,
16410 { "gsmSCFAddress", "gsm_map.gsmSCFAddress",
16411 FT_BYTES, BASE_HEX, NULL, 0,
16412 "BcsmCamelTDPData/gsmSCFAddress", HFILL }},
16413 { &hf_gsm_map_defaultCallHandling,
16414 { "defaultCallHandling", "gsm_map.defaultCallHandling",
16415 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultCallHandling_vals), 0,
16417 { &hf_gsm_map_BcsmCamelTDPDataList_item,
16418 { "Item", "gsm_map.BcsmCamelTDPDataList_item",
16419 FT_NONE, BASE_NONE, NULL, 0,
16420 "BcsmCamelTDPDataList/_item", HFILL }},
16421 { &hf_gsm_map_o_BcsmCamelTDPDataList,
16422 { "o-BcsmCamelTDPDataList", "gsm_map.o_BcsmCamelTDPDataList",
16423 FT_UINT32, BASE_DEC, NULL, 0,
16424 "O-CSI/o-BcsmCamelTDPDataList", HFILL }},
16425 { &hf_gsm_map_camelCapabilityHandling,
16426 { "camelCapabilityHandling", "gsm_map.camelCapabilityHandling",
16427 FT_UINT32, BASE_DEC, NULL, 0,
16429 { &hf_gsm_map_notificationToCSE,
16430 { "notificationToCSE", "gsm_map.notificationToCSE",
16431 FT_NONE, BASE_NONE, NULL, 0,
16433 { &hf_gsm_map_csiActive,
16434 { "csiActive", "gsm_map.csiActive",
16435 FT_NONE, BASE_NONE, NULL, 0,
16436 "O-CSI/csiActive", HFILL }},
16437 { &hf_gsm_map_O_BcsmCamelTDPDataList_item,
16438 { "Item", "gsm_map.O_BcsmCamelTDPDataList_item",
16439 FT_NONE, BASE_NONE, NULL, 0,
16440 "O-BcsmCamelTDPDataList/_item", HFILL }},
16441 { &hf_gsm_map_o_BcsmTriggerDetectionPoint,
16442 { "o-BcsmTriggerDetectionPoint", "gsm_map.o_BcsmTriggerDetectionPoint",
16443 FT_UINT32, BASE_DEC, VALS(gsm_map_O_BcsmTriggerDetectionPoint_vals), 0,
16445 { &hf_gsm_map_gsmSCF_Address,
16446 { "gsmSCF-Address", "gsm_map.gsmSCF_Address",
16447 FT_BYTES, BASE_HEX, NULL, 0,
16449 { &hf_gsm_map_msisdn,
16450 { "msisdn", "gsm_map.msisdn",
16451 FT_BYTES, BASE_HEX, NULL, 0,
16453 { &hf_gsm_map_category,
16454 { "category", "gsm_map.category",
16455 FT_BYTES, BASE_HEX, NULL, 0,
16456 "InsertSubscriberDataArg/category", HFILL }},
16457 { &hf_gsm_map_subscriberStatus,
16458 { "subscriberStatus", "gsm_map.subscriberStatus",
16459 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberStatus_vals), 0,
16460 "InsertSubscriberDataArg/subscriberStatus", HFILL }},
16461 { &hf_gsm_map_bearerserviceList,
16462 { "bearerserviceList", "gsm_map.bearerserviceList",
16463 FT_UINT32, BASE_DEC, NULL, 0,
16464 "InsertSubscriberDataArg/bearerserviceList", HFILL }},
16465 { &hf_gsm_map_teleserviceList,
16466 { "teleserviceList", "gsm_map.teleserviceList",
16467 FT_UINT32, BASE_DEC, NULL, 0,
16469 { &hf_gsm_map_provisionedSS,
16470 { "provisionedSS", "gsm_map.provisionedSS",
16471 FT_UINT32, BASE_DEC, NULL, 0,
16472 "InsertSubscriberDataArg/provisionedSS", HFILL }},
16473 { &hf_gsm_map_odb_Data,
16474 { "odb-Data", "gsm_map.odb_Data",
16475 FT_NONE, BASE_NONE, NULL, 0,
16477 { &hf_gsm_map_roamingRestrictionDueToUnsupportedFeature,
16478 { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.roamingRestrictionDueToUnsupportedFeature",
16479 FT_NONE, BASE_NONE, NULL, 0,
16481 { &hf_gsm_map_regionalSubscriptionData,
16482 { "regionalSubscriptionData", "gsm_map.regionalSubscriptionData",
16483 FT_UINT32, BASE_DEC, NULL, 0,
16484 "InsertSubscriberDataArg/regionalSubscriptionData", HFILL }},
16485 { &hf_gsm_map_vbsSubscriptionData,
16486 { "vbsSubscriptionData", "gsm_map.vbsSubscriptionData",
16487 FT_UINT32, BASE_DEC, NULL, 0,
16488 "InsertSubscriberDataArg/vbsSubscriptionData", HFILL }},
16489 { &hf_gsm_map_vgcsSubscriptionData,
16490 { "vgcsSubscriptionData", "gsm_map.vgcsSubscriptionData",
16491 FT_UINT32, BASE_DEC, NULL, 0,
16492 "InsertSubscriberDataArg/vgcsSubscriptionData", HFILL }},
16493 { &hf_gsm_map_vlrCamelSubscriptionInfo,
16494 { "vlrCamelSubscriptionInfo", "gsm_map.vlrCamelSubscriptionInfo",
16495 FT_NONE, BASE_NONE, NULL, 0,
16496 "InsertSubscriberDataArg/vlrCamelSubscriptionInfo", HFILL }},
16497 { &hf_gsm_map_naea_PreferredCI,
16498 { "naea-PreferredCI", "gsm_map.naea_PreferredCI",
16499 FT_NONE, BASE_NONE, NULL, 0,
16501 { &hf_gsm_map_gprsSubscriptionData,
16502 { "gprsSubscriptionData", "gsm_map.gprsSubscriptionData",
16503 FT_NONE, BASE_NONE, NULL, 0,
16504 "InsertSubscriberDataArg/gprsSubscriptionData", HFILL }},
16505 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature,
16506 { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsupportedFeature",
16507 FT_NONE, BASE_NONE, NULL, 0,
16508 "InsertSubscriberDataArg/roamingRestrictedInSgsnDueToUnsupportedFeature", HFILL }},
16509 { &hf_gsm_map_networkAccessMode,
16510 { "networkAccessMode", "gsm_map.networkAccessMode",
16511 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkAccessMode_vals), 0,
16512 "InsertSubscriberDataArg/networkAccessMode", HFILL }},
16513 { &hf_gsm_map_lsaInformation,
16514 { "lsaInformation", "gsm_map.lsaInformation",
16515 FT_NONE, BASE_NONE, NULL, 0,
16516 "InsertSubscriberDataArg/lsaInformation", HFILL }},
16517 { &hf_gsm_map_lmu_Indicator,
16518 { "lmu-Indicator", "gsm_map.lmu_Indicator",
16519 FT_NONE, BASE_NONE, NULL, 0,
16520 "InsertSubscriberDataArg/lmu-Indicator", HFILL }},
16521 { &hf_gsm_map_lcsInformation,
16522 { "lcsInformation", "gsm_map.lcsInformation",
16523 FT_NONE, BASE_NONE, NULL, 0,
16524 "InsertSubscriberDataArg/lcsInformation", HFILL }},
16525 { &hf_gsm_map_istAlertTimer,
16526 { "istAlertTimer", "gsm_map.istAlertTimer",
16527 FT_UINT32, BASE_DEC, NULL, 0,
16529 { &hf_gsm_map_superChargerSupportedInHLR,
16530 { "superChargerSupportedInHLR", "gsm_map.superChargerSupportedInHLR",
16531 FT_BYTES, BASE_HEX, NULL, 0,
16532 "InsertSubscriberDataArg/superChargerSupportedInHLR", HFILL }},
16533 { &hf_gsm_map_mc_SS_Info,
16534 { "mc-SS-Info", "gsm_map.mc_SS_Info",
16535 FT_NONE, BASE_NONE, NULL, 0,
16536 "InsertSubscriberDataArg/mc-SS-Info", HFILL }},
16537 { &hf_gsm_map_cs_AllocationRetentionPriority,
16538 { "cs-AllocationRetentionPriority", "gsm_map.cs_AllocationRetentionPriority",
16539 FT_BYTES, BASE_HEX, NULL, 0,
16540 "InsertSubscriberDataArg/cs-AllocationRetentionPriority", HFILL }},
16541 { &hf_gsm_map_sgsn_CAMEL_SubscriptionInfo,
16542 { "sgsn-CAMEL-SubscriptionInfo", "gsm_map.sgsn_CAMEL_SubscriptionInfo",
16543 FT_NONE, BASE_NONE, NULL, 0,
16544 "InsertSubscriberDataArg/sgsn-CAMEL-SubscriptionInfo", HFILL }},
16545 { &hf_gsm_map_chargingCharacteristics,
16546 { "chargingCharacteristics", "gsm_map.chargingCharacteristics",
16547 FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00,
16549 { &hf_gsm_map_accessRestrictionData,
16550 { "accessRestrictionData", "gsm_map.accessRestrictionData",
16551 FT_BYTES, BASE_HEX, NULL, 0,
16552 "InsertSubscriberDataArg/accessRestrictionData", HFILL }},
16553 { &hf_gsm_map_gmlc_List,
16554 { "gmlc-List", "gsm_map.gmlc_List",
16555 FT_UINT32, BASE_DEC, NULL, 0,
16556 "LCSInformation/gmlc-List", HFILL }},
16557 { &hf_gsm_map_lcs_PrivacyExceptionList,
16558 { "lcs-PrivacyExceptionList", "gsm_map.lcs_PrivacyExceptionList",
16559 FT_UINT32, BASE_DEC, NULL, 0,
16560 "LCSInformation/lcs-PrivacyExceptionList", HFILL }},
16561 { &hf_gsm_map_molr_List,
16562 { "molr-List", "gsm_map.molr_List",
16563 FT_UINT32, BASE_DEC, NULL, 0,
16564 "LCSInformation/molr-List", HFILL }},
16565 { &hf_gsm_map_add_lcs_PrivacyExceptionList,
16566 { "add-lcs-PrivacyExceptionList", "gsm_map.add_lcs_PrivacyExceptionList",
16567 FT_UINT32, BASE_DEC, NULL, 0,
16568 "LCSInformation/add-lcs-PrivacyExceptionList", HFILL }},
16569 { &hf_gsm_map_GMLC_List_item,
16570 { "Item", "gsm_map.GMLC_List_item",
16571 FT_BYTES, BASE_HEX, NULL, 0,
16572 "GMLC-List/_item", HFILL }},
16573 { &hf_gsm_map_GPRSDataList_item,
16574 { "Item", "gsm_map.GPRSDataList_item",
16575 FT_NONE, BASE_NONE, NULL, 0,
16576 "GPRSDataList/_item", HFILL }},
16577 { &hf_gsm_map_pdp_ContextId,
16578 { "pdp-ContextId", "gsm_map.pdp_ContextId",
16579 FT_UINT32, BASE_DEC, NULL, 0,
16580 "PDP-Context/pdp-ContextId", HFILL }},
16581 { &hf_gsm_map_pdp_Type,
16582 { "pdp-Type", "gsm_map.pdp_Type",
16583 FT_BYTES, BASE_HEX, NULL, 0,
16585 { &hf_gsm_map_pdp_Address,
16586 { "pdp-Address", "gsm_map.pdp_Address",
16587 FT_BYTES, BASE_HEX, NULL, 0,
16589 { &hf_gsm_map_qos_Subscribed,
16590 { "qos-Subscribed", "gsm_map.qos_Subscribed",
16591 FT_BYTES, BASE_HEX, NULL, 0,
16592 "PDP-Context/qos-Subscribed", HFILL }},
16593 { &hf_gsm_map_vplmnAddressAllowed,
16594 { "vplmnAddressAllowed", "gsm_map.vplmnAddressAllowed",
16595 FT_NONE, BASE_NONE, NULL, 0,
16596 "PDP-Context/vplmnAddressAllowed", HFILL }},
16598 { "apn", "gsm_map.apn",
16599 FT_BYTES, BASE_HEX, NULL, 0,
16600 "PDP-Context/apn", HFILL }},
16601 { &hf_gsm_map_ext_QoS_Subscribed,
16602 { "ext-QoS-Subscribed", "gsm_map.ext_QoS_Subscribed",
16603 FT_BYTES, BASE_HEX, NULL, 0,
16604 "PDP-Context/ext-QoS-Subscribed", HFILL }},
16605 { &hf_gsm_map_pdp_ChargingCharacteristics,
16606 { "pdp-ChargingCharacteristics", "gsm_map.pdp_ChargingCharacteristics",
16607 FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00,
16608 "PDP-Context/pdp-ChargingCharacteristics", HFILL }},
16609 { &hf_gsm_map_ext2_QoS_Subscribed,
16610 { "ext2-QoS-Subscribed", "gsm_map.ext2_QoS_Subscribed",
16611 FT_BYTES, BASE_HEX, NULL, 0,
16612 "PDP-Context/ext2-QoS-Subscribed", HFILL }},
16613 { &hf_gsm_map_completeDataListIncluded,
16614 { "completeDataListIncluded", "gsm_map.completeDataListIncluded",
16615 FT_NONE, BASE_NONE, NULL, 0,
16617 { &hf_gsm_map_gprsDataList,
16618 { "gprsDataList", "gsm_map.gprsDataList",
16619 FT_UINT32, BASE_DEC, NULL, 0,
16620 "GPRSSubscriptionData/gprsDataList", HFILL }},
16621 { &hf_gsm_map_gprs_CSI,
16622 { "gprs-CSI", "gsm_map.gprs_CSI",
16623 FT_NONE, BASE_NONE, NULL, 0,
16625 { &hf_gsm_map_mo_sms_CSI,
16626 { "mo-sms-CSI", "gsm_map.mo_sms_CSI",
16627 FT_NONE, BASE_NONE, NULL, 0,
16629 { &hf_gsm_map_mt_sms_CSI,
16630 { "mt-sms-CSI", "gsm_map.mt_sms_CSI",
16631 FT_NONE, BASE_NONE, NULL, 0,
16633 { &hf_gsm_map_mt_smsCAMELTDP_CriteriaList,
16634 { "mt-smsCAMELTDP-CriteriaList", "gsm_map.mt_smsCAMELTDP_CriteriaList",
16635 FT_UINT32, BASE_DEC, NULL, 0,
16637 { &hf_gsm_map_mg_csi,
16638 { "mg-csi", "gsm_map.mg_csi",
16639 FT_NONE, BASE_NONE, NULL, 0,
16641 { &hf_gsm_map_gprs_CamelTDPDataList,
16642 { "gprs-CamelTDPDataList", "gsm_map.gprs_CamelTDPDataList",
16643 FT_UINT32, BASE_DEC, NULL, 0,
16644 "GPRS-CSI/gprs-CamelTDPDataList", HFILL }},
16645 { &hf_gsm_map_csi_Active,
16646 { "csi-Active", "gsm_map.csi_Active",
16647 FT_NONE, BASE_NONE, NULL, 0,
16649 { &hf_gsm_map_GPRS_CamelTDPDataList_item,
16650 { "Item", "gsm_map.GPRS_CamelTDPDataList_item",
16651 FT_NONE, BASE_NONE, NULL, 0,
16652 "GPRS-CamelTDPDataList/_item", HFILL }},
16653 { &hf_gsm_map_gprs_TriggerDetectionPoint,
16654 { "gprs-TriggerDetectionPoint", "gsm_map.gprs_TriggerDetectionPoint",
16655 FT_UINT32, BASE_DEC, VALS(gsm_map_GPRS_TriggerDetectionPoint_vals), 0,
16656 "GPRS-CamelTDPData/gprs-TriggerDetectionPoint", HFILL }},
16657 { &hf_gsm_map_defaultSessionHandling,
16658 { "defaultSessionHandling", "gsm_map.defaultSessionHandling",
16659 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultGPRS_Handling_vals), 0,
16660 "GPRS-CamelTDPData/defaultSessionHandling", HFILL }},
16661 { &hf_gsm_map_LSADataList_item,
16662 { "Item", "gsm_map.LSADataList_item",
16663 FT_NONE, BASE_NONE, NULL, 0,
16664 "LSADataList/_item", HFILL }},
16665 { &hf_gsm_map_lsaIdentity,
16666 { "lsaIdentity", "gsm_map.lsaIdentity",
16667 FT_BYTES, BASE_HEX, NULL, 0,
16668 "LSAData/lsaIdentity", HFILL }},
16669 { &hf_gsm_map_lsaAttributes,
16670 { "lsaAttributes", "gsm_map.lsaAttributes",
16671 FT_BYTES, BASE_HEX, NULL, 0,
16672 "LSAData/lsaAttributes", HFILL }},
16673 { &hf_gsm_map_lsaActiveModeIndicator,
16674 { "lsaActiveModeIndicator", "gsm_map.lsaActiveModeIndicator",
16675 FT_NONE, BASE_NONE, NULL, 0,
16676 "LSAData/lsaActiveModeIndicator", HFILL }},
16677 { &hf_gsm_map_lsaOnlyAccessIndicator,
16678 { "lsaOnlyAccessIndicator", "gsm_map.lsaOnlyAccessIndicator",
16679 FT_UINT32, BASE_DEC, VALS(gsm_map_LSAOnlyAccessIndicator_vals), 0,
16680 "LSAInformation/lsaOnlyAccessIndicator", HFILL }},
16681 { &hf_gsm_map_lsaDataList,
16682 { "lsaDataList", "gsm_map.lsaDataList",
16683 FT_UINT32, BASE_DEC, NULL, 0,
16684 "LSAInformation/lsaDataList", HFILL }},
16685 { &hf_gsm_map_bearerServiceList,
16686 { "bearerServiceList", "gsm_map.bearerServiceList",
16687 FT_UINT32, BASE_DEC, NULL, 0,
16688 "InsertSubscriberDataRes/bearerServiceList", HFILL }},
16689 { &hf_gsm_map_ss_List,
16690 { "ss-List", "gsm_map.ss_List",
16691 FT_UINT32, BASE_DEC, NULL, 0,
16693 { &hf_gsm_map_odb_GeneralData,
16694 { "odb-GeneralData", "gsm_map.odb_GeneralData",
16695 FT_BYTES, BASE_HEX, NULL, 0,
16697 { &hf_gsm_map_regionalSubscriptionResponse,
16698 { "regionalSubscriptionResponse", "gsm_map.regionalSubscriptionResponse",
16699 FT_UINT32, BASE_DEC, VALS(gsm_map_RegionalSubscriptionResponse_vals), 0,
16701 { &hf_gsm_map_basicServiceList,
16702 { "basicServiceList", "gsm_map.basicServiceList",
16703 FT_UINT32, BASE_DEC, NULL, 0,
16704 "DeleteSubscriberDataArg/basicServiceList", HFILL }},
16705 { &hf_gsm_map_regionalSubscriptionIdentifier,
16706 { "regionalSubscriptionIdentifier", "gsm_map.regionalSubscriptionIdentifier",
16707 FT_BYTES, BASE_HEX, NULL, 0,
16708 "DeleteSubscriberDataArg/regionalSubscriptionIdentifier", HFILL }},
16709 { &hf_gsm_map_vbsGroupIndication,
16710 { "vbsGroupIndication", "gsm_map.vbsGroupIndication",
16711 FT_NONE, BASE_NONE, NULL, 0,
16712 "DeleteSubscriberDataArg/vbsGroupIndication", HFILL }},
16713 { &hf_gsm_map_vgcsGroupIndication,
16714 { "vgcsGroupIndication", "gsm_map.vgcsGroupIndication",
16715 FT_NONE, BASE_NONE, NULL, 0,
16716 "DeleteSubscriberDataArg/vgcsGroupIndication", HFILL }},
16717 { &hf_gsm_map_camelSubscriptionInfoWithdraw,
16718 { "camelSubscriptionInfoWithdraw", "gsm_map.camelSubscriptionInfoWithdraw",
16719 FT_NONE, BASE_NONE, NULL, 0,
16720 "DeleteSubscriberDataArg/camelSubscriptionInfoWithdraw", HFILL }},
16721 { &hf_gsm_map_gprsSubscriptionDataWithdraw,
16722 { "gprsSubscriptionDataWithdraw", "gsm_map.gprsSubscriptionDataWithdraw",
16723 FT_UINT32, BASE_DEC, VALS(gsm_map_GPRSSubscriptionDataWithdraw_vals), 0,
16724 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw", HFILL }},
16725 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature,
16726 { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsuppportedFeature",
16727 FT_NONE, BASE_NONE, NULL, 0,
16728 "DeleteSubscriberDataArg/roamingRestrictedInSgsnDueToUnsuppportedFeature", HFILL }},
16729 { &hf_gsm_map_lsaInformationWithdraw,
16730 { "lsaInformationWithdraw", "gsm_map.lsaInformationWithdraw",
16731 FT_UINT32, BASE_DEC, VALS(gsm_map_LSAInformationWithdraw_vals), 0,
16732 "DeleteSubscriberDataArg/lsaInformationWithdraw", HFILL }},
16733 { &hf_gsm_map_gmlc_ListWithdraw,
16734 { "gmlc-ListWithdraw", "gsm_map.gmlc_ListWithdraw",
16735 FT_NONE, BASE_NONE, NULL, 0,
16736 "DeleteSubscriberDataArg/gmlc-ListWithdraw", HFILL }},
16737 { &hf_gsm_map_istInformationWithdraw,
16738 { "istInformationWithdraw", "gsm_map.istInformationWithdraw",
16739 FT_NONE, BASE_NONE, NULL, 0,
16741 { &hf_gsm_map_specificCSI_Withdraw,
16742 { "specificCSI-Withdraw", "gsm_map.specificCSI_Withdraw",
16743 FT_BYTES, BASE_HEX, NULL, 0,
16744 "DeleteSubscriberDataArg/specificCSI-Withdraw", HFILL }},
16745 { &hf_gsm_map_chargingCharacteristicsWithdraw,
16746 { "chargingCharacteristicsWithdraw", "gsm_map.chargingCharacteristicsWithdraw",
16747 FT_NONE, BASE_NONE, NULL, 0,
16748 "DeleteSubscriberDataArg/chargingCharacteristicsWithdraw", HFILL }},
16749 { &hf_gsm_map_allGPRSData,
16750 { "allGPRSData", "gsm_map.allGPRSData",
16751 FT_NONE, BASE_NONE, NULL, 0,
16752 "GPRSSubscriptionDataWithdraw/allGPRSData", HFILL }},
16753 { &hf_gsm_map_contextIdList,
16754 { "contextIdList", "gsm_map.contextIdList",
16755 FT_UINT32, BASE_DEC, NULL, 0,
16756 "GPRSSubscriptionDataWithdraw/contextIdList", HFILL }},
16757 { &hf_gsm_map_ContextIdList_item,
16758 { "Item", "gsm_map.ContextIdList_item",
16759 FT_UINT32, BASE_DEC, NULL, 0,
16760 "ContextIdList/_item", HFILL }},
16761 { &hf_gsm_map_allLSAData,
16762 { "allLSAData", "gsm_map.allLSAData",
16763 FT_NONE, BASE_NONE, NULL, 0,
16764 "LSAInformationWithdraw/allLSAData", HFILL }},
16765 { &hf_gsm_map_lsaIdentityList,
16766 { "lsaIdentityList", "gsm_map.lsaIdentityList",
16767 FT_UINT32, BASE_DEC, NULL, 0,
16768 "LSAInformationWithdraw/lsaIdentityList", HFILL }},
16769 { &hf_gsm_map_LSAIdentityList_item,
16770 { "Item", "gsm_map.LSAIdentityList_item",
16771 FT_BYTES, BASE_HEX, NULL, 0,
16772 "LSAIdentityList/_item", HFILL }},
16773 { &hf_gsm_map_BasicServiceList_item,
16774 { "Item", "gsm_map.BasicServiceList_item",
16775 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
16776 "BasicServiceList/_item", HFILL }},
16777 { &hf_gsm_map_o_CSI,
16778 { "o-CSI", "gsm_map.o_CSI",
16779 FT_NONE, BASE_NONE, NULL, 0,
16781 { &hf_gsm_map_ss_CSI,
16782 { "ss-CSI", "gsm_map.ss_CSI",
16783 FT_NONE, BASE_NONE, NULL, 0,
16785 { &hf_gsm_map_o_BcsmCamelTDP_CriteriaList,
16786 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.o_BcsmCamelTDP_CriteriaList",
16787 FT_UINT32, BASE_DEC, NULL, 0,
16789 { &hf_gsm_map_tif_CSI,
16790 { "tif-CSI", "gsm_map.tif_CSI",
16791 FT_NONE, BASE_NONE, NULL, 0,
16793 { &hf_gsm_map_m_CSI,
16794 { "m-CSI", "gsm_map.m_CSI",
16795 FT_NONE, BASE_NONE, NULL, 0,
16797 { &hf_gsm_map_vt_CSI,
16798 { "vt-CSI", "gsm_map.vt_CSI",
16799 FT_NONE, BASE_NONE, NULL, 0,
16801 { &hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList,
16802 { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.t_BCSM_CAMEL_TDP_CriteriaList",
16803 FT_UINT32, BASE_DEC, NULL, 0,
16805 { &hf_gsm_map_d_CSI,
16806 { "d-CSI", "gsm_map.d_CSI",
16807 FT_NONE, BASE_NONE, NULL, 0,
16809 { &hf_gsm_map_MT_smsCAMELTDP_CriteriaList_item,
16810 { "Item", "gsm_map.MT_smsCAMELTDP_CriteriaList_item",
16811 FT_NONE, BASE_NONE, NULL, 0,
16812 "MT-smsCAMELTDP-CriteriaList/_item", HFILL }},
16813 { &hf_gsm_map_sms_TriggerDetectionPoint,
16814 { "sms-TriggerDetectionPoint", "gsm_map.sms_TriggerDetectionPoint",
16815 FT_UINT32, BASE_DEC, VALS(gsm_map_SMS_TriggerDetectionPoint_vals), 0,
16817 { &hf_gsm_map_tpdu_TypeCriterion,
16818 { "tpdu-TypeCriterion", "gsm_map.tpdu_TypeCriterion",
16819 FT_UINT32, BASE_DEC, NULL, 0,
16820 "MT-smsCAMELTDP-Criteria/tpdu-TypeCriterion", HFILL }},
16821 { &hf_gsm_map_TPDU_TypeCriterion_item,
16822 { "Item", "gsm_map.TPDU_TypeCriterion_item",
16823 FT_UINT32, BASE_DEC, VALS(gsm_map_MT_SMS_TPDU_Type_vals), 0,
16824 "TPDU-TypeCriterion/_item", HFILL }},
16825 { &hf_gsm_map_dp_AnalysedInfoCriteriaList,
16826 { "dp-AnalysedInfoCriteriaList", "gsm_map.dp_AnalysedInfoCriteriaList",
16827 FT_UINT32, BASE_DEC, NULL, 0,
16828 "D-CSI/dp-AnalysedInfoCriteriaList", HFILL }},
16829 { &hf_gsm_map_DP_AnalysedInfoCriteriaList_item,
16830 { "Item", "gsm_map.DP_AnalysedInfoCriteriaList_item",
16831 FT_NONE, BASE_NONE, NULL, 0,
16832 "DP-AnalysedInfoCriteriaList/_item", HFILL }},
16833 { &hf_gsm_map_dialledNumber,
16834 { "dialledNumber", "gsm_map.dialledNumber",
16835 FT_BYTES, BASE_HEX, NULL, 0,
16836 "DP-AnalysedInfoCriterium/dialledNumber", HFILL }},
16837 { &hf_gsm_map_ss_CamelData,
16838 { "ss-CamelData", "gsm_map.ss_CamelData",
16839 FT_NONE, BASE_NONE, NULL, 0,
16840 "SS-CSI/ss-CamelData", HFILL }},
16841 { &hf_gsm_map_ss_EventList,
16842 { "ss-EventList", "gsm_map.ss_EventList",
16843 FT_UINT32, BASE_DEC, NULL, 0,
16844 "SS-CamelData/ss-EventList", HFILL }},
16845 { &hf_gsm_map_mobilityTriggers,
16846 { "mobilityTriggers", "gsm_map.mobilityTriggers",
16847 FT_UINT32, BASE_DEC, NULL, 0,
16849 { &hf_gsm_map_BearerServiceList_item,
16850 { "Item", "gsm_map.BearerServiceList_item",
16851 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
16852 "BearerServiceList/_item", HFILL }},
16853 { &hf_gsm_map_TeleserviceList_item,
16854 { "Item", "gsm_map.TeleserviceList_item",
16855 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
16856 "TeleserviceList/_item", HFILL }},
16857 { &hf_gsm_map_Ext_SS_InfoList_item,
16858 { "Item", "gsm_map.Ext_SS_InfoList_item",
16859 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_SS_Info_vals), 0,
16860 "Ext-SS-InfoList/_item", HFILL }},
16861 { &hf_gsm_map_ext_forwardingInfo,
16862 { "forwardingInfo", "gsm_map.forwardingInfo",
16863 FT_NONE, BASE_NONE, NULL, 0,
16864 "Ext-SS-Info/forwardingInfo", HFILL }},
16865 { &hf_gsm_map_ext_callBarringInfo,
16866 { "callBarringInfo", "gsm_map.callBarringInfo",
16867 FT_NONE, BASE_NONE, NULL, 0,
16868 "Ext-SS-Info/callBarringInfo", HFILL }},
16869 { &hf_gsm_map_cug_Info,
16870 { "cug-Info", "gsm_map.cug_Info",
16871 FT_NONE, BASE_NONE, NULL, 0,
16872 "Ext-SS-Info/cug-Info", HFILL }},
16873 { &hf_gsm_map_ext_ss_Data,
16874 { "ss-Data", "gsm_map.ss_Data",
16875 FT_NONE, BASE_NONE, NULL, 0,
16876 "Ext-SS-Info/ss-Data", HFILL }},
16877 { &hf_gsm_map_emlpp_Info,
16878 { "emlpp-Info", "gsm_map.emlpp_Info",
16879 FT_NONE, BASE_NONE, NULL, 0,
16880 "Ext-SS-Info/emlpp-Info", HFILL }},
16881 { &hf_gsm_map_ss_Code,
16882 { "ss-Code", "gsm_map.ss_Code",
16883 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
16885 { &hf_gsm_map_ext_forwardingFeatureList,
16886 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
16887 FT_UINT32, BASE_DEC, NULL, 0,
16889 { &hf_gsm_map_Ext_ForwFeatureList_item,
16890 { "Item", "gsm_map.Ext_ForwFeatureList_item",
16891 FT_NONE, BASE_NONE, NULL, 0,
16892 "Ext-ForwFeatureList/_item", HFILL }},
16893 { &hf_gsm_map_ext_basicService,
16894 { "basicService", "gsm_map.basicService",
16895 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
16897 { &hf_gsm_map_ext_ss_Status,
16898 { "ss-Status", "gsm_map.ss_Status",
16899 FT_BYTES, BASE_HEX, NULL, 0,
16901 { &hf_gsm_map_forwardedToNumber,
16902 { "forwardedToNumber", "gsm_map.forwardedToNumber",
16903 FT_BYTES, BASE_HEX, NULL, 0,
16905 { &hf_gsm_map_forwardedToSubaddress,
16906 { "forwardedToSubaddress", "gsm_map.forwardedToSubaddress",
16907 FT_BYTES, BASE_HEX, NULL, 0,
16909 { &hf_gsm_map_ext_forwardingOptions,
16910 { "forwardingOptions", "gsm_map.forwardingOptions",
16911 FT_BYTES, BASE_HEX, NULL, 0,
16912 "Ext-ForwFeature/forwardingOptions", HFILL }},
16913 { &hf_gsm_map_ext_noReplyConditionTime,
16914 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
16915 FT_UINT32, BASE_DEC, NULL, 0,
16917 { &hf_gsm_map_longForwardedToNumber,
16918 { "longForwardedToNumber", "gsm_map.longForwardedToNumber",
16919 FT_BYTES, BASE_HEX, NULL, 0,
16921 { &hf_gsm_map_ext_callBarringFeatureList,
16922 { "callBarringFeatureList", "gsm_map.callBarringFeatureList",
16923 FT_UINT32, BASE_DEC, NULL, 0,
16925 { &hf_gsm_map_Ext_CallBarFeatureList_item,
16926 { "Item", "gsm_map.Ext_CallBarFeatureList_item",
16927 FT_NONE, BASE_NONE, NULL, 0,
16928 "Ext-CallBarFeatureList/_item", HFILL }},
16929 { &hf_gsm_map_ZoneCodeList_item,
16930 { "Item", "gsm_map.ZoneCodeList_item",
16931 FT_BYTES, BASE_HEX, NULL, 0,
16932 "ZoneCodeList/_item", HFILL }},
16933 { &hf_gsm_map_maximumentitledPriority,
16934 { "maximumentitledPriority", "gsm_map.maximumentitledPriority",
16935 FT_UINT32, BASE_DEC, NULL, 0,
16936 "EMLPP-Info/maximumentitledPriority", HFILL }},
16937 { &hf_gsm_map_defaultPriority,
16938 { "defaultPriority", "gsm_map.defaultPriority",
16939 FT_UINT32, BASE_DEC, NULL, 0,
16941 { &hf_gsm_map_cug_SubscriptionList,
16942 { "cug-SubscriptionList", "gsm_map.cug_SubscriptionList",
16943 FT_UINT32, BASE_DEC, NULL, 0,
16944 "CUG-Info/cug-SubscriptionList", HFILL }},
16945 { &hf_gsm_map_cug_FeatureList,
16946 { "cug-FeatureList", "gsm_map.cug_FeatureList",
16947 FT_UINT32, BASE_DEC, NULL, 0,
16948 "CUG-Info/cug-FeatureList", HFILL }},
16949 { &hf_gsm_map_CUG_SubscriptionList_item,
16950 { "Item", "gsm_map.CUG_SubscriptionList_item",
16951 FT_NONE, BASE_NONE, NULL, 0,
16952 "CUG-SubscriptionList/_item", HFILL }},
16953 { &hf_gsm_map_cug_Index,
16954 { "cug-Index", "gsm_map.cug_Index",
16955 FT_UINT32, BASE_DEC, NULL, 0,
16956 "CUG-Subscription/cug-Index", HFILL }},
16957 { &hf_gsm_map_cug_Interlock,
16958 { "cug-Interlock", "gsm_map.cug_Interlock",
16959 FT_BYTES, BASE_HEX, NULL, 0,
16961 { &hf_gsm_map_intraCUG_Options,
16962 { "intraCUG-Options", "gsm_map.intraCUG_Options",
16963 FT_UINT32, BASE_DEC, VALS(gsm_map_IntraCUG_Options_vals), 0,
16964 "CUG-Subscription/intraCUG-Options", HFILL }},
16965 { &hf_gsm_map_basicServiceGroupList,
16966 { "basicServiceGroupList", "gsm_map.basicServiceGroupList",
16967 FT_UINT32, BASE_DEC, NULL, 0,
16969 { &hf_gsm_map_CUG_FeatureList_item,
16970 { "Item", "gsm_map.CUG_FeatureList_item",
16971 FT_NONE, BASE_NONE, NULL, 0,
16972 "CUG-FeatureList/_item", HFILL }},
16973 { &hf_gsm_map_Ext_BasicServiceGroupList_item,
16974 { "Item", "gsm_map.Ext_BasicServiceGroupList_item",
16975 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
16976 "Ext-BasicServiceGroupList/_item", HFILL }},
16977 { &hf_gsm_map_preferentialCUG_Indicator,
16978 { "preferentialCUG-Indicator", "gsm_map.preferentialCUG_Indicator",
16979 FT_UINT32, BASE_DEC, NULL, 0,
16980 "CUG-Feature/preferentialCUG-Indicator", HFILL }},
16981 { &hf_gsm_map_interCUG_Restrictions,
16982 { "interCUG-Restrictions", "gsm_map.interCUG_Restrictions",
16983 FT_BYTES, BASE_HEX, NULL, 0,
16984 "CUG-Feature/interCUG-Restrictions", HFILL }},
16985 { &hf_gsm_map_ss_SubscriptionOption,
16986 { "ss-SubscriptionOption", "gsm_map.ss_SubscriptionOption",
16987 FT_UINT32, BASE_DEC, VALS(gsm_map_SS_SubscriptionOption_vals), 0,
16989 { &hf_gsm_map_LCS_PrivacyExceptionList_item,
16990 { "Item", "gsm_map.LCS_PrivacyExceptionList_item",
16991 FT_NONE, BASE_NONE, NULL, 0,
16992 "LCS-PrivacyExceptionList/_item", HFILL }},
16993 { &hf_gsm_map_notificationToMSUser,
16994 { "notificationToMSUser", "gsm_map.notificationToMSUser",
16995 FT_UINT32, BASE_DEC, VALS(gsm_map_NotificationToMSUser_vals), 0,
16997 { &hf_gsm_map_externalClientList,
16998 { "externalClientList", "gsm_map.externalClientList",
16999 FT_UINT32, BASE_DEC, NULL, 0,
17000 "LCS-PrivacyClass/externalClientList", HFILL }},
17001 { &hf_gsm_map_plmnClientList,
17002 { "plmnClientList", "gsm_map.plmnClientList",
17003 FT_UINT32, BASE_DEC, NULL, 0,
17004 "LCS-PrivacyClass/plmnClientList", HFILL }},
17005 { &hf_gsm_map_ext_externalClientList,
17006 { "ext-externalClientList", "gsm_map.ext_externalClientList",
17007 FT_UINT32, BASE_DEC, NULL, 0,
17008 "LCS-PrivacyClass/ext-externalClientList", HFILL }},
17009 { &hf_gsm_map_serviceTypeList,
17010 { "serviceTypeList", "gsm_map.serviceTypeList",
17011 FT_UINT32, BASE_DEC, NULL, 0,
17012 "LCS-PrivacyClass/serviceTypeList", HFILL }},
17013 { &hf_gsm_map_ExternalClientList_item,
17014 { "Item", "gsm_map.ExternalClientList_item",
17015 FT_NONE, BASE_NONE, NULL, 0,
17016 "ExternalClientList/_item", HFILL }},
17017 { &hf_gsm_map_PLMNClientList_item,
17018 { "Item", "gsm_map.PLMNClientList_item",
17019 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
17020 "PLMNClientList/_item", HFILL }},
17021 { &hf_gsm_map_Ext_ExternalClientList_item,
17022 { "Item", "gsm_map.Ext_ExternalClientList_item",
17023 FT_NONE, BASE_NONE, NULL, 0,
17024 "Ext-ExternalClientList/_item", HFILL }},
17025 { &hf_gsm_map_clientIdentity,
17026 { "clientIdentity", "gsm_map.clientIdentity",
17027 FT_NONE, BASE_NONE, NULL, 0,
17028 "ExternalClient/clientIdentity", HFILL }},
17029 { &hf_gsm_map_gmlc_Restriction,
17030 { "gmlc-Restriction", "gsm_map.gmlc_Restriction",
17031 FT_UINT32, BASE_DEC, VALS(gsm_map_GMLC_Restriction_vals), 0,
17033 { &hf_gsm_map_ServiceTypeList_item,
17034 { "Item", "gsm_map.ServiceTypeList_item",
17035 FT_NONE, BASE_NONE, NULL, 0,
17036 "ServiceTypeList/_item", HFILL }},
17037 { &hf_gsm_map_serviceTypeIdentity,
17038 { "serviceTypeIdentity", "gsm_map.serviceTypeIdentity",
17039 FT_UINT32, BASE_DEC, NULL, 0,
17040 "ServiceType/serviceTypeIdentity", HFILL }},
17041 { &hf_gsm_map_MOLR_List_item,
17042 { "Item", "gsm_map.MOLR_List_item",
17043 FT_NONE, BASE_NONE, NULL, 0,
17044 "MOLR-List/_item", HFILL }},
17045 { &hf_gsm_map_CallBarringFeatureList_item,
17046 { "Item", "gsm_map.CallBarringFeatureList_item",
17047 FT_NONE, BASE_NONE, NULL, 0,
17048 "CallBarringFeatureList/_item", HFILL }},
17049 { &hf_gsm_map_basicService,
17050 { "basicService", "gsm_map.basicService",
17051 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
17053 { &hf_gsm_map_ss_Status,
17054 { "ss-Status", "gsm_map.ss_Status",
17055 FT_BYTES, BASE_HEX, NULL, 0,
17057 { &hf_gsm_map_ForwardingFeatureList_item,
17058 { "Item", "gsm_map.ForwardingFeatureList_item",
17059 FT_NONE, BASE_NONE, NULL, 0,
17060 "ForwardingFeatureList/_item", HFILL }},
17061 { &hf_gsm_map_forwardingOptions,
17062 { "forwardingOptions", "gsm_map.forwardingOptions",
17063 FT_BYTES, BASE_HEX, NULL, 0,
17065 { &hf_gsm_map_noReplyConditionTime,
17066 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
17067 FT_UINT32, BASE_DEC, NULL, 0,
17069 { &hf_gsm_map_matchType,
17070 { "matchType", "gsm_map.matchType",
17071 FT_UINT32, BASE_DEC, VALS(gsm_map_MatchType_vals), 0,
17072 "DestinationNumberCriteria/matchType", HFILL }},
17073 { &hf_gsm_map_destinationNumberList,
17074 { "destinationNumberList", "gsm_map.destinationNumberList",
17075 FT_UINT32, BASE_DEC, NULL, 0,
17076 "DestinationNumberCriteria/destinationNumberList", HFILL }},
17077 { &hf_gsm_map_destinationNumberLengthList,
17078 { "destinationNumberLengthList", "gsm_map.destinationNumberLengthList",
17079 FT_UINT32, BASE_DEC, NULL, 0,
17080 "DestinationNumberCriteria/destinationNumberLengthList", HFILL }},
17081 { &hf_gsm_map_DestinationNumberList_item,
17082 { "Item", "gsm_map.DestinationNumberList_item",
17083 FT_BYTES, BASE_HEX, NULL, 0,
17084 "DestinationNumberList/_item", HFILL }},
17085 { &hf_gsm_map_DestinationNumberLengthList_item,
17086 { "Item", "gsm_map.DestinationNumberLengthList_item",
17087 FT_UINT32, BASE_DEC, NULL, 0,
17088 "DestinationNumberLengthList/_item", HFILL }},
17089 { &hf_gsm_map_forwardingFeatureList,
17090 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
17091 FT_UINT32, BASE_DEC, NULL, 0,
17093 { &hf_gsm_map_callBarringFeatureList,
17094 { "callBarringFeatureList", "gsm_map.callBarringFeatureList",
17095 FT_UINT32, BASE_DEC, NULL, 0,
17096 "CallBarringInfo/callBarringFeatureList", HFILL }},
17097 { &hf_gsm_map_nbrSB,
17098 { "nbrSB", "gsm_map.nbrSB",
17099 FT_UINT32, BASE_DEC, NULL, 0,
17101 { &hf_gsm_map_nbrUser,
17102 { "nbrUser", "gsm_map.nbrUser",
17103 FT_UINT32, BASE_DEC, NULL, 0,
17105 { &hf_gsm_map_hlr_List,
17106 { "hlr-List", "gsm_map.hlr_List",
17107 FT_UINT32, BASE_DEC, NULL, 0,
17108 "ResetArg/hlr-List", HFILL }},
17109 { &hf_gsm_map_msNotReachable,
17110 { "msNotReachable", "gsm_map.msNotReachable",
17111 FT_NONE, BASE_NONE, NULL, 0,
17112 "RestoreDataRes/msNotReachable", HFILL }},
17113 { &hf_gsm_map_VBSDataList_item,
17114 { "Item", "gsm_map.VBSDataList_item",
17115 FT_NONE, BASE_NONE, NULL, 0,
17116 "VBSDataList/_item", HFILL }},
17117 { &hf_gsm_map_VGCSDataList_item,
17118 { "Item", "gsm_map.VGCSDataList_item",
17119 FT_NONE, BASE_NONE, NULL, 0,
17120 "VGCSDataList/_item", HFILL }},
17121 { &hf_gsm_map_groupId,
17122 { "groupId", "gsm_map.groupId",
17123 FT_BYTES, BASE_HEX, NULL, 0,
17124 "VoiceGroupCallData/groupId", HFILL }},
17125 { &hf_gsm_map_groupid,
17126 { "groupid", "gsm_map.groupid",
17127 FT_BYTES, BASE_HEX, NULL, 0,
17128 "VoiceBroadcastData/groupid", HFILL }},
17129 { &hf_gsm_map_broadcastInitEntitlement,
17130 { "broadcastInitEntitlement", "gsm_map.broadcastInitEntitlement",
17131 FT_NONE, BASE_NONE, NULL, 0,
17132 "VoiceBroadcastData/broadcastInitEntitlement", HFILL }},
17133 { &hf_gsm_map_traceReference,
17134 { "traceReference", "gsm_map.traceReference",
17135 FT_BYTES, BASE_HEX, NULL, 0,
17137 { &hf_gsm_map_traceType,
17138 { "traceType", "gsm_map.traceType",
17139 FT_UINT32, BASE_DEC, NULL, 0,
17140 "ActivateTraceModeArg/traceType", HFILL }},
17141 { &hf_gsm_map_omc_Id,
17142 { "omc-Id", "gsm_map.omc_Id",
17143 FT_BYTES, BASE_HEX, NULL, 0,
17144 "ActivateTraceModeArg/omc-Id", HFILL }},
17145 { &hf_gsm_map_cug_CheckInfo,
17146 { "cug-CheckInfo", "gsm_map.cug_CheckInfo",
17147 FT_NONE, BASE_NONE, NULL, 0,
17149 { &hf_gsm_map_numberOfForwarding,
17150 { "numberOfForwarding", "gsm_map.numberOfForwarding",
17151 FT_UINT32, BASE_DEC, NULL, 0,
17152 "SendRoutingInfoArg/numberOfForwarding", HFILL }},
17153 { &hf_gsm_map_interrogationType,
17154 { "interrogationType", "gsm_map.interrogationType",
17155 FT_UINT32, BASE_DEC, VALS(gsm_map_InterrogationType_vals), 0,
17156 "SendRoutingInfoArg/interrogationType", HFILL }},
17157 { &hf_gsm_map_or_Interrogation,
17158 { "or-Interrogation", "gsm_map.or_Interrogation",
17159 FT_NONE, BASE_NONE, NULL, 0,
17161 { &hf_gsm_map_or_Capability,
17162 { "or-Capability", "gsm_map.or_Capability",
17163 FT_UINT32, BASE_DEC, NULL, 0,
17164 "SendRoutingInfoArg/or-Capability", HFILL }},
17165 { &hf_gsm_map_gmsc_OrGsmSCF_Address,
17166 { "gmsc-OrGsmSCF-Address", "gsm_map.gmsc_OrGsmSCF_Address",
17167 FT_BYTES, BASE_HEX, NULL, 0,
17168 "SendRoutingInfoArg/gmsc-OrGsmSCF-Address", HFILL }},
17169 { &hf_gsm_map_callReferenceNumber,
17170 { "callReferenceNumber", "gsm_map.callReferenceNumber",
17171 FT_BYTES, BASE_HEX, NULL, 0,
17173 { &hf_gsm_map_forwardingReason,
17174 { "forwardingReason", "gsm_map.forwardingReason",
17175 FT_UINT32, BASE_DEC, VALS(gsm_map_ForwardingReason_vals), 0,
17176 "SendRoutingInfoArg/forwardingReason", HFILL }},
17177 { &hf_gsm_map_ext_basicServiceGroup,
17178 { "basicServiceGroup", "gsm_map.basicServiceGroup",
17179 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
17181 { &hf_gsm_map_networkSignalInfo,
17182 { "networkSignalInfo", "gsm_map.networkSignalInfo",
17183 FT_NONE, BASE_NONE, NULL, 0,
17185 { &hf_gsm_map_camelInfo,
17186 { "camelInfo", "gsm_map.camelInfo",
17187 FT_NONE, BASE_NONE, NULL, 0,
17188 "SendRoutingInfoArg/camelInfo", HFILL }},
17189 { &hf_gsm_map_suppressionOfAnnouncement,
17190 { "suppressionOfAnnouncement", "gsm_map.suppressionOfAnnouncement",
17191 FT_NONE, BASE_NONE, NULL, 0,
17193 { &hf_gsm_map_alertingPattern,
17194 { "alertingPattern", "gsm_map.alertingPattern",
17195 FT_BYTES, BASE_HEX, NULL, 0,
17197 { &hf_gsm_map_ccbs_Call,
17198 { "ccbs-Call", "gsm_map.ccbs_Call",
17199 FT_NONE, BASE_NONE, NULL, 0,
17201 { &hf_gsm_map_supportedCCBS_Phase,
17202 { "supportedCCBS-Phase", "gsm_map.supportedCCBS_Phase",
17203 FT_UINT32, BASE_DEC, NULL, 0,
17204 "SendRoutingInfoArg/supportedCCBS-Phase", HFILL }},
17205 { &hf_gsm_map_additionalSignalInfo,
17206 { "additionalSignalInfo", "gsm_map.additionalSignalInfo",
17207 FT_NONE, BASE_NONE, NULL, 0,
17209 { &hf_gsm_map_pre_pagingSupported,
17210 { "pre-pagingSupported", "gsm_map.pre_pagingSupported",
17211 FT_NONE, BASE_NONE, NULL, 0,
17213 { &hf_gsm_map_callDiversionTreatmentIndicator,
17214 { "callDiversionTreatmentIndicator", "gsm_map.callDiversionTreatmentIndicator",
17215 FT_BYTES, BASE_HEX, NULL, 0,
17216 "SendRoutingInfoArg/callDiversionTreatmentIndicator", HFILL }},
17217 { &hf_gsm_map_suppress_VT_CSI,
17218 { "suppress-VT-CSI", "gsm_map.suppress_VT_CSI",
17219 FT_NONE, BASE_NONE, NULL, 0,
17221 { &hf_gsm_map_suppressIncomingCallBarring,
17222 { "suppressIncomingCallBarring", "gsm_map.suppressIncomingCallBarring",
17223 FT_NONE, BASE_NONE, NULL, 0,
17224 "SendRoutingInfoArg/suppressIncomingCallBarring", HFILL }},
17225 { &hf_gsm_map_gsmSCF_InitiatedCall,
17226 { "gsmSCF-InitiatedCall", "gsm_map.gsmSCF_InitiatedCall",
17227 FT_NONE, BASE_NONE, NULL, 0,
17228 "SendRoutingInfoArg/gsmSCF-InitiatedCall", HFILL }},
17229 { &hf_gsm_map_basicServiceGroup2,
17230 { "basicServiceGroup2", "gsm_map.basicServiceGroup2",
17231 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
17233 { &hf_gsm_map_networkSignalInfo2,
17234 { "networkSignalInfo2", "gsm_map.networkSignalInfo2",
17235 FT_NONE, BASE_NONE, NULL, 0,
17236 "SendRoutingInfoArg/networkSignalInfo2", HFILL }},
17237 { &hf_gsm_map_extendedRoutingInfo,
17238 { "extendedRoutingInfo", "gsm_map.extendedRoutingInfo",
17239 FT_UINT32, BASE_DEC, VALS(gsm_map_ExtendedRoutingInfo_vals), 0,
17240 "SendRoutingInfoRes/extendedRoutingInfo", HFILL }},
17241 { &hf_gsm_map_cugSubscriptionFlag,
17242 { "cugSubscriptionFlag", "gsm_map.cugSubscriptionFlag",
17243 FT_NONE, BASE_NONE, NULL, 0,
17244 "SendRoutingInfoRes/cugSubscriptionFlag", HFILL }},
17245 { &hf_gsm_map_subscriberInfo,
17246 { "subscriberInfo", "gsm_map.subscriberInfo",
17247 FT_NONE, BASE_NONE, NULL, 0,
17249 { &hf_gsm_map_forwardingInterrogationRequired,
17250 { "forwardingInterrogationRequired", "gsm_map.forwardingInterrogationRequired",
17251 FT_NONE, BASE_NONE, NULL, 0,
17252 "SendRoutingInfoRes/forwardingInterrogationRequired", HFILL }},
17253 { &hf_gsm_map_vmsc_Address,
17254 { "vmsc-Address", "gsm_map.vmsc_Address",
17255 FT_BYTES, BASE_HEX, NULL, 0,
17256 "SendRoutingInfoRes/vmsc-Address", HFILL }},
17257 { &hf_gsm_map_ccbs_Indicators,
17258 { "ccbs-Indicators", "gsm_map.ccbs_Indicators",
17259 FT_NONE, BASE_NONE, NULL, 0,
17260 "SendRoutingInfoRes/ccbs-Indicators", HFILL }},
17261 { &hf_gsm_map_numberPortabilityStatus,
17262 { "numberPortabilityStatus", "gsm_map.numberPortabilityStatus",
17263 FT_UINT32, BASE_DEC, VALS(gsm_map_NumberPortabilityStatus_vals), 0,
17265 { &hf_gsm_map_supportedCamelPhasesInVMSC,
17266 { "supportedCamelPhasesInVMSC", "gsm_map.supportedCamelPhasesInVMSC",
17267 FT_BYTES, BASE_HEX, NULL, 0,
17268 "SendRoutingInfoRes/supportedCamelPhasesInVMSC", HFILL }},
17269 { &hf_gsm_map_offeredCamel4CSIsInVMSC,
17270 { "offeredCamel4CSIsInVMSC", "gsm_map.offeredCamel4CSIsInVMSC",
17271 FT_BYTES, BASE_HEX, NULL, 0,
17272 "SendRoutingInfoRes/offeredCamel4CSIsInVMSC", HFILL }},
17273 { &hf_gsm_map_routingInfo2,
17274 { "routingInfo2", "gsm_map.routingInfo2",
17275 FT_UINT32, BASE_DEC, VALS(gsm_map_RoutingInfo_vals), 0,
17276 "SendRoutingInfoRes/routingInfo2", HFILL }},
17277 { &hf_gsm_map_ss_List2,
17278 { "ss-List2", "gsm_map.ss_List2",
17279 FT_UINT32, BASE_DEC, NULL, 0,
17280 "SendRoutingInfoRes/ss-List2", HFILL }},
17281 { &hf_gsm_map_basicService2,
17282 { "basicService2", "gsm_map.basicService2",
17283 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
17284 "SendRoutingInfoRes/basicService2", HFILL }},
17285 { &hf_gsm_map_allowedServices,
17286 { "allowedServices", "gsm_map.allowedServices",
17287 FT_BYTES, BASE_HEX, NULL, 0,
17288 "SendRoutingInfoRes/allowedServices", HFILL }},
17289 { &hf_gsm_map_unavailabilityCause,
17290 { "unavailabilityCause", "gsm_map.unavailabilityCause",
17291 FT_UINT32, BASE_DEC, VALS(gsm_map_UnavailabilityCause_vals), 0,
17292 "SendRoutingInfoRes/unavailabilityCause", HFILL }},
17293 { &hf_gsm_map_releaseResourcesSupported,
17294 { "releaseResourcesSupported", "gsm_map.releaseResourcesSupported",
17295 FT_NONE, BASE_NONE, NULL, 0,
17297 { &hf_gsm_map_ext_ProtocolId,
17298 { "ext-ProtocolId", "gsm_map.ext_ProtocolId",
17299 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_ProtocolId_vals), 0,
17300 "Ext-ExternalSignalInfo/ext-ProtocolId", HFILL }},
17301 { &hf_gsm_map_accessNetworkProtocolId,
17302 { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId",
17303 FT_UINT32, BASE_DEC, VALS(gsm_map_AccessNetworkProtocolId_vals), 0,
17304 "AccessNetworkSignalInfo/accessNetworkProtocolId", HFILL }},
17305 { &hf_gsm_map_longsignalInfo,
17306 { "signalInfo", "gsm_map.signalInfo",
17307 FT_BYTES, BASE_HEX, NULL, 0,
17308 "AccessNetworkSignalInfo/signalInfo", HFILL }},
17309 { &hf_gsm_map_suppress_T_CSI,
17310 { "suppress-T-CSI", "gsm_map.suppress_T_CSI",
17311 FT_NONE, BASE_NONE, NULL, 0,
17312 "CamelInfo/suppress-T-CSI", HFILL }},
17313 { &hf_gsm_map_HLR_List_item,
17314 { "Item", "gsm_map.HLR_List_item",
17315 FT_BYTES, BASE_HEX, NULL, 0,
17316 "HLR-List/_item", HFILL }},
17317 { &hf_gsm_map_SS_List_item,
17318 { "Item", "gsm_map.SS_List_item",
17319 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
17320 "SS-List/_item", HFILL }},
17321 { &hf_gsm_map_naea_PreferredCIC,
17322 { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC",
17323 FT_BYTES, BASE_HEX, NULL, 0,
17324 "NAEA-PreferredCI/naea-PreferredCIC", HFILL }},
17325 { &hf_gsm_map_externalAddress,
17326 { "externalAddress", "gsm_map.externalAddress",
17327 FT_BYTES, BASE_HEX, NULL, 0,
17328 "LCSClientExternalID/externalAddress", HFILL }},
17329 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength,
17330 { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength",
17331 FT_BYTES, BASE_HEX, NULL, 0,
17332 "CellGlobalIdOrServiceAreaIdOrLAI/cellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
17333 { &hf_gsm_map_laiFixedLength,
17334 { "laiFixedLength", "gsm_map.laiFixedLength",
17335 FT_BYTES, BASE_HEX, NULL, 0,
17336 "CellGlobalIdOrServiceAreaIdOrLAI/laiFixedLength", HFILL }},
17337 { &hf_gsm_map_ccbs_Possible,
17338 { "ccbs-Possible", "gsm_map.ccbs_Possible",
17339 FT_NONE, BASE_NONE, NULL, 0,
17341 { &hf_gsm_map_keepCCBS_CallIndicator,
17342 { "keepCCBS-CallIndicator", "gsm_map.keepCCBS_CallIndicator",
17343 FT_NONE, BASE_NONE, NULL, 0,
17344 "CCBS-Indicators/keepCCBS-CallIndicator", HFILL }},
17345 { &hf_gsm_map_roamingNumber,
17346 { "roamingNumber", "gsm_map.roamingNumber",
17347 FT_BYTES, BASE_HEX, NULL, 0,
17349 { &hf_gsm_map_forwardingData,
17350 { "forwardingData", "gsm_map.forwardingData",
17351 FT_NONE, BASE_NONE, NULL, 0,
17353 { &hf_gsm_map_routingInfo,
17354 { "routingInfo", "gsm_map.routingInfo",
17355 FT_UINT32, BASE_DEC, VALS(gsm_map_RoutingInfo_vals), 0,
17356 "ExtendedRoutingInfo/routingInfo", HFILL }},
17357 { &hf_gsm_map_camelRoutingInfo,
17358 { "camelRoutingInfo", "gsm_map.camelRoutingInfo",
17359 FT_NONE, BASE_NONE, NULL, 0,
17360 "ExtendedRoutingInfo/camelRoutingInfo", HFILL }},
17361 { &hf_gsm_map_gmscCamelSubscriptionInfo,
17362 { "gmscCamelSubscriptionInfo", "gsm_map.gmscCamelSubscriptionInfo",
17363 FT_NONE, BASE_NONE, NULL, 0,
17364 "CamelRoutingInfo/gmscCamelSubscriptionInfo", HFILL }},
17365 { &hf_gsm_map_t_CSI,
17366 { "t-CSI", "gsm_map.t_CSI",
17367 FT_NONE, BASE_NONE, NULL, 0,
17369 { &hf_gsm_map_d_csi,
17370 { "d-csi", "gsm_map.d_csi",
17371 FT_NONE, BASE_NONE, NULL, 0,
17373 { &hf_gsm_map_ageOfLocationInformation,
17374 { "ageOfLocationInformation", "gsm_map.ageOfLocationInformation",
17375 FT_UINT32, BASE_DEC, NULL, 0,
17377 { &hf_gsm_map_geographicalInformation,
17378 { "geographicalInformation", "gsm_map.geographicalInformation",
17379 FT_BYTES, BASE_HEX, NULL, 0,
17381 { &hf_gsm_map_vlr_number,
17382 { "vlr-number", "gsm_map.vlr_number",
17383 FT_BYTES, BASE_HEX, NULL, 0,
17384 "LocationInformation/vlr-number", HFILL }},
17385 { &hf_gsm_map_locationNumber,
17386 { "locationNumber", "gsm_map.locationNumber",
17387 FT_BYTES, BASE_HEX, NULL, 0,
17388 "LocationInformation/locationNumber", HFILL }},
17389 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI,
17390 { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.cellGlobalIdOrServiceAreaIdOrLAI",
17391 FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
17393 { &hf_gsm_map_selectedLSA_Id,
17394 { "selectedLSA-Id", "gsm_map.selectedLSA_Id",
17395 FT_BYTES, BASE_HEX, NULL, 0,
17396 "LocationInformation/selectedLSA-Id", HFILL }},
17397 { &hf_gsm_map_geodeticInformation,
17398 { "geodeticInformation", "gsm_map.geodeticInformation",
17399 FT_BYTES, BASE_HEX, NULL, 0,
17401 { &hf_gsm_map_currentLocationRetrieved,
17402 { "currentLocationRetrieved", "gsm_map.currentLocationRetrieved",
17403 FT_NONE, BASE_NONE, NULL, 0,
17405 { &hf_gsm_map_sai_Present,
17406 { "sai-Present", "gsm_map.sai_Present",
17407 FT_NONE, BASE_NONE, NULL, 0,
17409 { &hf_gsm_map_routeingAreaIdentity,
17410 { "routeingAreaIdentity", "gsm_map.routeingAreaIdentity",
17411 FT_BYTES, BASE_HEX, NULL, 0,
17412 "LocationInformationGPRS/routeingAreaIdentity", HFILL }},
17413 { &hf_gsm_map_selectedLSAIdentity,
17414 { "selectedLSAIdentity", "gsm_map.selectedLSAIdentity",
17415 FT_BYTES, BASE_HEX, NULL, 0,
17416 "LocationInformationGPRS/selectedLSAIdentity", HFILL }},
17417 { &hf_gsm_map_assumedIdle,
17418 { "assumedIdle", "gsm_map.assumedIdle",
17419 FT_NONE, BASE_NONE, NULL, 0,
17420 "SubscriberState/assumedIdle", HFILL }},
17421 { &hf_gsm_map_camelBusy,
17422 { "camelBusy", "gsm_map.camelBusy",
17423 FT_NONE, BASE_NONE, NULL, 0,
17424 "SubscriberState/camelBusy", HFILL }},
17425 { &hf_gsm_map_notProvidedFromVLR,
17426 { "notProvidedFromVLR", "gsm_map.notProvidedFromVLR",
17427 FT_NONE, BASE_NONE, NULL, 0,
17428 "SubscriberState/notProvidedFromVLR", HFILL }},
17429 { &hf_gsm_map_notProvidedFromSGSN,
17430 { "notProvidedFromSGSN", "gsm_map.notProvidedFromSGSN",
17431 FT_NONE, BASE_NONE, NULL, 0,
17432 "PS-SubscriberState/notProvidedFromSGSN", HFILL }},
17433 { &hf_gsm_map_ps_Detached,
17434 { "ps-Detached", "gsm_map.ps_Detached",
17435 FT_NONE, BASE_NONE, NULL, 0,
17436 "PS-SubscriberState/ps-Detached", HFILL }},
17437 { &hf_gsm_map_ps_AttachedNotReachableForPaging,
17438 { "ps-AttachedNotReachableForPaging", "gsm_map.ps_AttachedNotReachableForPaging",
17439 FT_NONE, BASE_NONE, NULL, 0,
17440 "PS-SubscriberState/ps-AttachedNotReachableForPaging", HFILL }},
17441 { &hf_gsm_map_ps_AttachedReachableForPaging,
17442 { "ps-AttachedReachableForPaging", "gsm_map.ps_AttachedReachableForPaging",
17443 FT_NONE, BASE_NONE, NULL, 0,
17444 "PS-SubscriberState/ps-AttachedReachableForPaging", HFILL }},
17445 { &hf_gsm_map_ps_PDP_ActiveNotReachableForPaging,
17446 { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ps_PDP_ActiveNotReachableForPaging",
17447 FT_UINT32, BASE_DEC, NULL, 0,
17448 "PS-SubscriberState/ps-PDP-ActiveNotReachableForPaging", HFILL }},
17449 { &hf_gsm_map_ps_PDP_ActiveReachableForPaging,
17450 { "ps-PDP-ActiveReachableForPaging", "gsm_map.ps_PDP_ActiveReachableForPaging",
17451 FT_UINT32, BASE_DEC, NULL, 0,
17452 "PS-SubscriberState/ps-PDP-ActiveReachableForPaging", HFILL }},
17453 { &hf_gsm_map_netDetNotReachable,
17454 { "netDetNotReachable", "gsm_map.netDetNotReachable",
17455 FT_UINT32, BASE_DEC, VALS(gsm_map_NotReachableReason_vals), 0,
17456 "PS-SubscriberState/netDetNotReachable", HFILL }},
17457 { &hf_gsm_map_PDP_ContextInfoList_item,
17458 { "Item", "gsm_map.PDP_ContextInfoList_item",
17459 FT_NONE, BASE_NONE, NULL, 0,
17460 "PDP-ContextInfoList/_item", HFILL }},
17461 { &hf_gsm_map_pdp_ContextIdentifier,
17462 { "pdp-ContextIdentifier", "gsm_map.pdp_ContextIdentifier",
17463 FT_UINT32, BASE_DEC, NULL, 0,
17464 "PDP-ContextInfo/pdp-ContextIdentifier", HFILL }},
17465 { &hf_gsm_map_pdp_ContextActive,
17466 { "pdp-ContextActive", "gsm_map.pdp_ContextActive",
17467 FT_NONE, BASE_NONE, NULL, 0,
17468 "PDP-ContextInfo/pdp-ContextActive", HFILL }},
17469 { &hf_gsm_map_apn_Subscribed,
17470 { "apn-Subscribed", "gsm_map.apn_Subscribed",
17471 FT_BYTES, BASE_HEX, NULL, 0,
17472 "PDP-ContextInfo/apn-Subscribed", HFILL }},
17473 { &hf_gsm_map_apn_InUse,
17474 { "apn-InUse", "gsm_map.apn_InUse",
17475 FT_BYTES, BASE_HEX, NULL, 0,
17476 "PDP-ContextInfo/apn-InUse", HFILL }},
17477 { &hf_gsm_map_nsapi,
17478 { "nsapi", "gsm_map.nsapi",
17479 FT_UINT32, BASE_DEC, NULL, 0,
17480 "PDP-ContextInfo/nsapi", HFILL }},
17481 { &hf_gsm_map_transactionId,
17482 { "transactionId", "gsm_map.transactionId",
17483 FT_BYTES, BASE_HEX, NULL, 0,
17484 "PDP-ContextInfo/transactionId", HFILL }},
17485 { &hf_gsm_map_teid_ForGnAndGp,
17486 { "teid-ForGnAndGp", "gsm_map.teid_ForGnAndGp",
17487 FT_BYTES, BASE_HEX, NULL, 0,
17488 "PDP-ContextInfo/teid-ForGnAndGp", HFILL }},
17489 { &hf_gsm_map_teid_ForIu,
17490 { "teid-ForIu", "gsm_map.teid_ForIu",
17491 FT_BYTES, BASE_HEX, NULL, 0,
17492 "PDP-ContextInfo/teid-ForIu", HFILL }},
17493 { &hf_gsm_map_ggsn_Address,
17494 { "ggsn-Address", "gsm_map.ggsn_Address",
17495 FT_BYTES, BASE_HEX, NULL, 0,
17497 { &hf_gsm_map_ext_qos_Subscribed,
17498 { "qos-Subscribed", "gsm_map.qos_Subscribed",
17499 FT_BYTES, BASE_HEX, NULL, 0,
17500 "PDP-ContextInfo/qos-Subscribed", HFILL }},
17501 { &hf_gsm_map_qos_Requested,
17502 { "qos-Requested", "gsm_map.qos_Requested",
17503 FT_BYTES, BASE_HEX, NULL, 0,
17504 "PDP-ContextInfo/qos-Requested", HFILL }},
17505 { &hf_gsm_map_qos_Negotiated,
17506 { "qos-Negotiated", "gsm_map.qos_Negotiated",
17507 FT_BYTES, BASE_HEX, NULL, 0,
17508 "PDP-ContextInfo/qos-Negotiated", HFILL }},
17509 { &hf_gsm_map_chargingId,
17510 { "chargingId", "gsm_map.chargingId",
17511 FT_BYTES, BASE_HEX, NULL, 0,
17512 "PDP-ContextInfo/chargingId", HFILL }},
17513 { &hf_gsm_map_rnc_Address,
17514 { "rnc-Address", "gsm_map.rnc_Address",
17515 FT_BYTES, BASE_HEX, NULL, 0,
17516 "PDP-ContextInfo/rnc-Address", HFILL }},
17517 { &hf_gsm_map_qos2_Subscribed,
17518 { "qos2-Subscribed", "gsm_map.qos2_Subscribed",
17519 FT_BYTES, BASE_HEX, NULL, 0,
17520 "PDP-ContextInfo/qos2-Subscribed", HFILL }},
17521 { &hf_gsm_map_qos2_Requested,
17522 { "qos2-Requested", "gsm_map.qos2_Requested",
17523 FT_BYTES, BASE_HEX, NULL, 0,
17524 "PDP-ContextInfo/qos2-Requested", HFILL }},
17525 { &hf_gsm_map_qos2_Negotiated,
17526 { "qos2-Negotiated", "gsm_map.qos2_Negotiated",
17527 FT_BYTES, BASE_HEX, NULL, 0,
17528 "PDP-ContextInfo/qos2-Negotiated", HFILL }},
17529 { &hf_gsm_map_cug_OutgoingAccess,
17530 { "cug-OutgoingAccess", "gsm_map.cug_OutgoingAccess",
17531 FT_NONE, BASE_NONE, NULL, 0,
17532 "CUG-CheckInfo/cug-OutgoingAccess", HFILL }},
17533 { &hf_gsm_map_gsm_BearerCapability,
17534 { "gsm-BearerCapability", "gsm_map.gsm_BearerCapability",
17535 FT_NONE, BASE_NONE, NULL, 0,
17537 { &hf_gsm_map_gmsc_Address,
17538 { "gmsc-Address", "gsm_map.gmsc_Address",
17539 FT_BYTES, BASE_HEX, NULL, 0,
17540 "ProvideRoamingNumberArg/gmsc-Address", HFILL }},
17541 { &hf_gsm_map_supportedCamelPhasesInInterrogatingNode,
17542 { "supportedCamelPhasesInInterrogatingNode", "gsm_map.supportedCamelPhasesInInterrogatingNode",
17543 FT_BYTES, BASE_HEX, NULL, 0,
17544 "ProvideRoamingNumberArg/supportedCamelPhasesInInterrogatingNode", HFILL }},
17545 { &hf_gsm_map_orNotSupportedInGMSC,
17546 { "orNotSupportedInGMSC", "gsm_map.orNotSupportedInGMSC",
17547 FT_NONE, BASE_NONE, NULL, 0,
17548 "ProvideRoamingNumberArg/orNotSupportedInGMSC", HFILL }},
17549 { &hf_gsm_map_offeredCamel4CSIsInInterrogatingNode,
17550 { "offeredCamel4CSIsInInterrogatingNode", "gsm_map.offeredCamel4CSIsInInterrogatingNode",
17551 FT_BYTES, BASE_HEX, NULL, 0,
17552 "ProvideRoamingNumberArg/offeredCamel4CSIsInInterrogatingNode", HFILL }},
17553 { &hf_gsm_map_uu_Data,
17554 { "uu-Data", "gsm_map.uu_Data",
17555 FT_NONE, BASE_NONE, NULL, 0,
17556 "ResumeCallHandlingArg/uu-Data", HFILL }},
17557 { &hf_gsm_map_allInformationSent,
17558 { "allInformationSent", "gsm_map.allInformationSent",
17559 FT_NONE, BASE_NONE, NULL, 0,
17561 { &hf_gsm_map_o_BcsmCamelTDPCriteriaList,
17562 { "o-BcsmCamelTDPCriteriaList", "gsm_map.o_BcsmCamelTDPCriteriaList",
17563 FT_UINT32, BASE_DEC, NULL, 0,
17564 "ResumeCallHandlingArg/o-BcsmCamelTDPCriteriaList", HFILL }},
17565 { &hf_gsm_map_uuIndicator,
17566 { "uuIndicator", "gsm_map.uuIndicator",
17567 FT_BYTES, BASE_HEX, NULL, 0,
17568 "UU-Data/uuIndicator", HFILL }},
17570 { "uui", "gsm_map.uui",
17571 FT_BYTES, BASE_HEX, NULL, 0,
17572 "UU-Data/uui", HFILL }},
17573 { &hf_gsm_map_uusCFInteraction,
17574 { "uusCFInteraction", "gsm_map.uusCFInteraction",
17575 FT_NONE, BASE_NONE, NULL, 0,
17576 "UU-Data/uusCFInteraction", HFILL }},
17577 { &hf_gsm_map_isdn_BearerCapability,
17578 { "isdn-BearerCapability", "gsm_map.isdn_BearerCapability",
17579 FT_NONE, BASE_NONE, NULL, 0,
17580 "ProvideSIWFSNumberArg/isdn-BearerCapability", HFILL }},
17581 { &hf_gsm_map_call_Direction,
17582 { "call-Direction", "gsm_map.call_Direction",
17583 FT_BYTES, BASE_HEX, NULL, 0,
17584 "ProvideSIWFSNumberArg/call-Direction", HFILL }},
17585 { &hf_gsm_map_b_Subscriber_Address,
17586 { "b-Subscriber-Address", "gsm_map.b_Subscriber_Address",
17587 FT_BYTES, BASE_HEX, NULL, 0,
17588 "ProvideSIWFSNumberArg/b-Subscriber-Address", HFILL }},
17589 { &hf_gsm_map_chosenChannel,
17590 { "chosenChannel", "gsm_map.chosenChannel",
17591 FT_NONE, BASE_NONE, NULL, 0,
17593 { &hf_gsm_map_lowerLayerCompatibility,
17594 { "lowerLayerCompatibility", "gsm_map.lowerLayerCompatibility",
17595 FT_NONE, BASE_NONE, NULL, 0,
17596 "ProvideSIWFSNumberArg/lowerLayerCompatibility", HFILL }},
17597 { &hf_gsm_map_highLayerCompatibility,
17598 { "highLayerCompatibility", "gsm_map.highLayerCompatibility",
17599 FT_NONE, BASE_NONE, NULL, 0,
17600 "ProvideSIWFSNumberArg/highLayerCompatibility", HFILL }},
17601 { &hf_gsm_map_sIWFSNumber,
17602 { "sIWFSNumber", "gsm_map.sIWFSNumber",
17603 FT_BYTES, BASE_HEX, NULL, 0,
17604 "ProvideSIWFSNumberRes/sIWFSNumber", HFILL }},
17605 { &hf_gsm_map_channelType,
17606 { "channelType", "gsm_map.channelType",
17607 FT_NONE, BASE_NONE, NULL, 0,
17609 { &hf_gsm_map_ccbs_Monitoring,
17610 { "ccbs-Monitoring", "gsm_map.ccbs_Monitoring",
17611 FT_UINT32, BASE_DEC, VALS(gsm_map_ReportingState_vals), 0,
17612 "SetReportingStateArg/ccbs-Monitoring", HFILL }},
17613 { &hf_gsm_map_ccbs_SubscriberStatus,
17614 { "ccbs-SubscriberStatus", "gsm_map.ccbs_SubscriberStatus",
17615 FT_UINT32, BASE_DEC, VALS(gsm_map_CCBS_SubscriberStatus_vals), 0,
17617 { &hf_gsm_map_eventReportData,
17618 { "eventReportData", "gsm_map.eventReportData",
17619 FT_NONE, BASE_NONE, NULL, 0,
17620 "StatusReportArg/eventReportData", HFILL }},
17621 { &hf_gsm_map_callReportdata,
17622 { "callReportdata", "gsm_map.callReportdata",
17623 FT_NONE, BASE_NONE, NULL, 0,
17624 "StatusReportArg/callReportdata", HFILL }},
17625 { &hf_gsm_map_monitoringMode,
17626 { "monitoringMode", "gsm_map.monitoringMode",
17627 FT_UINT32, BASE_DEC, VALS(gsm_map_MonitoringMode_vals), 0,
17628 "CallReportData/monitoringMode", HFILL }},
17629 { &hf_gsm_map_callOutcome,
17630 { "callOutcome", "gsm_map.callOutcome",
17631 FT_UINT32, BASE_DEC, VALS(gsm_map_CallOutcome_vals), 0,
17632 "CallReportData/callOutcome", HFILL }},
17633 { &hf_gsm_map_callTerminationIndicator,
17634 { "callTerminationIndicator", "gsm_map.callTerminationIndicator",
17635 FT_UINT32, BASE_DEC, VALS(gsm_map_CallTerminationIndicator_vals), 0,
17636 "IST-AlertRes/callTerminationIndicator", HFILL }},
17637 { &hf_gsm_map_msrn,
17638 { "msrn", "gsm_map.msrn",
17639 FT_BYTES, BASE_HEX, NULL, 0,
17640 "ReleaseResourcesArg/msrn", HFILL }},
17641 { &hf_gsm_map_callInfo,
17642 { "callInfo", "gsm_map.callInfo",
17643 FT_NONE, BASE_NONE, NULL, 0,
17645 { &hf_gsm_map_ccbs_Feature,
17646 { "ccbs-Feature", "gsm_map.ccbs_Feature",
17647 FT_NONE, BASE_NONE, NULL, 0,
17649 { &hf_gsm_map_translatedB_Number,
17650 { "translatedB-Number", "gsm_map.translatedB_Number",
17651 FT_BYTES, BASE_HEX, NULL, 0,
17653 { &hf_gsm_map_replaceB_Number,
17654 { "replaceB-Number", "gsm_map.replaceB_Number",
17655 FT_NONE, BASE_NONE, NULL, 0,
17656 "RemoteUserFreeArg/replaceB-Number", HFILL }},
17657 { &hf_gsm_map_ruf_Outcome,
17658 { "ruf-Outcome", "gsm_map.ruf_Outcome",
17659 FT_UINT32, BASE_DEC, VALS(gsm_map_Ruf_Outcome_vals), 0,
17660 "RemoteUserFreeRes/ruf-Outcome", HFILL }},
17661 { &hf_gsm_map_ext_basicServiceGroupList,
17662 { "basicServiceGroupList", "gsm_map.basicServiceGroupList",
17663 FT_UINT32, BASE_DEC, NULL, 0,
17665 { &hf_gsm_map_cliRestrictionOption,
17666 { "cliRestrictionOption", "gsm_map.cliRestrictionOption",
17667 FT_UINT32, BASE_DEC, VALS(gsm_map_CliRestrictionOption_vals), 0,
17669 { &hf_gsm_map_overrideCategory,
17670 { "overrideCategory", "gsm_map.overrideCategory",
17671 FT_UINT32, BASE_DEC, VALS(gsm_map_OverrideCategory_vals), 0,
17672 "SS-SubscriptionOption/overrideCategory", HFILL }},
17673 { &hf_gsm_map_forwardedToNumber_addr,
17674 { "forwardedToNumber", "gsm_map.forwardedToNumber",
17675 FT_BYTES, BASE_HEX, NULL, 0,
17677 { &hf_gsm_map_forwardingInfo,
17678 { "forwardingInfo", "gsm_map.forwardingInfo",
17679 FT_NONE, BASE_NONE, NULL, 0,
17680 "SS-Info/forwardingInfo", HFILL }},
17681 { &hf_gsm_map_callBarringInfo,
17682 { "callBarringInfo", "gsm_map.callBarringInfo",
17683 FT_NONE, BASE_NONE, NULL, 0,
17684 "SS-Info/callBarringInfo", HFILL }},
17685 { &hf_gsm_map_ss_Data,
17686 { "ss-Data", "gsm_map.ss_Data",
17687 FT_NONE, BASE_NONE, NULL, 0,
17688 "SS-Info/ss-Data", HFILL }},
17689 { &hf_gsm_map_genericServiceInfo,
17690 { "genericServiceInfo", "gsm_map.genericServiceInfo",
17691 FT_NONE, BASE_NONE, NULL, 0,
17692 "InterrogateSS-Res/genericServiceInfo", HFILL }},
17693 { &hf_gsm_map_ussd_DataCodingScheme,
17694 { "ussd-DataCodingScheme", "gsm_map.ussd_DataCodingScheme",
17695 FT_BYTES, BASE_HEX, NULL, 0,
17697 { &hf_gsm_map_ussd_String,
17698 { "ussd-String", "gsm_map.ussd_String",
17699 FT_BYTES, BASE_HEX, NULL, 0,
17701 { &hf_gsm_map_failureCause,
17702 { "failureCause", "gsm_map.failureCause",
17703 FT_UINT32, BASE_DEC, VALS(gsm_map_FailureCause_vals), 0,
17704 "AuthenticationFailureReportArg/failureCause", HFILL }},
17705 { &hf_gsm_map_re_attempt,
17706 { "re-attempt", "gsm_map.re_attempt",
17707 FT_BOOLEAN, 8, NULL, 0,
17708 "AuthenticationFailureReportArg/re-attempt", HFILL }},
17709 { &hf_gsm_map_accessType,
17710 { "accessType", "gsm_map.accessType",
17711 FT_UINT32, BASE_DEC, VALS(gsm_map_AccessType_vals), 0,
17712 "AuthenticationFailureReportArg/accessType", HFILL }},
17713 { &hf_gsm_map_ccbs_Data,
17714 { "ccbs-Data", "gsm_map.ccbs_Data",
17715 FT_NONE, BASE_NONE, NULL, 0,
17716 "RegisterCC-EntryArg/ccbs-Data", HFILL }},
17717 { &hf_gsm_map_serviceIndicator,
17718 { "serviceIndicator", "gsm_map.serviceIndicator",
17719 FT_BYTES, BASE_HEX, NULL, 0,
17720 "CCBS-Data/serviceIndicator", HFILL }},
17721 { &hf_gsm_map_ccbs_Index,
17722 { "ccbs-Index", "gsm_map.ccbs_Index",
17723 FT_UINT32, BASE_DEC, NULL, 0,
17725 { &hf_gsm_map_sm_RP_PRI,
17726 { "sm-RP-PRI", "gsm_map.sm_RP_PRI",
17727 FT_BOOLEAN, 8, NULL, 0,
17728 "RoutingInfoForSMArg/sm-RP-PRI", HFILL }},
17729 { &hf_gsm_map_serviceCentreAddress,
17730 { "serviceCentreAddress", "gsm_map.serviceCentreAddress",
17731 FT_BYTES, BASE_HEX, NULL, 0,
17733 { &hf_gsm_map_gprsSupportIndicator,
17734 { "gprsSupportIndicator", "gsm_map.gprsSupportIndicator",
17735 FT_NONE, BASE_NONE, NULL, 0,
17737 { &hf_gsm_map_sm_RP_MTI,
17738 { "sm-RP-MTI", "gsm_map.sm_RP_MTI",
17739 FT_UINT32, BASE_DEC, NULL, 0,
17740 "RoutingInfoForSMArg/sm-RP-MTI", HFILL }},
17741 { &hf_gsm_map_sm_RP_SMEA,
17742 { "sm-RP-SMEA", "gsm_map.sm_RP_SMEA",
17743 FT_BYTES, BASE_HEX, NULL, 0,
17744 "RoutingInfoForSMArg/sm-RP-SMEA", HFILL }},
17745 { &hf_gsm_map_locationInfoWithLMSI,
17746 { "locationInfoWithLMSI", "gsm_map.locationInfoWithLMSI",
17747 FT_NONE, BASE_NONE, NULL, 0,
17748 "RoutingInfoForSM-Res/locationInfoWithLMSI", HFILL }},
17749 { &hf_gsm_map_networkNode_Number,
17750 { "networkNode-Number", "gsm_map.networkNode_Number",
17751 FT_BYTES, BASE_HEX, NULL, 0,
17753 { &hf_gsm_map_gprsNodeIndicator,
17754 { "gprsNodeIndicator", "gsm_map.gprsNodeIndicator",
17755 FT_NONE, BASE_NONE, NULL, 0,
17757 { &hf_gsm_map_additional_Number,
17758 { "additional-Number", "gsm_map.additional_Number",
17759 FT_UINT32, BASE_DEC, VALS(gsm_map_Additional_Number_vals), 0,
17761 { &hf_gsm_map_sm_RP_DA,
17762 { "sm-RP-DA", "gsm_map.sm_RP_DA",
17763 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_DA_vals), 0,
17765 { &hf_gsm_map_sm_RP_OA,
17766 { "sm-RP-OA", "gsm_map.sm_RP_OA",
17767 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_OA_vals), 0,
17769 { &hf_gsm_map_sm_RP_UI,
17770 { "sm-RP-UI", "gsm_map.sm_RP_UI",
17771 FT_BYTES, BASE_HEX, NULL, 0,
17773 { &hf_gsm_map_serviceCentreAddressOA,
17774 { "serviceCentreAddressOA", "gsm_map.serviceCentreAddressOA",
17775 FT_BYTES, BASE_HEX, NULL, 0,
17776 "Sm-RP-OA/serviceCentreAddressOA", HFILL }},
17777 { &hf_gsm_map_noSM_RP_OA,
17778 { "noSM-RP-OA", "gsm_map.noSM_RP_OA",
17779 FT_NONE, BASE_NONE, NULL, 0,
17780 "Sm-RP-OA/noSM-RP-OA", HFILL }},
17781 { &hf_gsm_map_serviceCentreAddressDA,
17782 { "serviceCentreAddressDA", "gsm_map.serviceCentreAddressDA",
17783 FT_BYTES, BASE_HEX, NULL, 0,
17784 "Sm-RP-DA/serviceCentreAddressDA", HFILL }},
17785 { &hf_gsm_map_noSM_RP_DA,
17786 { "noSM-RP-DA", "gsm_map.noSM_RP_DA",
17787 FT_NONE, BASE_NONE, NULL, 0,
17788 "Sm-RP-DA/noSM-RP-DA", HFILL }},
17789 { &hf_gsm_map_moreMessagesToSend,
17790 { "moreMessagesToSend", "gsm_map.moreMessagesToSend",
17791 FT_NONE, BASE_NONE, NULL, 0,
17792 "Mt-forwardSM-Arg/moreMessagesToSend", HFILL }},
17793 { &hf_gsm_map_sm_DeliveryOutcome,
17794 { "sm-DeliveryOutcome", "gsm_map.sm_DeliveryOutcome",
17795 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
17796 "ReportSM-DeliveryStatusArg/sm-DeliveryOutcome", HFILL }},
17797 { &hf_gsm_map_absentSubscriberDiagnosticSM,
17798 { "absentSubscriberDiagnosticSM", "gsm_map.absentSubscriberDiagnosticSM",
17799 FT_UINT32, BASE_DEC, NULL, 0,
17801 { &hf_gsm_map_deliveryOutcomeIndicator,
17802 { "deliveryOutcomeIndicator", "gsm_map.deliveryOutcomeIndicator",
17803 FT_NONE, BASE_NONE, NULL, 0,
17804 "ReportSM-DeliveryStatusArg/deliveryOutcomeIndicator", HFILL }},
17805 { &hf_gsm_map_additionalSM_DeliveryOutcome,
17806 { "additionalSM-DeliveryOutcome", "gsm_map.additionalSM_DeliveryOutcome",
17807 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
17808 "ReportSM-DeliveryStatusArg/additionalSM-DeliveryOutcome", HFILL }},
17809 { &hf_gsm_map_additionalAbsentSubscriberDiagnosticSM,
17810 { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.additionalAbsentSubscriberDiagnosticSM",
17811 FT_UINT32, BASE_DEC, NULL, 0,
17813 { &hf_gsm_map_storedMSISDN,
17814 { "storedMSISDN", "gsm_map.storedMSISDN",
17815 FT_BYTES, BASE_HEX, NULL, 0,
17817 { &hf_gsm_map_mw_Status,
17818 { "mw-Status", "gsm_map.mw_Status",
17819 FT_BYTES, BASE_HEX, NULL, 0,
17820 "InformServiceCentreArg/mw-Status", HFILL }},
17821 { &hf_gsm_map_alertReason,
17822 { "alertReason", "gsm_map.alertReason",
17823 FT_UINT32, BASE_DEC, VALS(gsm_map_T_alertReason_vals), 0,
17824 "ReadyForSM-Arg/alertReason", HFILL }},
17825 { &hf_gsm_map_alertReasonIndicator,
17826 { "alertReasonIndicator", "gsm_map.alertReasonIndicator",
17827 FT_NONE, BASE_NONE, NULL, 0,
17828 "ReadyForSM-Arg/alertReasonIndicator", HFILL }},
17829 { &hf_gsm_map_requestedInfo,
17830 { "requestedInfo", "gsm_map.requestedInfo",
17831 FT_NONE, BASE_NONE, NULL, 0,
17833 { &hf_gsm_map_locationInformation,
17834 { "locationInformation", "gsm_map.locationInformation",
17835 FT_NONE, BASE_NONE, NULL, 0,
17837 { &hf_gsm_map_subscriberState,
17838 { "subscriberState", "gsm_map.subscriberState",
17839 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberState_vals), 0,
17840 "SubscriberInfo/subscriberState", HFILL }},
17841 { &hf_gsm_map_locationInformationGPRS,
17842 { "locationInformationGPRS", "gsm_map.locationInformationGPRS",
17843 FT_NONE, BASE_NONE, NULL, 0,
17845 { &hf_gsm_map_ps_SubscriberState,
17846 { "ps-SubscriberState", "gsm_map.ps_SubscriberState",
17847 FT_UINT32, BASE_DEC, VALS(gsm_map_PS_SubscriberState_vals), 0,
17848 "SubscriberInfo/ps-SubscriberState", HFILL }},
17849 { &hf_gsm_map_ms_Classmark2,
17850 { "ms-Classmark2", "gsm_map.ms_Classmark2",
17851 FT_BYTES, BASE_HEX, NULL, 0,
17852 "SubscriberInfo/ms-Classmark2", HFILL }},
17853 { &hf_gsm_map_gprs_MS_Class,
17854 { "gprs-MS-Class", "gsm_map.gprs_MS_Class",
17855 FT_NONE, BASE_NONE, NULL, 0,
17856 "SubscriberInfo/gprs-MS-Class", HFILL }},
17857 { &hf_gsm_map_mnpInfoRes,
17858 { "mnpInfoRes", "gsm_map.mnpInfoRes",
17859 FT_NONE, BASE_NONE, NULL, 0,
17860 "SubscriberInfo/mnpInfoRes", HFILL }},
17861 { &hf_gsm_map_routeingNumber,
17862 { "routeingNumber", "gsm_map.routeingNumber",
17863 FT_BYTES, BASE_HEX, NULL, 0,
17864 "MNPInfoRes/routeingNumber", HFILL }},
17865 { &hf_gsm_map_mSNetworkCapability,
17866 { "mSNetworkCapability", "gsm_map.mSNetworkCapability",
17867 FT_BYTES, BASE_HEX, NULL, 0,
17868 "GPRSMSClass/mSNetworkCapability", HFILL }},
17869 { &hf_gsm_map_mSRadioAccessCapability,
17870 { "mSRadioAccessCapability", "gsm_map.mSRadioAccessCapability",
17871 FT_BYTES, BASE_HEX, NULL, 0,
17872 "GPRSMSClass/mSRadioAccessCapability", HFILL }},
17873 { &hf_gsm_map_locationInformation_flg,
17874 { "locationInformation", "gsm_map.locationInformation",
17875 FT_NONE, BASE_NONE, NULL, 0,
17876 "RequestedInfo/locationInformation", HFILL }},
17877 { &hf_gsm_map_subscriberState_flg,
17878 { "subscriberState", "gsm_map.subscriberState",
17879 FT_NONE, BASE_NONE, NULL, 0,
17880 "RequestedInfo/subscriberState", HFILL }},
17881 { &hf_gsm_map_currentLocation,
17882 { "currentLocation", "gsm_map.currentLocation",
17883 FT_NONE, BASE_NONE, NULL, 0,
17884 "RequestedInfo/currentLocation", HFILL }},
17885 { &hf_gsm_map_requestedDomain,
17886 { "requestedDomain", "gsm_map.requestedDomain",
17887 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedDomain_vals), 0,
17888 "RequestedInfo/requestedDomain", HFILL }},
17889 { &hf_gsm_map_imei_flg,
17890 { "imei", "gsm_map.imei",
17891 FT_NONE, BASE_NONE, NULL, 0,
17892 "RequestedInfo/imei", HFILL }},
17893 { &hf_gsm_map_ms_classmark,
17894 { "ms-classmark", "gsm_map.ms_classmark",
17895 FT_NONE, BASE_NONE, NULL, 0,
17896 "RequestedInfo/ms-classmark", HFILL }},
17897 { &hf_gsm_map_mnpRequestedInfo,
17898 { "mnpRequestedInfo", "gsm_map.mnpRequestedInfo",
17899 FT_NONE, BASE_NONE, NULL, 0,
17900 "RequestedInfo/mnpRequestedInfo", HFILL }},
17901 { &hf_gsm_map_subscriberIdentity,
17902 { "subscriberIdentity", "gsm_map.subscriberIdentity",
17903 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
17905 { &hf_gsm_map_requestedSubscriptionInfo,
17906 { "requestedSubscriptionInfo", "gsm_map.requestedSubscriptionInfo",
17907 FT_NONE, BASE_NONE, NULL, 0,
17908 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo", HFILL }},
17909 { &hf_gsm_map_callForwardingData,
17910 { "callForwardingData", "gsm_map.callForwardingData",
17911 FT_NONE, BASE_NONE, NULL, 0,
17912 "AnyTimeSubscriptionInterrogationRes/callForwardingData", HFILL }},
17913 { &hf_gsm_map_callBarringData,
17914 { "callBarringData", "gsm_map.callBarringData",
17915 FT_NONE, BASE_NONE, NULL, 0,
17916 "AnyTimeSubscriptionInterrogationRes/callBarringData", HFILL }},
17917 { &hf_gsm_map_odb_Info,
17918 { "odb-Info", "gsm_map.odb_Info",
17919 FT_NONE, BASE_NONE, NULL, 0,
17921 { &hf_gsm_map_camel_SubscriptionInfo,
17922 { "camel-SubscriptionInfo", "gsm_map.camel_SubscriptionInfo",
17923 FT_NONE, BASE_NONE, NULL, 0,
17925 { &hf_gsm_map_supportedVLR_CAMEL_Phases,
17926 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
17927 FT_BYTES, BASE_HEX, NULL, 0,
17928 "AnyTimeSubscriptionInterrogationRes/supportedVLR-CAMEL-Phases", HFILL }},
17929 { &hf_gsm_map_supportedSGSN_CAMEL_Phases,
17930 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
17931 FT_BYTES, BASE_HEX, NULL, 0,
17932 "AnyTimeSubscriptionInterrogationRes/supportedSGSN-CAMEL-Phases", HFILL }},
17933 { &hf_gsm_map_offeredCamel4CSIsInVLR,
17934 { "offeredCamel4CSIsInVLR", "gsm_map.offeredCamel4CSIsInVLR",
17935 FT_BYTES, BASE_HEX, NULL, 0,
17936 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInVLR", HFILL }},
17937 { &hf_gsm_map_offeredCamel4CSIsInSGSN,
17938 { "offeredCamel4CSIsInSGSN", "gsm_map.offeredCamel4CSIsInSGSN",
17939 FT_BYTES, BASE_HEX, NULL, 0,
17940 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInSGSN", HFILL }},
17941 { &hf_gsm_map_requestedSS_Info,
17942 { "requestedSS-Info", "gsm_map.requestedSS_Info",
17943 FT_NONE, BASE_NONE, NULL, 0,
17944 "RequestedSubscriptionInfo/requestedSS-Info", HFILL }},
17946 { "odb", "gsm_map.odb",
17947 FT_NONE, BASE_NONE, NULL, 0,
17948 "RequestedSubscriptionInfo/odb", HFILL }},
17949 { &hf_gsm_map_requestedCAMEL_SubscriptionInfo,
17950 { "requestedCAMEL-SubscriptionInfo", "gsm_map.requestedCAMEL_SubscriptionInfo",
17951 FT_UINT32, BASE_DEC, VALS(gsm_map_RequestedCAMEL_SubscriptionInfo_vals), 0,
17952 "RequestedSubscriptionInfo/requestedCAMEL-SubscriptionInfo", HFILL }},
17953 { &hf_gsm_map_supportedVLR_CAMEL_Phases_flg,
17954 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
17955 FT_NONE, BASE_NONE, NULL, 0,
17956 "RequestedSubscriptionInfo/supportedVLR-CAMEL-Phases", HFILL }},
17957 { &hf_gsm_map_supportedSGSN_CAMEL_Phases_flg,
17958 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
17959 FT_NONE, BASE_NONE, NULL, 0,
17960 "RequestedSubscriptionInfo/supportedSGSN-CAMEL-Phases", HFILL }},
17961 { &hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo,
17962 { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.additionalRequestedCAMEL_SubscriptionInfo",
17963 FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0,
17965 { &hf_gsm_map_password,
17966 { "password", "gsm_map.password",
17967 FT_STRING, BASE_NONE, NULL, 0,
17969 { &hf_gsm_map_wrongPasswordAttemptsCounter,
17970 { "wrongPasswordAttemptsCounter", "gsm_map.wrongPasswordAttemptsCounter",
17971 FT_UINT32, BASE_DEC, NULL, 0,
17973 { &hf_gsm_map_bearerService,
17974 { "bearerService", "gsm_map.bearerService",
17975 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
17976 "BasicServiceCode/bearerService", HFILL }},
17977 { &hf_gsm_map_teleservice_code,
17978 { "teleservice", "gsm_map.teleservice",
17979 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
17980 "BasicServiceCode/teleservice", HFILL }},
17981 { &hf_gsm_map_O_BcsmCamelTDPCriteriaList_item,
17982 { "Item", "gsm_map.O_BcsmCamelTDPCriteriaList_item",
17983 FT_NONE, BASE_NONE, NULL, 0,
17984 "O-BcsmCamelTDPCriteriaList/_item", HFILL }},
17985 { &hf_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList_item,
17986 { "Item", "gsm_map.T_BCSM_CAMEL_TDP_CriteriaList_item",
17987 FT_NONE, BASE_NONE, NULL, 0,
17988 "T-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
17989 { &hf_gsm_map_destinationNumberCriteria,
17990 { "destinationNumberCriteria", "gsm_map.destinationNumberCriteria",
17991 FT_NONE, BASE_NONE, NULL, 0,
17992 "O-BcsmCamelTDP-Criteria/destinationNumberCriteria", HFILL }},
17993 { &hf_gsm_map_basicServiceCriteria,
17994 { "basicServiceCriteria", "gsm_map.basicServiceCriteria",
17995 FT_UINT32, BASE_DEC, NULL, 0,
17997 { &hf_gsm_map_callTypeCriteria,
17998 { "callTypeCriteria", "gsm_map.callTypeCriteria",
17999 FT_UINT32, BASE_DEC, VALS(gsm_map_CallTypeCriteria_vals), 0,
18000 "O-BcsmCamelTDP-Criteria/callTypeCriteria", HFILL }},
18001 { &hf_gsm_map_o_CauseValueCriteria,
18002 { "o-CauseValueCriteria", "gsm_map.o_CauseValueCriteria",
18003 FT_UINT32, BASE_DEC, NULL, 0,
18004 "O-BcsmCamelTDP-Criteria/o-CauseValueCriteria", HFILL }},
18005 { &hf_gsm_map_t_BCSM_TriggerDetectionPoint,
18006 { "t-BCSM-TriggerDetectionPoint", "gsm_map.t_BCSM_TriggerDetectionPoint",
18007 FT_UINT32, BASE_DEC, VALS(gsm_map_T_BcsmTriggerDetectionPoint_vals), 0,
18008 "T-BCSM-CAMEL-TDP-Criteria/t-BCSM-TriggerDetectionPoint", HFILL }},
18009 { &hf_gsm_map_t_CauseValueCriteria,
18010 { "t-CauseValueCriteria", "gsm_map.t_CauseValueCriteria",
18011 FT_UINT32, BASE_DEC, NULL, 0,
18012 "T-BCSM-CAMEL-TDP-Criteria/t-CauseValueCriteria", HFILL }},
18013 { &hf_gsm_map_maximumEntitledPriority,
18014 { "maximumEntitledPriority", "gsm_map.maximumEntitledPriority",
18015 FT_UINT32, BASE_DEC, NULL, 0,
18016 "GenericServiceInfo/maximumEntitledPriority", HFILL }},
18017 { &hf_gsm_map_ccbs_FeatureList,
18018 { "ccbs-FeatureList", "gsm_map.ccbs_FeatureList",
18019 FT_UINT32, BASE_DEC, NULL, 0,
18020 "GenericServiceInfo/ccbs-FeatureList", HFILL }},
18021 { &hf_gsm_map_nbrSN,
18022 { "nbrSN", "gsm_map.nbrSN",
18023 FT_UINT32, BASE_DEC, NULL, 0,
18024 "GenericServiceInfo/nbrSN", HFILL }},
18025 { &hf_gsm_map_CCBS_FeatureList_item,
18026 { "Item", "gsm_map.CCBS_FeatureList_item",
18027 FT_NONE, BASE_NONE, NULL, 0,
18028 "CCBS-FeatureList/_item", HFILL }},
18029 { &hf_gsm_map_b_subscriberNumber,
18030 { "b-subscriberNumber", "gsm_map.b_subscriberNumber",
18031 FT_BYTES, BASE_HEX, NULL, 0,
18032 "CCBS-Feature/b-subscriberNumber", HFILL }},
18033 { &hf_gsm_map_b_subscriberSubaddress,
18034 { "b-subscriberSubaddress", "gsm_map.b_subscriberSubaddress",
18035 FT_BYTES, BASE_HEX, NULL, 0,
18036 "CCBS-Feature/b-subscriberSubaddress", HFILL }},
18037 { &hf_gsm_map_basicServiceGroup,
18038 { "basicServiceGroup", "gsm_map.basicServiceGroup",
18039 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
18040 "CCBS-Feature/basicServiceGroup", HFILL }},
18041 { &hf_gsm_map_T_CauseValueCriteria_item,
18042 { "Item", "gsm_map.T_CauseValueCriteria_item",
18043 FT_BYTES, BASE_HEX, NULL, 0,
18044 "T-CauseValueCriteria/_item", HFILL }},
18045 { &hf_gsm_map_O_CauseValueCriteria_item,
18046 { "Item", "gsm_map.O_CauseValueCriteria_item",
18047 FT_BYTES, BASE_HEX, NULL, 0,
18048 "O-CauseValueCriteria/_item", HFILL }},
18049 { &hf_gsm_map_BasicServiceCriteria_item,
18050 { "Item", "gsm_map.BasicServiceCriteria_item",
18051 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
18052 "BasicServiceCriteria/_item", HFILL }},
18053 { &hf_gsm_map_modificationRequestFor_CF_Info,
18054 { "modificationRequestFor-CF-Info", "gsm_map.modificationRequestFor_CF_Info",
18055 FT_NONE, BASE_NONE, NULL, 0,
18056 "AnyTimeModificationArg/modificationRequestFor-CF-Info", HFILL }},
18057 { &hf_gsm_map_modificationRequestFor_CB_Info,
18058 { "modificationRequestFor-CB-Info", "gsm_map.modificationRequestFor_CB_Info",
18059 FT_NONE, BASE_NONE, NULL, 0,
18060 "AnyTimeModificationArg/modificationRequestFor-CB-Info", HFILL }},
18061 { &hf_gsm_map_modificationRequestFor_CSI,
18062 { "modificationRequestFor-CSI", "gsm_map.modificationRequestFor_CSI",
18063 FT_NONE, BASE_NONE, NULL, 0,
18064 "AnyTimeModificationArg/modificationRequestFor-CSI", HFILL }},
18065 { &hf_gsm_map_modificationRequestFor_ODB_data,
18066 { "modificationRequestFor-ODB-data", "gsm_map.modificationRequestFor_ODB_data",
18067 FT_NONE, BASE_NONE, NULL, 0,
18068 "AnyTimeModificationArg/modificationRequestFor-ODB-data", HFILL }},
18069 { &hf_gsm_map_ss_InfoFor_CSE,
18070 { "ss-InfoFor-CSE", "gsm_map.ss_InfoFor_CSE",
18071 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_SS_InfoFor_CSE_vals), 0,
18072 "AnyTimeModificationRes/ss-InfoFor-CSE", HFILL }},
18073 { &hf_gsm_map_modifyNotificationToCSE,
18074 { "modifyNotificationToCSE", "gsm_map.modifyNotificationToCSE",
18075 FT_UINT32, BASE_DEC, VALS(gsm_map_ModificationInstruction_vals), 0,
18077 { &hf_gsm_map_odb_data,
18078 { "odb-data", "gsm_map.odb_data",
18079 FT_NONE, BASE_NONE, NULL, 0,
18080 "ModificationRequestFor-ODB-data/odb-data", HFILL }},
18081 { &hf_gsm_map_requestedCamel_SubscriptionInfo,
18082 { "requestedCamel-SubscriptionInfo", "gsm_map.requestedCamel_SubscriptionInfo",
18083 FT_UINT32, BASE_DEC, VALS(gsm_map_RequestedCAMEL_SubscriptionInfo_vals), 0,
18084 "ModificationRequestFor-CSI/requestedCamel-SubscriptionInfo", HFILL }},
18085 { &hf_gsm_map_modifyCSI_State,
18086 { "modifyCSI-State", "gsm_map.modifyCSI_State",
18087 FT_UINT32, BASE_DEC, VALS(gsm_map_ModificationInstruction_vals), 0,
18088 "ModificationRequestFor-CSI/modifyCSI-State", HFILL }},
18089 { &hf_gsm_map_forwardingInfoFor_CSE,
18090 { "forwardingInfoFor-CSE", "gsm_map.forwardingInfoFor_CSE",
18091 FT_NONE, BASE_NONE, NULL, 0,
18093 { &hf_gsm_map_callBarringInfoFor_CSE,
18094 { "callBarringInfoFor-CSE", "gsm_map.callBarringInfoFor_CSE",
18095 FT_NONE, BASE_NONE, NULL, 0,
18097 { &hf_gsm_map_eventMet,
18098 { "eventMet", "gsm_map.eventMet",
18099 FT_BYTES, BASE_HEX, NULL, 0,
18100 "NoteMM-EventArg/eventMet", HFILL }},
18101 { &hf_gsm_map_supportedCAMELPhases,
18102 { "supportedCAMELPhases", "gsm_map.supportedCAMELPhases",
18103 FT_BYTES, BASE_HEX, NULL, 0,
18104 "NoteMM-EventArg/supportedCAMELPhases", HFILL }},
18105 { &hf_gsm_map_offeredCamel4Functionalities,
18106 { "offeredCamel4Functionalities", "gsm_map.offeredCamel4Functionalities",
18107 FT_BYTES, BASE_HEX, NULL, 0,
18108 "NoteMM-EventArg/offeredCamel4Functionalities", HFILL }},
18109 { &hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList,
18110 { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_BCSM_CAMEL_TDP_CriteriaList",
18111 FT_UINT32, BASE_DEC, NULL, 0,
18112 "CAMEL-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
18113 { &hf_gsm_map_tif_CSI_NotificationToCSE,
18114 { "tif-CSI-NotificationToCSE", "gsm_map.tif_CSI_NotificationToCSE",
18115 FT_NONE, BASE_NONE, NULL, 0,
18116 "CAMEL-SubscriptionInfo/tif-CSI-NotificationToCSE", HFILL }},
18117 { &hf_gsm_map_specificCSIDeletedList,
18118 { "specificCSIDeletedList", "gsm_map.specificCSIDeletedList",
18119 FT_BYTES, BASE_HEX, NULL, 0,
18120 "CAMEL-SubscriptionInfo/specificCSIDeletedList", HFILL }},
18121 { &hf_gsm_map_o_IM_CSI,
18122 { "o-IM-CSI", "gsm_map.o_IM_CSI",
18123 FT_NONE, BASE_NONE, NULL, 0,
18124 "CAMEL-SubscriptionInfo/o-IM-CSI", HFILL }},
18125 { &hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList,
18126 { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.o_IM_BcsmCamelTDP_CriteriaList",
18127 FT_UINT32, BASE_DEC, NULL, 0,
18128 "CAMEL-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList", HFILL }},
18129 { &hf_gsm_map_d_IM_CSI,
18130 { "d-IM-CSI", "gsm_map.d_IM_CSI",
18131 FT_NONE, BASE_NONE, NULL, 0,
18132 "CAMEL-SubscriptionInfo/d-IM-CSI", HFILL }},
18133 { &hf_gsm_map_vt_IM_CSI,
18134 { "vt-IM-CSI", "gsm_map.vt_IM_CSI",
18135 FT_NONE, BASE_NONE, NULL, 0,
18136 "CAMEL-SubscriptionInfo/vt-IM-CSI", HFILL }},
18137 { &hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
18138 { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_IM_BCSM_CAMEL_TDP_CriteriaList",
18139 FT_UINT32, BASE_DEC, NULL, 0,
18140 "CAMEL-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
18141 { &hf_gsm_map_ext_BearerService,
18142 { "ext-BearerService", "gsm_map.ext_BearerService",
18143 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
18144 "Ext-BasicServiceCode/ext-BearerService", HFILL }},
18145 { &hf_gsm_map_ext_Teleservice,
18146 { "ext-Teleservice", "gsm_map.ext_Teleservice",
18147 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
18148 "Ext-BasicServiceCode/ext-Teleservice", HFILL }},
18149 { &hf_gsm_map_odb_HPLMN_Data,
18150 { "odb-HPLMN-Data", "gsm_map.odb_HPLMN_Data",
18151 FT_BYTES, BASE_HEX, NULL, 0,
18152 "ODB-Data/odb-HPLMN-Data", HFILL }},
18153 { &hf_gsm_map_SS_EventList_item,
18154 { "Item", "gsm_map.SS_EventList_item",
18155 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
18156 "SS-EventList/_item", HFILL }},
18157 { &hf_gsm_map_t_BcsmCamelTDPDataList,
18158 { "t-BcsmCamelTDPDataList", "gsm_map.t_BcsmCamelTDPDataList",
18159 FT_UINT32, BASE_DEC, NULL, 0,
18160 "T-CSI/t-BcsmCamelTDPDataList", HFILL }},
18161 { &hf_gsm_map_T_BcsmCamelTDPDataList_item,
18162 { "Item", "gsm_map.T_BcsmCamelTDPDataList_item",
18163 FT_NONE, BASE_NONE, NULL, 0,
18164 "T-BcsmCamelTDPDataList/_item", HFILL }},
18165 { &hf_gsm_map_t_BcsmTriggerDetectionPoint,
18166 { "t-BcsmTriggerDetectionPoint", "gsm_map.t_BcsmTriggerDetectionPoint",
18167 FT_UINT32, BASE_DEC, VALS(gsm_map_T_BcsmTriggerDetectionPoint_vals), 0,
18168 "T-BcsmCamelTDPData/t-BcsmTriggerDetectionPoint", HFILL }},
18169 { &hf_gsm_map_sms_CAMEL_TDP_DataList,
18170 { "sms-CAMEL-TDP-DataList", "gsm_map.sms_CAMEL_TDP_DataList",
18171 FT_UINT32, BASE_DEC, NULL, 0,
18172 "SMS-CSI/sms-CAMEL-TDP-DataList", HFILL }},
18173 { &hf_gsm_map_SMS_CAMEL_TDP_DataList_item,
18174 { "Item", "gsm_map.SMS_CAMEL_TDP_DataList_item",
18175 FT_NONE, BASE_NONE, NULL, 0,
18176 "SMS-CAMEL-TDP-DataList/_item", HFILL }},
18177 { &hf_gsm_map_defaultSMS_Handling,
18178 { "defaultSMS-Handling", "gsm_map.defaultSMS_Handling",
18179 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultSMS_Handling_vals), 0,
18180 "SMS-CAMEL-TDP-Data/defaultSMS-Handling", HFILL }},
18181 { &hf_gsm_map_MobilityTriggers_item,
18182 { "Item", "gsm_map.MobilityTriggers_item",
18183 FT_BYTES, BASE_HEX, NULL, 0,
18184 "MobilityTriggers/_item", HFILL }},
18185 { &hf_gsm_map_ss_Event,
18186 { "ss-Event", "gsm_map.ss_Event",
18187 FT_BYTES, BASE_HEX, NULL, 0,
18188 "Ss-InvocationNotificationArg/ss-Event", HFILL }},
18189 { &hf_gsm_map_ss_EventSpecification,
18190 { "ss-EventSpecification", "gsm_map.ss_EventSpecification",
18191 FT_UINT32, BASE_DEC, NULL, 0,
18192 "Ss-InvocationNotificationArg/ss-EventSpecification", HFILL }},
18193 { &hf_gsm_map_ss_EventSpecification_item,
18194 { "Item", "gsm_map.ss_EventSpecification_item",
18195 FT_BYTES, BASE_HEX, NULL, 0,
18196 "Ss-InvocationNotificationArg/ss-EventSpecification/_item", HFILL }},
18197 { &hf_gsm_map_ext_teleservice,
18198 { "teleservice", "gsm_map.teleservice",
18199 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
18200 "PrepareGroupCallArg/teleservice", HFILL }},
18201 { &hf_gsm_map_codec_Info,
18202 { "codec-Info", "gsm_map.codec_Info",
18203 FT_BYTES, BASE_HEX, NULL, 0,
18204 "PrepareGroupCallArg/codec-Info", HFILL }},
18205 { &hf_gsm_map_cipheringAlgorithm,
18206 { "cipheringAlgorithm", "gsm_map.cipheringAlgorithm",
18207 FT_BYTES, BASE_HEX, NULL, 0,
18208 "PrepareGroupCallArg/cipheringAlgorithm", HFILL }},
18209 { &hf_gsm_map_groupKeyNumber_Vk_Id,
18210 { "groupKeyNumber-Vk-Id", "gsm_map.groupKeyNumber_Vk_Id",
18211 FT_UINT32, BASE_DEC, NULL, 0,
18212 "PrepareGroupCallArg/groupKeyNumber-Vk-Id", HFILL }},
18213 { &hf_gsm_map_groupKey,
18214 { "groupKey", "gsm_map.groupKey",
18215 FT_BYTES, BASE_HEX, NULL, 0,
18216 "PrepareGroupCallArg/groupKey", HFILL }},
18217 { &hf_gsm_map_priority,
18218 { "priority", "gsm_map.priority",
18219 FT_UINT32, BASE_DEC, NULL, 0,
18220 "PrepareGroupCallArg/priority", HFILL }},
18221 { &hf_gsm_map_uplinkFree,
18222 { "uplinkFree", "gsm_map.uplinkFree",
18223 FT_NONE, BASE_NONE, NULL, 0,
18224 "PrepareGroupCallArg/uplinkFree", HFILL }},
18225 { &hf_gsm_map_vstk,
18226 { "vstk", "gsm_map.vstk",
18227 FT_BYTES, BASE_HEX, NULL, 0,
18228 "PrepareGroupCallArg/vstk", HFILL }},
18229 { &hf_gsm_map_vstk_rand,
18230 { "vstk-rand", "gsm_map.vstk_rand",
18231 FT_BYTES, BASE_HEX, NULL, 0,
18232 "PrepareGroupCallArg/vstk-rand", HFILL }},
18233 { &hf_gsm_map_groupCallNumber,
18234 { "groupCallNumber", "gsm_map.groupCallNumber",
18235 FT_BYTES, BASE_HEX, NULL, 0,
18236 "PrepareGroupCallRes/groupCallNumber", HFILL }},
18237 { &hf_gsm_map_uplinkRequest,
18238 { "uplinkRequest", "gsm_map.uplinkRequest",
18239 FT_NONE, BASE_NONE, NULL, 0,
18240 "ProcessGroupCallSignallingArg/uplinkRequest", HFILL }},
18241 { &hf_gsm_map_uplinkReleaseIndication,
18242 { "uplinkReleaseIndication", "gsm_map.uplinkReleaseIndication",
18243 FT_NONE, BASE_NONE, NULL, 0,
18245 { &hf_gsm_map_releaseGroupCall,
18246 { "releaseGroupCall", "gsm_map.releaseGroupCall",
18247 FT_NONE, BASE_NONE, NULL, 0,
18248 "ProcessGroupCallSignallingArg/releaseGroupCall", HFILL }},
18249 { &hf_gsm_map_uplinkRequestAck,
18250 { "uplinkRequestAck", "gsm_map.uplinkRequestAck",
18251 FT_NONE, BASE_NONE, NULL, 0,
18252 "ForwardGroupCallSignallingArg/uplinkRequestAck", HFILL }},
18253 { &hf_gsm_map_uplinkRejectCommand,
18254 { "uplinkRejectCommand", "gsm_map.uplinkRejectCommand",
18255 FT_NONE, BASE_NONE, NULL, 0,
18256 "ForwardGroupCallSignallingArg/uplinkRejectCommand", HFILL }},
18257 { &hf_gsm_map_uplinkSeizedCommand,
18258 { "uplinkSeizedCommand", "gsm_map.uplinkSeizedCommand",
18259 FT_NONE, BASE_NONE, NULL, 0,
18260 "ForwardGroupCallSignallingArg/uplinkSeizedCommand", HFILL }},
18261 { &hf_gsm_map_uplinkReleaseCommand,
18262 { "uplinkReleaseCommand", "gsm_map.uplinkReleaseCommand",
18263 FT_NONE, BASE_NONE, NULL, 0,
18264 "ForwardGroupCallSignallingArg/uplinkReleaseCommand", HFILL }},
18265 { &hf_gsm_map_sgsn_Address,
18266 { "sgsn-Address", "gsm_map.sgsn_Address",
18267 FT_BYTES, BASE_HEX, NULL, 0,
18269 { &hf_gsm_map_sgsn_Capability,
18270 { "sgsn-Capability", "gsm_map.sgsn_Capability",
18271 FT_NONE, BASE_NONE, NULL, 0,
18272 "UpdateGprsLocationArg/sgsn-Capability", HFILL }},
18273 { &hf_gsm_map_ps_LCS_NotSupportedByUE,
18274 { "ps-LCS-NotSupportedByUE", "gsm_map.ps_LCS_NotSupportedByUE",
18275 FT_NONE, BASE_NONE, NULL, 0,
18276 "UpdateGprsLocationArg/ps-LCS-NotSupportedByUE", HFILL }},
18277 { &hf_gsm_map_gprsEnhancementsSupportIndicator,
18278 { "gprsEnhancementsSupportIndicator", "gsm_map.gprsEnhancementsSupportIndicator",
18279 FT_NONE, BASE_NONE, NULL, 0,
18280 "SGSN-Capability/gprsEnhancementsSupportIndicator", HFILL }},
18281 { &hf_gsm_map_smsCallBarringSupportIndicator,
18282 { "smsCallBarringSupportIndicator", "gsm_map.smsCallBarringSupportIndicator",
18283 FT_NONE, BASE_NONE, NULL, 0,
18284 "SGSN-Capability/smsCallBarringSupportIndicator", HFILL }},
18285 { &hf_gsm_map_ggsn_Number,
18286 { "ggsn-Number", "gsm_map.ggsn_Number",
18287 FT_BYTES, BASE_HEX, NULL, 0,
18289 { &hf_gsm_map_mobileNotReachableReason,
18290 { "mobileNotReachableReason", "gsm_map.mobileNotReachableReason",
18291 FT_UINT32, BASE_DEC, NULL, 0,
18292 "SendRoutingInfoForGprsRes/mobileNotReachableReason", HFILL }},
18293 { &hf_gsm_map_locationType,
18294 { "locationType", "gsm_map.locationType",
18295 FT_NONE, BASE_NONE, NULL, 0,
18296 "ProvideSubscriberLocation-Arg/locationType", HFILL }},
18297 { &hf_gsm_map_mlc_Number,
18298 { "mlc-Number", "gsm_map.mlc_Number",
18299 FT_BYTES, BASE_HEX, NULL, 0,
18300 "ProvideSubscriberLocation-Arg/mlc-Number", HFILL }},
18301 { &hf_gsm_map_lcs_ClientID,
18302 { "lcs-ClientID", "gsm_map.lcs_ClientID",
18303 FT_NONE, BASE_NONE, NULL, 0,
18305 { &hf_gsm_map_privacyOverride,
18306 { "privacyOverride", "gsm_map.privacyOverride",
18307 FT_NONE, BASE_NONE, NULL, 0,
18308 "ProvideSubscriberLocation-Arg/privacyOverride", HFILL }},
18309 { &hf_gsm_map_lcs_Priority,
18310 { "lcs-Priority", "gsm_map.lcs_Priority",
18311 FT_BYTES, BASE_HEX, NULL, 0,
18312 "ProvideSubscriberLocation-Arg/lcs-Priority", HFILL }},
18313 { &hf_gsm_map_lcs_QoS,
18314 { "lcs-QoS", "gsm_map.lcs_QoS",
18315 FT_NONE, BASE_NONE, NULL, 0,
18316 "ProvideSubscriberLocation-Arg/lcs-QoS", HFILL }},
18317 { &hf_gsm_map_supportedGADShapes,
18318 { "supportedGADShapes", "gsm_map.supportedGADShapes",
18319 FT_BYTES, BASE_HEX, NULL, 0,
18320 "ProvideSubscriberLocation-Arg/supportedGADShapes", HFILL }},
18321 { &hf_gsm_map_lcs_ReferenceNumber,
18322 { "lcs-ReferenceNumber", "gsm_map.lcs_ReferenceNumber",
18323 FT_BYTES, BASE_HEX, NULL, 0,
18325 { &hf_gsm_map_lcsServiceTypeID,
18326 { "lcsServiceTypeID", "gsm_map.lcsServiceTypeID",
18327 FT_UINT32, BASE_DEC, NULL, 0,
18329 { &hf_gsm_map_lcsCodeword,
18330 { "lcsCodeword", "gsm_map.lcsCodeword",
18331 FT_NONE, BASE_NONE, NULL, 0,
18332 "ProvideSubscriberLocation-Arg/lcsCodeword", HFILL }},
18333 { &hf_gsm_map_lcs_PrivacyCheck,
18334 { "lcs-PrivacyCheck", "gsm_map.lcs_PrivacyCheck",
18335 FT_NONE, BASE_NONE, NULL, 0,
18336 "ProvideSubscriberLocation-Arg/lcs-PrivacyCheck", HFILL }},
18337 { &hf_gsm_map_areaEventInfo,
18338 { "areaEventInfo", "gsm_map.areaEventInfo",
18339 FT_NONE, BASE_NONE, NULL, 0,
18340 "ProvideSubscriberLocation-Arg/areaEventInfo", HFILL }},
18341 { &hf_gsm_map_h_gmlc_Address,
18342 { "h-gmlc-Address", "gsm_map.h_gmlc_Address",
18343 FT_BYTES, BASE_HEX, NULL, 0,
18345 { &hf_gsm_map_locationEstimateType,
18346 { "locationEstimateType", "gsm_map.locationEstimateType",
18347 FT_UINT32, BASE_DEC, VALS(gsm_map_LocationEstimateType_vals), 0,
18348 "LocationType/locationEstimateType", HFILL }},
18349 { &hf_gsm_map_deferredLocationEventType,
18350 { "deferredLocationEventType", "gsm_map.deferredLocationEventType",
18351 FT_BYTES, BASE_HEX, NULL, 0,
18353 { &hf_gsm_map_lcsClientType,
18354 { "lcsClientType", "gsm_map.lcsClientType",
18355 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientType_vals), 0,
18356 "LCS-ClientID/lcsClientType", HFILL }},
18357 { &hf_gsm_map_lcsClientExternalID,
18358 { "lcsClientExternalID", "gsm_map.lcsClientExternalID",
18359 FT_NONE, BASE_NONE, NULL, 0,
18360 "LCS-ClientID/lcsClientExternalID", HFILL }},
18361 { &hf_gsm_map_lcsClientDialedByMS,
18362 { "lcsClientDialedByMS", "gsm_map.lcsClientDialedByMS",
18363 FT_BYTES, BASE_HEX, NULL, 0,
18364 "LCS-ClientID/lcsClientDialedByMS", HFILL }},
18365 { &hf_gsm_map_lcsClientInternalID,
18366 { "lcsClientInternalID", "gsm_map.lcsClientInternalID",
18367 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
18368 "LCS-ClientID/lcsClientInternalID", HFILL }},
18369 { &hf_gsm_map_lcsClientName,
18370 { "lcsClientName", "gsm_map.lcsClientName",
18371 FT_NONE, BASE_NONE, NULL, 0,
18372 "LCS-ClientID/lcsClientName", HFILL }},
18373 { &hf_gsm_map_lcsAPN,
18374 { "lcsAPN", "gsm_map.lcsAPN",
18375 FT_BYTES, BASE_HEX, NULL, 0,
18376 "LCS-ClientID/lcsAPN", HFILL }},
18377 { &hf_gsm_map_lcsRequestorID,
18378 { "lcsRequestorID", "gsm_map.lcsRequestorID",
18379 FT_NONE, BASE_NONE, NULL, 0,
18380 "LCS-ClientID/lcsRequestorID", HFILL }},
18381 { &hf_gsm_map_dataCodingScheme,
18382 { "dataCodingScheme", "gsm_map.dataCodingScheme",
18383 FT_BYTES, BASE_HEX, NULL, 0,
18385 { &hf_gsm_map_nameString,
18386 { "nameString", "gsm_map.nameString",
18387 FT_BYTES, BASE_HEX, NULL, 0,
18388 "LCSClientName/nameString", HFILL }},
18389 { &hf_gsm_map_lcs_FormatIndicator,
18390 { "lcs-FormatIndicator", "gsm_map.lcs_FormatIndicator",
18391 FT_UINT32, BASE_DEC, VALS(gsm_map_LCS_FormatIndicator_vals), 0,
18393 { &hf_gsm_map_requestorIDString,
18394 { "requestorIDString", "gsm_map.requestorIDString",
18395 FT_BYTES, BASE_HEX, NULL, 0,
18396 "LCSRequestorID/requestorIDString", HFILL }},
18397 { &hf_gsm_map_horizontal_accuracy,
18398 { "horizontal-accuracy", "gsm_map.horizontal_accuracy",
18399 FT_BYTES, BASE_HEX, NULL, 0,
18400 "LCS-QoS/horizontal-accuracy", HFILL }},
18401 { &hf_gsm_map_verticalCoordinateRequest,
18402 { "verticalCoordinateRequest", "gsm_map.verticalCoordinateRequest",
18403 FT_NONE, BASE_NONE, NULL, 0,
18404 "LCS-QoS/verticalCoordinateRequest", HFILL }},
18405 { &hf_gsm_map_vertical_accuracy,
18406 { "vertical-accuracy", "gsm_map.vertical_accuracy",
18407 FT_BYTES, BASE_HEX, NULL, 0,
18408 "LCS-QoS/vertical-accuracy", HFILL }},
18409 { &hf_gsm_map_responseTime,
18410 { "responseTime", "gsm_map.responseTime",
18411 FT_NONE, BASE_NONE, NULL, 0,
18412 "LCS-QoS/responseTime", HFILL }},
18413 { &hf_gsm_map_responseTimeCategory,
18414 { "responseTimeCategory", "gsm_map.responseTimeCategory",
18415 FT_UINT32, BASE_DEC, VALS(gsm_map_ResponseTimeCategory_vals), 0,
18416 "ResponseTime/responseTimeCategory", HFILL }},
18417 { &hf_gsm_map_lcsCodewordString,
18418 { "lcsCodewordString", "gsm_map.lcsCodewordString",
18419 FT_BYTES, BASE_HEX, NULL, 0,
18420 "LCSCodeword/lcsCodewordString", HFILL }},
18421 { &hf_gsm_map_callSessionUnrelated,
18422 { "callSessionUnrelated", "gsm_map.callSessionUnrelated",
18423 FT_UINT32, BASE_DEC, VALS(gsm_map_PrivacyCheckRelatedAction_vals), 0,
18424 "LCS-PrivacyCheck/callSessionUnrelated", HFILL }},
18425 { &hf_gsm_map_callSessionRelated,
18426 { "callSessionRelated", "gsm_map.callSessionRelated",
18427 FT_UINT32, BASE_DEC, VALS(gsm_map_PrivacyCheckRelatedAction_vals), 0,
18428 "LCS-PrivacyCheck/callSessionRelated", HFILL }},
18429 { &hf_gsm_map_areaDefinition,
18430 { "areaDefinition", "gsm_map.areaDefinition",
18431 FT_NONE, BASE_NONE, NULL, 0,
18432 "AreaEventInfo/areaDefinition", HFILL }},
18433 { &hf_gsm_map_occurrenceInfo,
18434 { "occurrenceInfo", "gsm_map.occurrenceInfo",
18435 FT_UINT32, BASE_DEC, VALS(gsm_map_OccurrenceInfo_vals), 0,
18436 "AreaEventInfo/occurrenceInfo", HFILL }},
18437 { &hf_gsm_map_intervalTime,
18438 { "intervalTime", "gsm_map.intervalTime",
18439 FT_UINT32, BASE_DEC, NULL, 0,
18440 "AreaEventInfo/intervalTime", HFILL }},
18441 { &hf_gsm_map_areaList,
18442 { "areaList", "gsm_map.areaList",
18443 FT_UINT32, BASE_DEC, NULL, 0,
18444 "AreaDefinition/areaList", HFILL }},
18445 { &hf_gsm_map_AreaList_item,
18446 { "Item", "gsm_map.AreaList_item",
18447 FT_NONE, BASE_NONE, NULL, 0,
18448 "AreaList/_item", HFILL }},
18449 { &hf_gsm_map_areaType,
18450 { "areaType", "gsm_map.areaType",
18451 FT_UINT32, BASE_DEC, VALS(gsm_map_AreaType_vals), 0,
18452 "Area/areaType", HFILL }},
18453 { &hf_gsm_map_areaIdentification,
18454 { "areaIdentification", "gsm_map.areaIdentification",
18455 FT_BYTES, BASE_HEX, NULL, 0,
18456 "Area/areaIdentification", HFILL }},
18457 { &hf_gsm_map_locationEstimate,
18458 { "locationEstimate", "gsm_map.locationEstimate",
18459 FT_BYTES, BASE_HEX, NULL, 0,
18461 { &hf_gsm_map_ageOfLocationEstimate,
18462 { "ageOfLocationEstimate", "gsm_map.ageOfLocationEstimate",
18463 FT_UINT32, BASE_DEC, NULL, 0,
18465 { &hf_gsm_map_add_LocationEstimate,
18466 { "add-LocationEstimate", "gsm_map.add_LocationEstimate",
18467 FT_BYTES, BASE_HEX, NULL, 0,
18469 { &hf_gsm_map_deferredmt_lrResponseIndicator,
18470 { "deferredmt-lrResponseIndicator", "gsm_map.deferredmt_lrResponseIndicator",
18471 FT_NONE, BASE_NONE, NULL, 0,
18472 "ProvideSubscriberLocation-Res/deferredmt-lrResponseIndicator", HFILL }},
18473 { &hf_gsm_map_geranPositioningData,
18474 { "geranPositioningData", "gsm_map.geranPositioningData",
18475 FT_BYTES, BASE_HEX, NULL, 0,
18477 { &hf_gsm_map_utranPositioningData,
18478 { "utranPositioningData", "gsm_map.utranPositioningData",
18479 FT_BYTES, BASE_HEX, NULL, 0,
18481 { &hf_gsm_map_cellIdOrSai,
18482 { "cellIdOrSai", "gsm_map.cellIdOrSai",
18483 FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
18485 { &hf_gsm_map_mlcNumber,
18486 { "mlcNumber", "gsm_map.mlcNumber",
18487 FT_BYTES, BASE_HEX, NULL, 0,
18488 "RoutingInfoForLCS-Arg/mlcNumber", HFILL }},
18489 { &hf_gsm_map_targetMS,
18490 { "targetMS", "gsm_map.targetMS",
18491 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
18493 { &hf_gsm_map_lcsLocationInfo,
18494 { "lcsLocationInfo", "gsm_map.lcsLocationInfo",
18495 FT_NONE, BASE_NONE, NULL, 0,
18497 { &hf_gsm_map_ppr_Address,
18498 { "ppr-Address", "gsm_map.ppr_Address",
18499 FT_BYTES, BASE_HEX, NULL, 0,
18500 "RoutingInfoForLCS-Res/ppr-Address", HFILL }},
18501 { &hf_gsm_map_additional_v_gmlc_Address,
18502 { "additional-v-gmlc-Address", "gsm_map.additional_v_gmlc_Address",
18503 FT_BYTES, BASE_HEX, NULL, 0,
18504 "RoutingInfoForLCS-Res/additional-v-gmlc-Address", HFILL }},
18505 { &hf_gsm_map_additional_LCS_CapabilitySets,
18506 { "additional-LCS-CapabilitySets", "gsm_map.additional_LCS_CapabilitySets",
18507 FT_BYTES, BASE_HEX, NULL, 0,
18508 "LCSLocationInfo/additional-LCS-CapabilitySets", HFILL }},
18509 { &hf_gsm_map_lcs_Event,
18510 { "lcs-Event", "gsm_map.lcs_Event",
18511 FT_UINT32, BASE_DEC, VALS(gsm_map_LCS_Event_vals), 0,
18512 "SubscriberLocationReport-Arg/lcs-Event", HFILL }},
18513 { &hf_gsm_map_na_ESRD,
18514 { "na-ESRD", "gsm_map.na_ESRD",
18515 FT_BYTES, BASE_HEX, NULL, 0,
18517 { &hf_gsm_map_na_ESRK,
18518 { "na-ESRK", "gsm_map.na_ESRK",
18519 FT_BYTES, BASE_HEX, NULL, 0,
18521 { &hf_gsm_map_slr_ArgExtensionContainer,
18522 { "slr-ArgExtensionContainer", "gsm_map.slr_ArgExtensionContainer",
18523 FT_NONE, BASE_NONE, NULL, 0,
18524 "SubscriberLocationReport-Arg/slr-ArgExtensionContainer", HFILL }},
18525 { &hf_gsm_map_deferredmt_lrData,
18526 { "deferredmt-lrData", "gsm_map.deferredmt_lrData",
18527 FT_NONE, BASE_NONE, NULL, 0,
18528 "SubscriberLocationReport-Arg/deferredmt-lrData", HFILL }},
18529 { &hf_gsm_map_pseudonymIndicator,
18530 { "pseudonymIndicator", "gsm_map.pseudonymIndicator",
18531 FT_NONE, BASE_NONE, NULL, 0,
18532 "SubscriberLocationReport-Arg/pseudonymIndicator", HFILL }},
18533 { &hf_gsm_map_terminationCause,
18534 { "terminationCause", "gsm_map.terminationCause",
18535 FT_UINT32, BASE_DEC, VALS(gsm_map_TerminationCause_vals), 0,
18536 "Deferredmt-lrData/terminationCause", HFILL }},
18537 { &hf_gsm_map_securityHeader,
18538 { "securityHeader", "gsm_map.securityHeader",
18539 FT_NONE, BASE_NONE, NULL, 0,
18541 { &hf_gsm_map_protectedPayload,
18542 { "protectedPayload", "gsm_map.protectedPayload",
18543 FT_BYTES, BASE_HEX, NULL, 0,
18545 { &hf_gsm_map_securityParametersIndex,
18546 { "securityParametersIndex", "gsm_map.securityParametersIndex",
18547 FT_BYTES, BASE_HEX, NULL, 0,
18548 "SecurityHeader/securityParametersIndex", HFILL }},
18549 { &hf_gsm_map_originalComponentIdentifier,
18550 { "originalComponentIdentifier", "gsm_map.originalComponentIdentifier",
18551 FT_UINT32, BASE_DEC, VALS(gsm_map_OriginalComponentIdentifier_vals), 0,
18552 "SecurityHeader/originalComponentIdentifier", HFILL }},
18553 { &hf_gsm_map_initialisationVector,
18554 { "initialisationVector", "gsm_map.initialisationVector",
18555 FT_BYTES, BASE_HEX, NULL, 0,
18556 "SecurityHeader/initialisationVector", HFILL }},
18557 { &hf_gsm_map_operationCode,
18558 { "operationCode", "gsm_map.operationCode",
18559 FT_UINT32, BASE_DEC, VALS(gsm_map_OperationCode_vals), 0,
18560 "OriginalComponentIdentifier/operationCode", HFILL }},
18561 { &hf_gsm_map_errorCode1,
18562 { "errorCode", "gsm_map.errorCode",
18563 FT_UINT32, BASE_DEC, VALS(gsm_map_ErrorCode_vals), 0,
18564 "OriginalComponentIdentifier/errorCode", HFILL }},
18565 { &hf_gsm_map_userInfo,
18566 { "userInfo", "gsm_map.userInfo",
18567 FT_NONE, BASE_NONE, NULL, 0,
18568 "OriginalComponentIdentifier/userInfo", HFILL }},
18569 { &hf_gsm_map_localValue2,
18570 { "localValue", "gsm_map.localValue",
18571 FT_INT32, BASE_DEC, NULL, 0,
18573 { &hf_gsm_map_networkResource,
18574 { "networkResource", "gsm_map.networkResource",
18575 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
18577 { &hf_gsm_map_extensibleSystemFailureParam,
18578 { "extensibleSystemFailureParam", "gsm_map.extensibleSystemFailureParam",
18579 FT_NONE, BASE_NONE, NULL, 0,
18580 "SystemFailureParam/extensibleSystemFailureParam", HFILL }},
18581 { &hf_gsm_map_unknownSubscriberDiagnostic,
18582 { "unknownSubscriberDiagnostic", "gsm_map.unknownSubscriberDiagnostic",
18583 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unknownSubscriberDiagnostic_vals), 0,
18584 "UnknownSubscriberParam/unknownSubscriberDiagnostic", HFILL }},
18585 { &hf_gsm_map_roamingNotAllowedCause,
18586 { "roamingNotAllowedCause", "gsm_map.roamingNotAllowedCause",
18587 FT_UINT32, BASE_DEC, VALS(gsm_map_T_roamingNotAllowedCause_vals), 0,
18588 "RoamingNotAllowedParam/roamingNotAllowedCause", HFILL }},
18589 { &hf_gsm_map_absentSubscriberReason,
18590 { "absentSubscriberReason", "gsm_map.absentSubscriberReason",
18591 FT_UINT32, BASE_DEC, VALS(gsm_map_AbsentSubscriberReason_vals), 0,
18592 "AbsentSubscriberParam/absentSubscriberReason", HFILL }},
18593 { &hf_gsm_map_ccbs_Busy,
18594 { "ccbs-Busy", "gsm_map.ccbs_Busy",
18595 FT_NONE, BASE_NONE, NULL, 0,
18596 "BusySubscriberParam/ccbs-Busy", HFILL }},
18597 { &hf_gsm_map_gprsConnectionSuspended,
18598 { "gprsConnectionSuspended", "gsm_map.gprsConnectionSuspended",
18599 FT_NONE, BASE_NONE, NULL, 0,
18600 "SubBusyForMT-SMS-Param/gprsConnectionSuspended", HFILL }},
18601 { &hf_gsm_map_callBarringCause,
18602 { "callBarringCause", "gsm_map.callBarringCause",
18603 FT_UINT32, BASE_DEC, VALS(gsm_map_CallBarringCause_vals), 0,
18605 { &hf_gsm_map_extensibleCallBarredParam,
18606 { "extensibleCallBarredParam", "gsm_map.extensibleCallBarredParam",
18607 FT_NONE, BASE_NONE, NULL, 0,
18608 "CallBarredParam/extensibleCallBarredParam", HFILL }},
18609 { &hf_gsm_map_unauthorisedMessageOriginator,
18610 { "unauthorisedMessageOriginator", "gsm_map.unauthorisedMessageOriginator",
18611 FT_NONE, BASE_NONE, NULL, 0,
18612 "ExtensibleCallBarredParam/unauthorisedMessageOriginator", HFILL }},
18613 { &hf_gsm_map_cug_RejectCause,
18614 { "cug-RejectCause", "gsm_map.cug_RejectCause",
18615 FT_UINT32, BASE_DEC, VALS(gsm_map_CUG_RejectCause_vals), 0,
18616 "CUG-RejectParam/cug-RejectCause", HFILL }},
18617 { &hf_gsm_map_cug_RejectCause1,
18618 { "cug-RejectCause", "gsm_map.cug_RejectCause",
18619 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cug_RejectCause_vals), 0,
18620 "Cug-RejectParam/cug-RejectCause", HFILL }},
18621 { &hf_gsm_map_sm_EnumeratedDeliveryFailureCause,
18622 { "sm-EnumeratedDeliveryFailureCause", "gsm_map.sm_EnumeratedDeliveryFailureCause",
18623 FT_UINT32, BASE_DEC, VALS(gsm_map_SM_EnumeratedDeliveryFailureCause_vals), 0,
18624 "SM-DeliveryFailureCause/sm-EnumeratedDeliveryFailureCause", HFILL }},
18625 { &hf_gsm_map_diagnosticInfo,
18626 { "diagnosticInfo", "gsm_map.diagnosticInfo",
18627 FT_BYTES, BASE_HEX, NULL, 0,
18628 "SM-DeliveryFailureCause/diagnosticInfo", HFILL }},
18629 { &hf_gsm_map_unauthorizedLCSClient_Diagnostic,
18630 { "unauthorizedLCSClient-Diagnostic", "gsm_map.unauthorizedLCSClient_Diagnostic",
18631 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unauthorizedLCSClient_Diagnostic_vals), 0,
18632 "UnauthorizedLCSClient-Param/unauthorizedLCSClient-Diagnostic", HFILL }},
18633 { &hf_gsm_map_positionMethodFailure_Diagnostic,
18634 { "positionMethodFailure-Diagnostic", "gsm_map.positionMethodFailure_Diagnostic",
18635 FT_UINT32, BASE_DEC, VALS(gsm_map_PositionMethodFailure_Diagnostic_vals), 0,
18636 "PositionMethodFailure-Param/positionMethodFailure-Diagnostic", HFILL }},
18637 { &hf_gsm_map_pcsExtensions,
18638 { "pcsExtensions", "gsm_map.pcsExtensions",
18639 FT_NONE, BASE_NONE, NULL, 0,
18640 "ExtensionContainer/pcsExtensions", HFILL }},
18641 { &hf_gsm_map_SupportedCamelPhases_phase1,
18642 { "phase1", "gsm_map.phase1",
18643 FT_BOOLEAN, 8, NULL, 0x80,
18645 { &hf_gsm_map_SupportedCamelPhases_phase2,
18646 { "phase2", "gsm_map.phase2",
18647 FT_BOOLEAN, 8, NULL, 0x40,
18649 { &hf_gsm_map_SupportedCamelPhases_phase3,
18650 { "phase3", "gsm_map.phase3",
18651 FT_BOOLEAN, 8, NULL, 0x20,
18653 { &hf_gsm_map_SupportedCamelPhases_phase4,
18654 { "phase4", "gsm_map.phase4",
18655 FT_BOOLEAN, 8, NULL, 0x10,
18657 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet1,
18658 { "lcsCapabilitySet1", "gsm_map.lcsCapabilitySet1",
18659 FT_BOOLEAN, 8, NULL, 0x80,
18661 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet2,
18662 { "lcsCapabilitySet2", "gsm_map.lcsCapabilitySet2",
18663 FT_BOOLEAN, 8, NULL, 0x40,
18665 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet3,
18666 { "lcsCapabilitySet3", "gsm_map.lcsCapabilitySet3",
18667 FT_BOOLEAN, 8, NULL, 0x20,
18669 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet4,
18670 { "lcsCapabilitySet4", "gsm_map.lcsCapabilitySet4",
18671 FT_BOOLEAN, 8, NULL, 0x10,
18673 { &hf_gsm_map_RequestedEquipmentInfo_equipmentStatus,
18674 { "equipmentStatus", "gsm_map.equipmentStatus",
18675 FT_BOOLEAN, 8, NULL, 0x80,
18677 { &hf_gsm_map_RequestedEquipmentInfo_bmuef,
18678 { "bmuef", "gsm_map.bmuef",
18679 FT_BOOLEAN, 8, NULL, 0x40,
18681 { &hf_gsm_map_ODB_GeneralData_allOG_CallsBarred,
18682 { "allOG-CallsBarred", "gsm_map.allOG-CallsBarred",
18683 FT_BOOLEAN, 8, NULL, 0x80,
18685 { &hf_gsm_map_ODB_GeneralData_internationalOGCallsBarred,
18686 { "internationalOGCallsBarred", "gsm_map.internationalOGCallsBarred",
18687 FT_BOOLEAN, 8, NULL, 0x40,
18689 { &hf_gsm_map_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred,
18690 { "internationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.internationalOGCallsNotToHPLMN-CountryBarred",
18691 FT_BOOLEAN, 8, NULL, 0x20,
18693 { &hf_gsm_map_ODB_GeneralData_interzonalOGCallsBarred,
18694 { "interzonalOGCallsBarred", "gsm_map.interzonalOGCallsBarred",
18695 FT_BOOLEAN, 8, NULL, 0x02,
18697 { &hf_gsm_map_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred,
18698 { "interzonalOGCallsNotToHPLMN-CountryBarred", "gsm_map.interzonalOGCallsNotToHPLMN-CountryBarred",
18699 FT_BOOLEAN, 8, NULL, 0x01,
18701 { &hf_gsm_map_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred,
18702 { "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred",
18703 FT_BOOLEAN, 8, NULL, 0x80,
18705 { &hf_gsm_map_ODB_GeneralData_premiumRateInformationOGCallsBarred,
18706 { "premiumRateInformationOGCallsBarred", "gsm_map.premiumRateInformationOGCallsBarred",
18707 FT_BOOLEAN, 8, NULL, 0x10,
18709 { &hf_gsm_map_ODB_GeneralData_premiumRateEntertainementOGCallsBarred,
18710 { "premiumRateEntertainementOGCallsBarred", "gsm_map.premiumRateEntertainementOGCallsBarred",
18711 FT_BOOLEAN, 8, NULL, 0x08,
18713 { &hf_gsm_map_ODB_GeneralData_ss_AccessBarred,
18714 { "ss-AccessBarred", "gsm_map.ss-AccessBarred",
18715 FT_BOOLEAN, 8, NULL, 0x04,
18717 { &hf_gsm_map_ODB_GeneralData_allECT_Barred,
18718 { "allECT-Barred", "gsm_map.allECT-Barred",
18719 FT_BOOLEAN, 8, NULL, 0x40,
18721 { &hf_gsm_map_ODB_GeneralData_chargeableECT_Barred,
18722 { "chargeableECT-Barred", "gsm_map.chargeableECT-Barred",
18723 FT_BOOLEAN, 8, NULL, 0x20,
18725 { &hf_gsm_map_ODB_GeneralData_internationalECT_Barred,
18726 { "internationalECT-Barred", "gsm_map.internationalECT-Barred",
18727 FT_BOOLEAN, 8, NULL, 0x10,
18729 { &hf_gsm_map_ODB_GeneralData_interzonalECT_Barred,
18730 { "interzonalECT-Barred", "gsm_map.interzonalECT-Barred",
18731 FT_BOOLEAN, 8, NULL, 0x08,
18733 { &hf_gsm_map_ODB_GeneralData_doublyChargeableECT_Barred,
18734 { "doublyChargeableECT-Barred", "gsm_map.doublyChargeableECT-Barred",
18735 FT_BOOLEAN, 8, NULL, 0x04,
18737 { &hf_gsm_map_ODB_GeneralData_multipleECT_Barred,
18738 { "multipleECT-Barred", "gsm_map.multipleECT-Barred",
18739 FT_BOOLEAN, 8, NULL, 0x02,
18741 { &hf_gsm_map_ODB_GeneralData_allPacketOrientedServicesBarred,
18742 { "allPacketOrientedServicesBarred", "gsm_map.allPacketOrientedServicesBarred",
18743 FT_BOOLEAN, 8, NULL, 0x01,
18745 { &hf_gsm_map_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred,
18746 { "roamerAccessToHPLMN-AP-Barred", "gsm_map.roamerAccessToHPLMN-AP-Barred",
18747 FT_BOOLEAN, 8, NULL, 0x80,
18749 { &hf_gsm_map_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred,
18750 { "roamerAccessToVPLMN-AP-Barred", "gsm_map.roamerAccessToVPLMN-AP-Barred",
18751 FT_BOOLEAN, 8, NULL, 0x40,
18753 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred,
18754 { "roamingOutsidePLMNOG-CallsBarred", "gsm_map.roamingOutsidePLMNOG-CallsBarred",
18755 FT_BOOLEAN, 8, NULL, 0x20,
18757 { &hf_gsm_map_ODB_GeneralData_allIC_CallsBarred,
18758 { "allIC-CallsBarred", "gsm_map.allIC-CallsBarred",
18759 FT_BOOLEAN, 8, NULL, 0x10,
18761 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred,
18762 { "roamingOutsidePLMNIC-CallsBarred", "gsm_map.roamingOutsidePLMNIC-CallsBarred",
18763 FT_BOOLEAN, 8, NULL, 0x08,
18765 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
18766 { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm_map.roamingOutsidePLMNICountryIC-CallsBarred",
18767 FT_BOOLEAN, 8, NULL, 0x04,
18769 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_Barred,
18770 { "roamingOutsidePLMN-Barred", "gsm_map.roamingOutsidePLMN-Barred",
18771 FT_BOOLEAN, 8, NULL, 0x02,
18773 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_CountryBarred,
18774 { "roamingOutsidePLMN-CountryBarred", "gsm_map.roamingOutsidePLMN-CountryBarred",
18775 FT_BOOLEAN, 8, NULL, 0x01,
18777 { &hf_gsm_map_ODB_GeneralData_registrationAllCF_Barred,
18778 { "registrationAllCF-Barred", "gsm_map.registrationAllCF-Barred",
18779 FT_BOOLEAN, 8, NULL, 0x80,
18781 { &hf_gsm_map_ODB_GeneralData_registrationCFNotToHPLMN_Barred,
18782 { "registrationCFNotToHPLMN-Barred", "gsm_map.registrationCFNotToHPLMN-Barred",
18783 FT_BOOLEAN, 8, NULL, 0x40,
18785 { &hf_gsm_map_ODB_GeneralData_registrationInterzonalCF_Barred,
18786 { "registrationInterzonalCF-Barred", "gsm_map.registrationInterzonalCF-Barred",
18787 FT_BOOLEAN, 8, NULL, 0x20,
18789 { &hf_gsm_map_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
18790 { "registrationInterzonalCFNotToHPLMN-Barred", "gsm_map.registrationInterzonalCFNotToHPLMN-Barred",
18791 FT_BOOLEAN, 8, NULL, 0x10,
18793 { &hf_gsm_map_ODB_GeneralData_registrationInternationalCF_Barred,
18794 { "registrationInternationalCF-Barred", "gsm_map.registrationInternationalCF-Barred",
18795 FT_BOOLEAN, 8, NULL, 0x08,
18797 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType1,
18798 { "plmn-SpecificBarringType1", "gsm_map.plmn-SpecificBarringType1",
18799 FT_BOOLEAN, 8, NULL, 0x80,
18801 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType2,
18802 { "plmn-SpecificBarringType2", "gsm_map.plmn-SpecificBarringType2",
18803 FT_BOOLEAN, 8, NULL, 0x40,
18805 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType3,
18806 { "plmn-SpecificBarringType3", "gsm_map.plmn-SpecificBarringType3",
18807 FT_BOOLEAN, 8, NULL, 0x20,
18809 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType4,
18810 { "plmn-SpecificBarringType4", "gsm_map.plmn-SpecificBarringType4",
18811 FT_BOOLEAN, 8, NULL, 0x10,
18813 { &hf_gsm_map_AccessRestrictionData_utranNotAllowed,
18814 { "utranNotAllowed", "gsm_map.utranNotAllowed",
18815 FT_BOOLEAN, 8, NULL, 0x80,
18817 { &hf_gsm_map_AccessRestrictionData_geranNotAllowed,
18818 { "geranNotAllowed", "gsm_map.geranNotAllowed",
18819 FT_BOOLEAN, 8, NULL, 0x40,
18821 { &hf_gsm_map_SpecificCSI_Withdraw_o_csi,
18822 { "o-csi", "gsm_map.o-csi",
18823 FT_BOOLEAN, 8, NULL, 0x80,
18825 { &hf_gsm_map_SpecificCSI_Withdraw_ss_csi,
18826 { "ss-csi", "gsm_map.ss-csi",
18827 FT_BOOLEAN, 8, NULL, 0x40,
18829 { &hf_gsm_map_SpecificCSI_Withdraw_tif_csi,
18830 { "tif-csi", "gsm_map.tif-csi",
18831 FT_BOOLEAN, 8, NULL, 0x20,
18833 { &hf_gsm_map_SpecificCSI_Withdraw_d_csi,
18834 { "d-csi", "gsm_map.d-csi",
18835 FT_BOOLEAN, 8, NULL, 0x10,
18837 { &hf_gsm_map_SpecificCSI_Withdraw_vt_csi,
18838 { "vt-csi", "gsm_map.vt-csi",
18839 FT_BOOLEAN, 8, NULL, 0x08,
18841 { &hf_gsm_map_SpecificCSI_Withdraw_mo_sms_csi,
18842 { "mo-sms-csi", "gsm_map.mo-sms-csi",
18843 FT_BOOLEAN, 8, NULL, 0x04,
18845 { &hf_gsm_map_SpecificCSI_Withdraw_m_csi,
18846 { "m-csi", "gsm_map.m-csi",
18847 FT_BOOLEAN, 8, NULL, 0x02,
18849 { &hf_gsm_map_SpecificCSI_Withdraw_gprs_csi,
18850 { "gprs-csi", "gsm_map.gprs-csi",
18851 FT_BOOLEAN, 8, NULL, 0x01,
18853 { &hf_gsm_map_SpecificCSI_Withdraw_t_csi,
18854 { "t-csi", "gsm_map.t-csi",
18855 FT_BOOLEAN, 8, NULL, 0x80,
18857 { &hf_gsm_map_SpecificCSI_Withdraw_mt_sms_csi,
18858 { "mt-sms-csi", "gsm_map.mt-sms-csi",
18859 FT_BOOLEAN, 8, NULL, 0x40,
18861 { &hf_gsm_map_SpecificCSI_Withdraw_mg_csi,
18862 { "mg-csi", "gsm_map.mg-csi",
18863 FT_BOOLEAN, 8, NULL, 0x20,
18865 { &hf_gsm_map_SpecificCSI_Withdraw_o_IM_CSI,
18866 { "o-IM-CSI", "gsm_map.o-IM-CSI",
18867 FT_BOOLEAN, 8, NULL, 0x10,
18869 { &hf_gsm_map_SpecificCSI_Withdraw_d_IM_CSI,
18870 { "d-IM-CSI", "gsm_map.d-IM-CSI",
18871 FT_BOOLEAN, 8, NULL, 0x08,
18873 { &hf_gsm_map_SpecificCSI_Withdraw_vt_IM_CSI,
18874 { "vt-IM-CSI", "gsm_map.vt-IM-CSI",
18875 FT_BOOLEAN, 8, NULL, 0x04,
18877 { &hf_gsm_map_AllowedServices_firstServiceAllowed,
18878 { "firstServiceAllowed", "gsm_map.firstServiceAllowed",
18879 FT_BOOLEAN, 8, NULL, 0x80,
18881 { &hf_gsm_map_AllowedServices_secondServiceAllowed,
18882 { "secondServiceAllowed", "gsm_map.secondServiceAllowed",
18883 FT_BOOLEAN, 8, NULL, 0x40,
18885 { &hf_gsm_map_ServiceIndicator_clir_invoked,
18886 { "clir-invoked", "gsm_map.clir-invoked",
18887 FT_BOOLEAN, 8, NULL, 0x80,
18889 { &hf_gsm_map_ServiceIndicator_camel_invoked,
18890 { "camel-invoked", "gsm_map.camel-invoked",
18891 FT_BOOLEAN, 8, NULL, 0x40,
18893 { &hf_gsm_map_T_mw_Status_scAddressNotIncluded,
18894 { "scAddressNotIncluded", "gsm_map.scAddressNotIncluded",
18895 FT_BOOLEAN, 8, NULL, 0x80,
18897 { &hf_gsm_map_T_mw_Status_mnrfSet,
18898 { "mnrfSet", "gsm_map.mnrfSet",
18899 FT_BOOLEAN, 8, NULL, 0x40,
18901 { &hf_gsm_map_T_mw_Status_mcefSet,
18902 { "mcefSet", "gsm_map.mcefSet",
18903 FT_BOOLEAN, 8, NULL, 0x20,
18905 { &hf_gsm_map_T_mw_Status_mnrgSet,
18906 { "mnrgSet", "gsm_map.mnrgSet",
18907 FT_BOOLEAN, 8, NULL, 0x10,
18909 { &hf_gsm_map_OfferedCamel4CSIs_o_csi,
18910 { "o-csi", "gsm_map.o-csi",
18911 FT_BOOLEAN, 8, NULL, 0x80,
18913 { &hf_gsm_map_OfferedCamel4CSIs_d_csi,
18914 { "d-csi", "gsm_map.d-csi",
18915 FT_BOOLEAN, 8, NULL, 0x40,
18917 { &hf_gsm_map_OfferedCamel4CSIs_vt_csi,
18918 { "vt-csi", "gsm_map.vt-csi",
18919 FT_BOOLEAN, 8, NULL, 0x20,
18921 { &hf_gsm_map_OfferedCamel4CSIs_t_csi,
18922 { "t-csi", "gsm_map.t-csi",
18923 FT_BOOLEAN, 8, NULL, 0x10,
18925 { &hf_gsm_map_OfferedCamel4CSIs_mt_sms_csi,
18926 { "mt-sms-csi", "gsm_map.mt-sms-csi",
18927 FT_BOOLEAN, 8, NULL, 0x08,
18929 { &hf_gsm_map_OfferedCamel4CSIs_mg_csi,
18930 { "mg-csi", "gsm_map.mg-csi",
18931 FT_BOOLEAN, 8, NULL, 0x04,
18933 { &hf_gsm_map_OfferedCamel4CSIs_psi_enhancements,
18934 { "psi-enhancements", "gsm_map.psi-enhancements",
18935 FT_BOOLEAN, 8, NULL, 0x02,
18937 { &hf_gsm_map_OfferedCamel4Functionalities_initiateCallAttempt,
18938 { "initiateCallAttempt", "gsm_map.initiateCallAttempt",
18939 FT_BOOLEAN, 8, NULL, 0x80,
18941 { &hf_gsm_map_OfferedCamel4Functionalities_splitLeg,
18942 { "splitLeg", "gsm_map.splitLeg",
18943 FT_BOOLEAN, 8, NULL, 0x40,
18945 { &hf_gsm_map_OfferedCamel4Functionalities_moveLeg,
18946 { "moveLeg", "gsm_map.moveLeg",
18947 FT_BOOLEAN, 8, NULL, 0x20,
18949 { &hf_gsm_map_OfferedCamel4Functionalities_disconnectLeg,
18950 { "disconnectLeg", "gsm_map.disconnectLeg",
18951 FT_BOOLEAN, 8, NULL, 0x10,
18953 { &hf_gsm_map_OfferedCamel4Functionalities_entityReleased,
18954 { "entityReleased", "gsm_map.entityReleased",
18955 FT_BOOLEAN, 8, NULL, 0x08,
18957 { &hf_gsm_map_OfferedCamel4Functionalities_dfc_WithArgument,
18958 { "dfc-WithArgument", "gsm_map.dfc-WithArgument",
18959 FT_BOOLEAN, 8, NULL, 0x04,
18961 { &hf_gsm_map_OfferedCamel4Functionalities_playTone,
18962 { "playTone", "gsm_map.playTone",
18963 FT_BOOLEAN, 8, NULL, 0x02,
18965 { &hf_gsm_map_OfferedCamel4Functionalities_dtmf_MidCall,
18966 { "dtmf-MidCall", "gsm_map.dtmf-MidCall",
18967 FT_BOOLEAN, 8, NULL, 0x01,
18969 { &hf_gsm_map_OfferedCamel4Functionalities_chargingIndicator,
18970 { "chargingIndicator", "gsm_map.chargingIndicator",
18971 FT_BOOLEAN, 8, NULL, 0x80,
18973 { &hf_gsm_map_OfferedCamel4Functionalities_alertingDP,
18974 { "alertingDP", "gsm_map.alertingDP",
18975 FT_BOOLEAN, 8, NULL, 0x40,
18977 { &hf_gsm_map_OfferedCamel4Functionalities_locationAtAlerting,
18978 { "locationAtAlerting", "gsm_map.locationAtAlerting",
18979 FT_BOOLEAN, 8, NULL, 0x20,
18981 { &hf_gsm_map_OfferedCamel4Functionalities_changeOfPositionDP,
18982 { "changeOfPositionDP", "gsm_map.changeOfPositionDP",
18983 FT_BOOLEAN, 8, NULL, 0x10,
18985 { &hf_gsm_map_OfferedCamel4Functionalities_or_Interactions,
18986 { "or-Interactions", "gsm_map.or-Interactions",
18987 FT_BOOLEAN, 8, NULL, 0x08,
18989 { &hf_gsm_map_OfferedCamel4Functionalities_warningToneEnhancements,
18990 { "warningToneEnhancements", "gsm_map.warningToneEnhancements",
18991 FT_BOOLEAN, 8, NULL, 0x04,
18993 { &hf_gsm_map_OfferedCamel4Functionalities_cf_Enhancements,
18994 { "cf-Enhancements", "gsm_map.cf-Enhancements",
18995 FT_BOOLEAN, 8, NULL, 0x02,
18997 { &hf_gsm_map_OfferedCamel4Functionalities_subscribedEnhancedDialledServices,
18998 { "subscribedEnhancedDialledServices", "gsm_map.subscribedEnhancedDialledServices",
18999 FT_BOOLEAN, 8, NULL, 0x01,
19001 { &hf_gsm_map_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices,
19002 { "servingNetworkEnhancedDialledServices", "gsm_map.servingNetworkEnhancedDialledServices",
19003 FT_BOOLEAN, 8, NULL, 0x80,
19005 { &hf_gsm_map_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP,
19006 { "criteriaForChangeOfPositionDP", "gsm_map.criteriaForChangeOfPositionDP",
19007 FT_BOOLEAN, 8, NULL, 0x40,
19009 { &hf_gsm_map_OfferedCamel4Functionalities_serviceChangeDP,
19010 { "serviceChangeDP", "gsm_map.serviceChangeDP",
19011 FT_BOOLEAN, 8, NULL, 0x20,
19013 { &hf_gsm_map_DeferredLocationEventType_msAvailable,
19014 { "msAvailable", "gsm_map.msAvailable",
19015 FT_BOOLEAN, 8, NULL, 0x80,
19017 { &hf_gsm_map_DeferredLocationEventType_enteringIntoArea,
19018 { "enteringIntoArea", "gsm_map.enteringIntoArea",
19019 FT_BOOLEAN, 8, NULL, 0x40,
19021 { &hf_gsm_map_DeferredLocationEventType_leavingFromArea,
19022 { "leavingFromArea", "gsm_map.leavingFromArea",
19023 FT_BOOLEAN, 8, NULL, 0x20,
19025 { &hf_gsm_map_DeferredLocationEventType_beingInsideArea,
19026 { "beingInsideArea", "gsm_map.beingInsideArea",
19027 FT_BOOLEAN, 8, NULL, 0x10,
19029 { &hf_gsm_map_SupportedGADShapes_ellipsoidPoint,
19030 { "ellipsoidPoint", "gsm_map.ellipsoidPoint",
19031 FT_BOOLEAN, 8, NULL, 0x80,
19033 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle,
19034 { "ellipsoidPointWithUncertaintyCircle", "gsm_map.ellipsoidPointWithUncertaintyCircle",
19035 FT_BOOLEAN, 8, NULL, 0x40,
19037 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse,
19038 { "ellipsoidPointWithUncertaintyEllipse", "gsm_map.ellipsoidPointWithUncertaintyEllipse",
19039 FT_BOOLEAN, 8, NULL, 0x20,
19041 { &hf_gsm_map_SupportedGADShapes_polygon,
19042 { "polygon", "gsm_map.polygon",
19043 FT_BOOLEAN, 8, NULL, 0x10,
19045 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitude,
19046 { "ellipsoidPointWithAltitude", "gsm_map.ellipsoidPointWithAltitude",
19047 FT_BOOLEAN, 8, NULL, 0x08,
19049 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid,
19050 { "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", "gsm_map.ellipsoidPointWithAltitudeAndUncertaintyElipsoid",
19051 FT_BOOLEAN, 8, NULL, 0x04,
19053 { &hf_gsm_map_SupportedGADShapes_ellipsoidArc,
19054 { "ellipsoidArc", "gsm_map.ellipsoidArc",
19055 FT_BOOLEAN, 8, NULL, 0x02,
19058 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
19059 #line 1748 "packet-gsm_map-template.c"
19062 /* List of subtrees */
19063 static gint *ett[] = {
19065 &ett_gsm_map_InvokeId,
19066 &ett_gsm_map_InvokePDU,
19067 &ett_gsm_map_ReturnResultPDU,
19068 &ett_gsm_map_ReturnErrorPDU,
19069 &ett_gsm_map_ReturnResult_result,
19070 &ett_gsm_map_ReturnError_result,
19071 &ett_gsm_map_GSMMAPPDU,
19072 &ett_gsm_map_ext_qos_subscribed,
19074 /*--- Included file: packet-gsm_map-ettarr.c ---*/
19075 #line 1 "packet-gsm_map-ettarr.c"
19076 &ett_gsm_map_Component,
19077 &ett_gsm_map_Invoke,
19078 &ett_gsm_map_ReturnResult,
19079 &ett_gsm_map_T_resultretres,
19080 &ett_gsm_map_ReturnError,
19081 &ett_gsm_map_Reject,
19082 &ett_gsm_map_T_invokeIDRej,
19083 &ett_gsm_map_T_problem,
19084 &ett_gsm_map_OPERATION,
19085 &ett_gsm_map_ERROR,
19086 &ett_gsm_map_Bss_APDU,
19087 &ett_gsm_map_SupportedCamelPhases,
19088 &ett_gsm_map_UpdateLocationArg,
19089 &ett_gsm_map_UpdateLocationRes,
19090 &ett_gsm_map_VLR_Capability,
19091 &ett_gsm_map_SuperChargerInfo,
19092 &ett_gsm_map_SupportedLCS_CapabilitySets,
19093 &ett_gsm_map_ADD_Info,
19094 &ett_gsm_map_PrivateExtensionList,
19095 &ett_gsm_map_PrivateExtension,
19096 &ett_gsm_map_SLR_ArgExtensionContainer,
19097 &ett_gsm_map_PcsExtensions,
19098 &ett_gsm_map_SLR_Arg_PCS_Extensions,
19099 &ett_gsm_map_CancelLocationArg,
19100 &ett_gsm_map_CancelLocationArgV2,
19101 &ett_gsm_map_CancelLocationRes,
19102 &ett_gsm_map_PurgeMSArg,
19103 &ett_gsm_map_PurgeMSRes,
19104 &ett_gsm_map_SendIdentificationArg,
19105 &ett_gsm_map_SendIdentificationRes,
19106 &ett_gsm_map_AuthenticationSetList,
19107 &ett_gsm_map_TripletList,
19108 &ett_gsm_map_QuintupletList,
19109 &ett_gsm_map_AuthenticationTriplet,
19110 &ett_gsm_map_AuthenticationQuintuplet,
19111 &ett_gsm_map_CurrentSecurityContext,
19112 &ett_gsm_map_GSM_SecurityContextData,
19113 &ett_gsm_map_UMTS_SecurityContextData,
19114 &ett_gsm_map_PrepareHO_Arg,
19115 &ett_gsm_map_PrepareHO_ArgV3,
19116 &ett_gsm_map_BSSMAP_ServiceHandoverList,
19117 &ett_gsm_map_BSSMAP_ServiceHandoverInfo,
19118 &ett_gsm_map_RadioResourceList,
19119 &ett_gsm_map_RadioResource,
19120 &ett_gsm_map_PrepareHO_Res,
19121 &ett_gsm_map_PrepareHO_ResV3,
19122 &ett_gsm_map_SelectedUMTS_Algorithms,
19123 &ett_gsm_map_ChosenRadioResourceInformation,
19124 &ett_gsm_map_SendEndSignalArgV3,
19125 &ett_gsm_map_SendEndSignalRes,
19126 &ett_gsm_map_RelocationNumberList,
19127 &ett_gsm_map_RelocationNumber,
19128 &ett_gsm_map_ProcessAccessSignallingArgV3,
19129 &ett_gsm_map_SupportedCodecsList,
19130 &ett_gsm_map_CodecList,
19131 &ett_gsm_map_ForwardAccessSignallingArgV3,
19132 &ett_gsm_map_AllowedUMTS_Algorithms,
19133 &ett_gsm_map_PrepareSubsequentHOArg,
19134 &ett_gsm_map_PrepareSubsequentHOArgV3,
19135 &ett_gsm_map_PrepareSubsequentHOResV3,
19136 &ett_gsm_map_SendAuthenticationInfoArgV2,
19137 &ett_gsm_map_SendAuthenticationInfoRes,
19138 &ett_gsm_map_SendAuthenticationInfoRes_item,
19139 &ett_gsm_map_SendAuthenticationInfoResV3,
19140 &ett_gsm_map_Re_synchronisationInfo,
19141 &ett_gsm_map_CheckIMEIArgV2,
19142 &ett_gsm_map_CheckIMEIRes,
19143 &ett_gsm_map_RequestedEquipmentInfo,
19144 &ett_gsm_map_UESBI_Iu,
19145 &ett_gsm_map_BasicService,
19146 &ett_gsm_map_BasicServiceGroupList,
19147 &ett_gsm_map_ODB_GeneralData,
19148 &ett_gsm_map_ODB_HPLMN_Data,
19149 &ett_gsm_map_BcsmCamelTDPData,
19150 &ett_gsm_map_BcsmCamelTDPDataList,
19151 &ett_gsm_map_O_CSI,
19152 &ett_gsm_map_O_BcsmCamelTDPDataList,
19153 &ett_gsm_map_O_BcsmCamelTDPData,
19154 &ett_gsm_map_InsertSubscriberDataArg,
19155 &ett_gsm_map_AccessRestrictionData,
19156 &ett_gsm_map_LCSInformation,
19157 &ett_gsm_map_GMLC_List,
19158 &ett_gsm_map_GPRSDataList,
19159 &ett_gsm_map_PDP_Context,
19160 &ett_gsm_map_GPRSSubscriptionData,
19161 &ett_gsm_map_SGSN_CAMEL_SubscriptionInfo,
19162 &ett_gsm_map_GPRS_CSI,
19163 &ett_gsm_map_GPRS_CamelTDPDataList,
19164 &ett_gsm_map_GPRS_CamelTDPData,
19165 &ett_gsm_map_LSADataList,
19166 &ett_gsm_map_LSAData,
19167 &ett_gsm_map_LSAInformation,
19168 &ett_gsm_map_InsertSubscriberDataRes,
19169 &ett_gsm_map_DeleteSubscriberDataArg,
19170 &ett_gsm_map_DeleteSubscriberDataRes,
19171 &ett_gsm_map_SpecificCSI_Withdraw,
19172 &ett_gsm_map_GPRSSubscriptionDataWithdraw,
19173 &ett_gsm_map_ContextIdList,
19174 &ett_gsm_map_LSAInformationWithdraw,
19175 &ett_gsm_map_LSAIdentityList,
19176 &ett_gsm_map_BasicServiceList,
19177 &ett_gsm_map_VlrCamelSubscriptionInfo,
19178 &ett_gsm_map_MT_smsCAMELTDP_CriteriaList,
19179 &ett_gsm_map_MT_smsCAMELTDP_Criteria,
19180 &ett_gsm_map_TPDU_TypeCriterion,
19181 &ett_gsm_map_D_CSI,
19182 &ett_gsm_map_DP_AnalysedInfoCriteriaList,
19183 &ett_gsm_map_DP_AnalysedInfoCriterium,
19184 &ett_gsm_map_SS_CSI,
19185 &ett_gsm_map_SS_CamelData,
19186 &ett_gsm_map_MG_CSI,
19187 &ett_gsm_map_BearerServiceList,
19188 &ett_gsm_map_TeleserviceList,
19189 &ett_gsm_map_Ext_SS_InfoList,
19190 &ett_gsm_map_Ext_SS_Info,
19191 &ett_gsm_map_Ext_ForwInfo,
19192 &ett_gsm_map_Ext_ForwFeatureList,
19193 &ett_gsm_map_Ext_ForwFeature,
19194 &ett_gsm_map_Ext_CallBarInfo,
19195 &ett_gsm_map_Ext_CallBarFeatureList,
19196 &ett_gsm_map_Ext_CallBarringFeature,
19197 &ett_gsm_map_ZoneCodeList,
19198 &ett_gsm_map_EMLPP_Info,
19199 &ett_gsm_map_CUG_Info,
19200 &ett_gsm_map_CUG_SubscriptionList,
19201 &ett_gsm_map_CUG_Subscription,
19202 &ett_gsm_map_CUG_FeatureList,
19203 &ett_gsm_map_Ext_BasicServiceGroupList,
19204 &ett_gsm_map_CUG_Feature,
19205 &ett_gsm_map_Ext_SS_Data,
19206 &ett_gsm_map_LCS_PrivacyExceptionList,
19207 &ett_gsm_map_LCS_PrivacyClass,
19208 &ett_gsm_map_ExternalClientList,
19209 &ett_gsm_map_PLMNClientList,
19210 &ett_gsm_map_Ext_ExternalClientList,
19211 &ett_gsm_map_ExternalClient,
19212 &ett_gsm_map_ServiceTypeList,
19213 &ett_gsm_map_ServiceType,
19214 &ett_gsm_map_MOLR_List,
19215 &ett_gsm_map_MOLR_Class,
19216 &ett_gsm_map_CallBarringFeatureList,
19217 &ett_gsm_map_CallBarringFeature,
19218 &ett_gsm_map_ForwardingFeatureList,
19219 &ett_gsm_map_ForwardingFeature,
19220 &ett_gsm_map_DestinationNumberCriteria,
19221 &ett_gsm_map_DestinationNumberList,
19222 &ett_gsm_map_DestinationNumberLengthList,
19223 &ett_gsm_map_ForwardingInfo,
19224 &ett_gsm_map_CallBarringInfo,
19225 &ett_gsm_map_MC_SS_Info,
19226 &ett_gsm_map_ResetArg,
19227 &ett_gsm_map_RestoreDataArg,
19228 &ett_gsm_map_RestoreDataRes,
19229 &ett_gsm_map_VBSDataList,
19230 &ett_gsm_map_VGCSDataList,
19231 &ett_gsm_map_VoiceGroupCallData,
19232 &ett_gsm_map_VoiceBroadcastData,
19233 &ett_gsm_map_ActivateTraceModeArg,
19234 &ett_gsm_map_ActivateTraceModeRes,
19235 &ett_gsm_map_DeactivateTraceModeArg,
19236 &ett_gsm_map_DeactivateTraceModeRes,
19237 &ett_gsm_map_SendRoutingInfoArg,
19238 &ett_gsm_map_SendRoutingInfoRes,
19239 &ett_gsm_map_ExternalSignalInfo,
19240 &ett_gsm_map_Ext_ExternalSignalInfo,
19241 &ett_gsm_map_AccessNetworkSignalInfo,
19242 &ett_gsm_map_CamelInfo,
19243 &ett_gsm_map_Identity,
19244 &ett_gsm_map_IMSI_WithLMSI,
19245 &ett_gsm_map_SubscriberId,
19246 &ett_gsm_map_HLR_List,
19247 &ett_gsm_map_SS_List,
19248 &ett_gsm_map_NAEA_PreferredCI,
19249 &ett_gsm_map_SubscriberIdentity,
19250 &ett_gsm_map_LCSClientExternalID,
19251 &ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
19252 &ett_gsm_map_AllowedServices,
19253 &ett_gsm_map_CCBS_Indicators,
19254 &ett_gsm_map_RoutingInfo,
19255 &ett_gsm_map_ExtendedRoutingInfo,
19256 &ett_gsm_map_CamelRoutingInfo,
19257 &ett_gsm_map_GmscCamelSubscriptionInfo,
19258 &ett_gsm_map_LocationInformation,
19259 &ett_gsm_map_LocationInformationGPRS,
19260 &ett_gsm_map_SubscriberState,
19261 &ett_gsm_map_PS_SubscriberState,
19262 &ett_gsm_map_PDP_ContextInfoList,
19263 &ett_gsm_map_PDP_ContextInfo,
19264 &ett_gsm_map_CUG_CheckInfo,
19265 &ett_gsm_map_ForwardingData,
19266 &ett_gsm_map_ProvideRoamingNumberArg,
19267 &ett_gsm_map_ProvideRoamingNumberRes,
19268 &ett_gsm_map_ResumeCallHandlingArg,
19269 &ett_gsm_map_ResumeCallHandlingRes,
19270 &ett_gsm_map_UU_Data,
19271 &ett_gsm_map_ProvideSIWFSNumberArg,
19272 &ett_gsm_map_ProvideSIWFSNumberRes,
19273 &ett_gsm_map_SIWFSSignallingModifyArg,
19274 &ett_gsm_map_SIWFSSignallingModifyRes,
19275 &ett_gsm_map_SetReportingStateArg,
19276 &ett_gsm_map_SetReportingStateRes,
19277 &ett_gsm_map_StatusReportArg,
19278 &ett_gsm_map_StatusReportRes,
19279 &ett_gsm_map_EventReportData,
19280 &ett_gsm_map_CallReportData,
19281 &ett_gsm_map_IST_AlertArg,
19282 &ett_gsm_map_IST_AlertRes,
19283 &ett_gsm_map_IST_CommandArg,
19284 &ett_gsm_map_IST_CommandRes,
19285 &ett_gsm_map_ReleaseResourcesArg,
19286 &ett_gsm_map_ReleaseResourcesRes,
19287 &ett_gsm_map_RemoteUserFreeArg,
19288 &ett_gsm_map_RemoteUserFreeRes,
19289 &ett_gsm_map_SS_Data,
19290 &ett_gsm_map_SS_SubscriptionOption,
19291 &ett_gsm_map_RegisterSS_Arg,
19292 &ett_gsm_map_SS_Info,
19293 &ett_gsm_map_InterrogateSS_Res,
19294 &ett_gsm_map_Ussd_Arg,
19295 &ett_gsm_map_Ussd_Res,
19296 &ett_gsm_map_AuthenticationFailureReportArg,
19297 &ett_gsm_map_AuthenticationFailureReportRes,
19298 &ett_gsm_map_RegisterCC_EntryArg,
19299 &ett_gsm_map_RegisterCC_EntryRes,
19300 &ett_gsm_map_CCBS_Data,
19301 &ett_gsm_map_ServiceIndicator,
19302 &ett_gsm_map_EraseCC_EntryArg,
19303 &ett_gsm_map_EraseCC_EntryRes,
19304 &ett_gsm_map_RoutingInfoForSMArg,
19305 &ett_gsm_map_RoutingInfoForSM_Res,
19306 &ett_gsm_map_LocationInfoWithLMSI,
19307 &ett_gsm_map_Additional_Number,
19308 &ett_gsm_map_Mo_forwardSM_Arg,
19309 &ett_gsm_map_Mo_forwardSM_Res,
19310 &ett_gsm_map_Sm_RP_OA,
19311 &ett_gsm_map_Sm_RP_DA,
19312 &ett_gsm_map_Mt_forwardSM_Arg,
19313 &ett_gsm_map_Mt_forwardSM_Res,
19314 &ett_gsm_map_ReportSM_DeliveryStatusArg,
19315 &ett_gsm_map_ReportSM_DeliveryStatusRes,
19316 &ett_gsm_map_InformServiceCentreArg,
19317 &ett_gsm_map_T_mw_Status,
19318 &ett_gsm_map_AlertServiceCentreArg,
19319 &ett_gsm_map_ReadyForSM_Arg,
19320 &ett_gsm_map_ReadyForSM_Res,
19321 &ett_gsm_map_ProvideSubscriberInfoArg,
19322 &ett_gsm_map_ProvideSubscriberInfoRes,
19323 &ett_gsm_map_SubscriberInfo,
19324 &ett_gsm_map_MNPInfoRes,
19325 &ett_gsm_map_GPRSMSClass,
19326 &ett_gsm_map_RequestedInfo,
19327 &ett_gsm_map_AnyTimeInterrogationArg,
19328 &ett_gsm_map_AnyTimeInterrogationRes,
19329 &ett_gsm_map_AnyTimeSubscriptionInterrogationArg,
19330 &ett_gsm_map_AnyTimeSubscriptionInterrogationRes,
19331 &ett_gsm_map_RequestedSubscriptionInfo,
19332 &ett_gsm_map_CallForwardingData,
19333 &ett_gsm_map_CallBarringData,
19334 &ett_gsm_map_BasicServiceCode,
19335 &ett_gsm_map_O_BcsmCamelTDPCriteriaList,
19336 &ett_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList,
19337 &ett_gsm_map_O_BcsmCamelTDP_Criteria,
19338 &ett_gsm_map_T_BCSM_CAMEL_TDP_Criteria,
19339 &ett_gsm_map_OfferedCamel4CSIs,
19340 &ett_gsm_map_OfferedCamel4Functionalities,
19341 &ett_gsm_map_SS_ForBS_Code,
19342 &ett_gsm_map_GenericServiceInfo,
19343 &ett_gsm_map_CCBS_FeatureList,
19344 &ett_gsm_map_CCBS_Feature,
19345 &ett_gsm_map_T_CauseValueCriteria,
19346 &ett_gsm_map_O_CauseValueCriteria,
19347 &ett_gsm_map_BasicServiceCriteria,
19348 &ett_gsm_map_AnyTimeModificationArg,
19349 &ett_gsm_map_AnyTimeModificationRes,
19350 &ett_gsm_map_ModificationRequestFor_CF_Info,
19351 &ett_gsm_map_ModificationRequestFor_CB_Info,
19352 &ett_gsm_map_ModificationRequestFor_ODB_data,
19353 &ett_gsm_map_ModificationRequestFor_CSI,
19354 &ett_gsm_map_Ext_SS_InfoFor_CSE,
19355 &ett_gsm_map_NoteSubscriberDataModifiedArg,
19356 &ett_gsm_map_NoteSubscriberDataModifiedRes,
19357 &ett_gsm_map_NoteMM_EventArg,
19358 &ett_gsm_map_NoteMM_EventRes,
19359 &ett_gsm_map_CAMEL_SubscriptionInfo,
19360 &ett_gsm_map_Ext_ForwardingInfoFor_CSE,
19361 &ett_gsm_map_Ext_BasicServiceCode,
19362 &ett_gsm_map_Ext_CallBarringInfoFor_CSE,
19363 &ett_gsm_map_ODB_Info,
19364 &ett_gsm_map_ODB_Data,
19365 &ett_gsm_map_M_CSI,
19366 &ett_gsm_map_SS_EventList,
19367 &ett_gsm_map_T_CSI,
19368 &ett_gsm_map_T_BcsmCamelTDPDataList,
19369 &ett_gsm_map_T_BcsmCamelTDPData,
19370 &ett_gsm_map_SMS_CSI,
19371 &ett_gsm_map_SMS_CAMEL_TDP_DataList,
19372 &ett_gsm_map_SMS_CAMEL_TDP_Data,
19373 &ett_gsm_map_MobilityTriggers,
19374 &ett_gsm_map_Ss_InvocationNotificationArg,
19375 &ett_gsm_map_T_ss_EventSpecification,
19376 &ett_gsm_map_Ss_InvocationNotificationRes,
19377 &ett_gsm_map_PrepareGroupCallArg,
19378 &ett_gsm_map_PrepareGroupCallRes,
19379 &ett_gsm_map_SendGroupCallEndSignalArg,
19380 &ett_gsm_map_SendGroupCallEndSignalRes,
19381 &ett_gsm_map_ProcessGroupCallSignallingArg,
19382 &ett_gsm_map_ForwardGroupCallSignallingArg,
19383 &ett_gsm_map_UpdateGprsLocationArg,
19384 &ett_gsm_map_UpdateGprsLocationRes,
19385 &ett_gsm_map_SGSN_Capability,
19386 &ett_gsm_map_SendRoutingInfoForGprsArg,
19387 &ett_gsm_map_SendRoutingInfoForGprsRes,
19388 &ett_gsm_map_FailureReportArg,
19389 &ett_gsm_map_FailureReportRes,
19390 &ett_gsm_map_NoteMsPresentForGprsArg,
19391 &ett_gsm_map_NoteMsPresentForGprsRes,
19392 &ett_gsm_map_ProvideSubscriberLocation_Arg,
19393 &ett_gsm_map_LocationType,
19394 &ett_gsm_map_DeferredLocationEventType,
19395 &ett_gsm_map_LCS_ClientID,
19396 &ett_gsm_map_LCSClientName,
19397 &ett_gsm_map_LCSRequestorID,
19398 &ett_gsm_map_LCS_QoS,
19399 &ett_gsm_map_ResponseTime,
19400 &ett_gsm_map_SupportedGADShapes,
19401 &ett_gsm_map_LCSCodeword,
19402 &ett_gsm_map_LCS_PrivacyCheck,
19403 &ett_gsm_map_AreaEventInfo,
19404 &ett_gsm_map_AreaDefinition,
19405 &ett_gsm_map_AreaList,
19407 &ett_gsm_map_ProvideSubscriberLocation_Res,
19408 &ett_gsm_map_TargetMS,
19409 &ett_gsm_map_RoutingInfoForLCS_Arg,
19410 &ett_gsm_map_RoutingInfoForLCS_Res,
19411 &ett_gsm_map_LCSLocationInfo,
19412 &ett_gsm_map_SubscriberLocationReport_Arg,
19413 &ett_gsm_map_Deferredmt_lrData,
19414 &ett_gsm_map_SubscriberLocationReport_Res,
19415 &ett_gsm_map_SecureTransportArg,
19416 &ett_gsm_map_SecureTransportRes,
19417 &ett_gsm_map_SecurityHeader,
19418 &ett_gsm_map_OriginalComponentIdentifier,
19419 &ett_gsm_map_OperationCode,
19420 &ett_gsm_map_ErrorCode,
19421 &ett_gsm_map_SystemFailureParam,
19422 &ett_gsm_map_T_extensibleSystemFailureParam,
19423 &ett_gsm_map_DataMissingParam,
19424 &ett_gsm_map_UnexpectedDataParam,
19425 &ett_gsm_map_FacilityNotSupParam,
19426 &ett_gsm_map_OR_NotAllowedParam,
19427 &ett_gsm_map_IncompatibleTerminalParam,
19428 &ett_gsm_map_ResourceLimitationParam,
19429 &ett_gsm_map_UnknownSubscriberParam,
19430 &ett_gsm_map_NumberChangedParam,
19431 &ett_gsm_map_UnidentifiedSubParam,
19432 &ett_gsm_map_RoamingNotAllowedParam,
19433 &ett_gsm_map_IllegalSubscriberParam,
19434 &ett_gsm_map_IllegalEquipmentParam,
19435 &ett_gsm_map_BearerServNotProvParam,
19436 &ett_gsm_map_TeleservNotProvParam,
19437 &ett_gsm_map_TracingBufferFullParam,
19438 &ett_gsm_map_NoRoamingNbParam,
19439 &ett_gsm_map_AbsentSubscriberParam,
19440 &ett_gsm_map_BusySubscriberParam,
19441 &ett_gsm_map_NoSubscriberReplyParam,
19442 &ett_gsm_map_ForwardingViolationParam,
19443 &ett_gsm_map_ForwardingFailedParam,
19444 &ett_gsm_map_ATI_NotAllowedParam,
19445 &ett_gsm_map_ATSI_NotAllowedParam,
19446 &ett_gsm_map_ATM_NotAllowedParam,
19447 &ett_gsm_map_IllegalSS_OperationParam,
19448 &ett_gsm_map_SS_NotAvailableParam,
19449 &ett_gsm_map_SS_SubscriptionViolationParam,
19450 &ett_gsm_map_InformationNotAvailableParam,
19451 &ett_gsm_map_SubBusyForMT_SMS_Param,
19452 &ett_gsm_map_CallBarredParam,
19453 &ett_gsm_map_ExtensibleCallBarredParam,
19454 &ett_gsm_map_CUG_RejectParam,
19455 &ett_gsm_map_Or_NotAllowedParam,
19456 &ett_gsm_map_Cug_RejectParam,
19457 &ett_gsm_map_NoGroupCallNbParam,
19458 &ett_gsm_map_SS_IncompatibilityCause,
19459 &ett_gsm_map_ShortTermDenialParam,
19460 &ett_gsm_map_LongTermDenialParam,
19461 &ett_gsm_map_SM_DeliveryFailureCause,
19462 &ett_gsm_map_MessageWaitListFullParam,
19463 &ett_gsm_map_AbsentSubscriberSM_Param,
19464 &ett_gsm_map_UnauthorizedRequestingNetwork_Param,
19465 &ett_gsm_map_UnauthorizedLCSClient_Param,
19466 &ett_gsm_map_PositionMethodFailure_Param,
19467 &ett_gsm_map_UnknownOrUnreachableLCSClient_Param,
19468 &ett_gsm_map_MM_EventNotSupported_Param,
19469 &ett_gsm_map_TargetCellOutsideGCA_Param,
19470 &ett_gsm_map_SecureTransportErrorParam,
19471 &ett_gsm_map_ExtensionContainer,
19473 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
19474 #line 1762 "packet-gsm_map-template.c"
19477 /* Register protocol */
19478 proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
19479 /*XXX register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);*/
19480 /* Register fields and subtrees */
19481 proto_register_field_array(proto_gsm_map, hf, array_length(hf));
19482 proto_register_subtree_array(ett, array_length(ett));
19484 sms_dissector_table = register_dissector_table("gsm_map.sms_tpdu",
19485 "GSM SMS TPDU", FT_UINT8,
19488 gsm_map_tap = register_tap("gsm_map");
19489 /*register_ber_oid_name("0.4.0.0.1.0.1.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)" );
19491 * Register our configuration options, particularly our ssn:s
19494 range_convert_str(&global_ssn_range, "6-9", MAX_SSN);
19495 ssn_range = range_empty();
19498 gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
19500 prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs",
19501 "TCAP Subsystem numbers used for GSM MAP",
19502 &global_ssn_range, MAX_SSN);