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 /* packet-gsm_map-template.c
9 * Routines for GSM MobileApplication packet dissection
10 * Copyright 2004 - 2005 , Anders Broman <anders.broman [AT] ericsson.com>
11 * Based on the dissector by:
12 * Felix Fei <felix.fei [AT] utstar.com>
13 * and Michael Lum <mlum [AT] telostech.com>
17 * Ethereal - Network traffic analyzer
18 * By Gerald Combs <gerald@ethereal.com>
19 * Copyright 1998 Gerald Combs
21 * This program is free software; you can redistribute it and/or
22 * modify it under the terms of the GNU General Public License
23 * as published by the Free Software Foundation; either version 2
24 * of the License, or (at your option) any later version.
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 * GNU General Public License for more details.
31 * You should have received a copy of the GNU General Public License
32 * along with this program; if not, write to the Free Software
33 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 * References: ETSI TS 129 002
35 * Updated to ETSI TS 129 002 V6.9.0 (2005-3GPP TS 29.002 version 6.9.0 Release 6)
43 #include <epan/packet.h>
44 #include <epan/prefs.h>
45 #include <epan/conversation.h>
51 #include "packet-ber.h"
52 #include "packet-q931.h"
53 #include "packet-gsm_map.h"
54 #include "packet-gsm_a.h"
56 #define PNAME "GSM Mobile Application"
57 #define PSNAME "GSM_MAP"
58 #define PFNAME "gsm_map"
60 /* Initialize the protocol and registered fields */
61 int proto_gsm_map = -1;
62 static int hf_gsm_map_invokeCmd = -1; /* Opcode */
63 static int hf_gsm_map_invokeid = -1; /* INTEGER */
64 static int hf_gsm_map_absent = -1; /* NULL */
65 static int hf_gsm_map_invokeId = -1; /* InvokeId */
66 static int hf_gsm_map_invoke = -1; /* InvokePDU */
67 static int hf_gsm_map_returnResult = -1; /* InvokePDU */
68 static int hf_gsm_map_returnResult_result = -1;
69 static int hf_gsm_map_returnError_result = -1;
70 static int hf_gsm_map_returnError = -1;
71 static int hf_gsm_map_local_errorCode = -1;
72 static int hf_gsm_map_global_errorCode_oid = -1;
73 static int hf_gsm_map_global_errorCode = -1;
74 static int hf_gsm_map_SendAuthenticationInfoArg = -1;
75 static int hf_gsm_map_SendAuthenticationInfoRes = -1;
76 static int hf_gsm_mapSendEndSignal = -1;
77 static int hf_gsm_map_getPassword = -1;
78 static int hf_gsm_map_currentPassword = -1;
79 static int hf_gsm_map_extension = -1;
80 static int hf_gsm_map_nature_of_number = -1;
81 static int hf_gsm_map_number_plan = -1;
82 static int hf_gsm_map_isdn_address_digits = -1;
83 static int hf_gsm_map_servicecentreaddress_digits = -1;
84 static int hf_gsm_map_imsi_digits = -1;
85 static int hf_gsm_map_Ss_Status_unused = -1;
86 static int hf_gsm_map_Ss_Status_q_bit = -1;
87 static int hf_gsm_map_Ss_Status_p_bit = -1;
88 static int hf_gsm_map_Ss_Status_r_bit = -1;
89 static int hf_gsm_map_Ss_Status_a_bit = -1;
92 /*--- Included file: packet-gsm_map-hf.c ---*/
94 static int hf_gsm_map_protocolId = -1; /* ProtocolId */
95 static int hf_gsm_map_signalInfo = -1; /* SignalInfo */
96 static int hf_gsm_map_extensionContainer = -1; /* ExtensionContainer */
97 static int hf_gsm_map_imsi = -1; /* IMSI */
98 static int hf_gsm_map_msc_Number = -1; /* ISDN_AddressString */
99 static int hf_gsm_map_vlr_Number = -1; /* ISDN_AddressString */
100 static int hf_gsm_map_lmsi = -1; /* LMSI */
101 static int hf_gsm_map_vlr_Capability = -1; /* VLR_Capability */
102 static int hf_gsm_map_informPreviousNetworkEntity = -1; /* NULL */
103 static int hf_gsm_map_cs_LCS_NotSupportedByUE = -1; /* NULL */
104 static int hf_gsm_map_v_gmlc_Address = -1; /* GSN_Address */
105 static int hf_gsm_map_add_info = -1; /* ADD_Info */
106 static int hf_gsm_map_hlr_Number = -1; /* ISDN_AddressString */
107 static int hf_gsm_map_add_Capability = -1; /* NULL */
108 static int hf_gsm_map_supportedCamelPhases = -1; /* SupportedCamelPhases */
109 static int hf_gsm_map_solsaSupportIndicator = -1; /* NULL */
110 static int hf_gsm_map_istSupportIndicator = -1; /* IST_SupportIndicator */
111 static int hf_gsm_map_superChargerSupportedInServingNetworkEntity = -1; /* SuperChargerInfo */
112 static int hf_gsm_map_longFTN_Supported = -1; /* NULL */
113 static int hf_gsm_map_supportedLCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
114 static int hf_gsm_map_offeredCamel4CSIs = -1; /* OfferedCamel4CSIs */
115 static int hf_gsm_map_sendSubscriberData = -1; /* NULL */
116 static int hf_gsm_map_subscriberDataStored = -1; /* AgeIndicator */
117 static int hf_gsm_map_imeisv = -1; /* IMEI */
118 static int hf_gsm_map_skipSubscriberDataUpdate = -1; /* NULL */
119 static int hf_gsm_map_PrivateExtensionList_item = -1; /* PrivateExtension */
120 static int hf_gsm_map_extId = -1; /* OBJECT_IDENTIFIER */
121 static int hf_gsm_map_extType = -1; /* T_extType */
122 static int hf_gsm_map_privateExtensionList = -1; /* PrivateExtensionList */
123 static int hf_gsm_map_slr_Arg_PCS_Extensions = -1; /* SLR_Arg_PCS_Extensions */
124 static int hf_gsm_map_na_ESRK_Request = -1; /* NULL */
125 static int hf_gsm_map_identity = -1; /* Identity */
126 static int hf_gsm_map_cancellationType = -1; /* CancellationType */
127 static int hf_gsm_map_sgsn_Number = -1; /* ISDN_AddressString */
128 static int hf_gsm_map_freezeTMSI = -1; /* NULL */
129 static int hf_gsm_map_freezeP_TMSI = -1; /* NULL */
130 static int hf_gsm_map_tmsi = -1; /* TMSI */
131 static int hf_gsm_map_numberOfRequestedVectors = -1; /* NumberOfRequestedVectors */
132 static int hf_gsm_map_segmentationProhibited = -1; /* NULL */
133 static int hf_gsm_map_previous_LAI = -1; /* LAIFixedLength */
134 static int hf_gsm_map_hopCounter = -1; /* HopCounter */
135 static int hf_gsm_map_authenticationSetList = -1; /* AuthenticationSetList */
136 static int hf_gsm_map_currentSecurityContext = -1; /* CurrentSecurityContext */
137 static int hf_gsm_map_tripletList = -1; /* TripletList */
138 static int hf_gsm_map_quintupletList = -1; /* QuintupletList */
139 static int hf_gsm_map_TripletList_item = -1; /* AuthenticationTriplet */
140 static int hf_gsm_map_QuintupletList_item = -1; /* AuthenticationQuintuplet */
141 static int hf_gsm_map_rand = -1; /* RAND */
142 static int hf_gsm_map_sres = -1; /* SRES */
143 static int hf_gsm_map_kc = -1; /* Kc */
144 static int hf_gsm_map_xres = -1; /* XRES */
145 static int hf_gsm_map_ck = -1; /* CK */
146 static int hf_gsm_map_ik = -1; /* IK */
147 static int hf_gsm_map_autn = -1; /* AUTN */
148 static int hf_gsm_map_gsm_SecurityContextData = -1; /* GSM_SecurityContextData */
149 static int hf_gsm_map_umts_SecurityContextData = -1; /* UMTS_SecurityContextData */
150 static int hf_gsm_map_cksn = -1; /* Cksn */
151 static int hf_gsm_map_ksi = -1; /* KSI */
152 static int hf_gsm_map_targetCellId = -1; /* GlobalCellId */
153 static int hf_gsm_map_ho_NumberNotRequired = -1; /* NULL */
154 static int hf_gsm_map_bss_APDU = -1; /* Bss_APDU */
155 static int hf_gsm_map_targetRNCId = -1; /* RNCId */
156 static int hf_gsm_map_an_APDU = -1; /* AccessNetworkSignalInfo */
157 static int hf_gsm_map_multipleBearerRequested = -1; /* NULL */
158 static int hf_gsm_map_integrityProtectionInfo = -1; /* IntegrityProtectionInformation */
159 static int hf_gsm_map_encryptionInfo = -1; /* EncryptionInformation */
160 static int hf_gsm_map_radioResourceInformation = -1; /* RadioResourceInformation */
161 static int hf_gsm_map_allowedGSM_Algorithms = -1; /* AllowedGSM_Algorithms */
162 static int hf_gsm_map_allowedUMTS_Algorithms = -1; /* AllowedUMTS_Algorithms */
163 static int hf_gsm_map_radioResourceList = -1; /* RadioResourceList */
164 static int hf_gsm_map_rab_Id = -1; /* RAB_Id */
165 static int hf_gsm_map_bssmap_ServiceHandover = -1; /* BSSMAP_ServiceHandover */
166 static int hf_gsm_map_ranap_ServiceHandover = -1; /* RANAP_ServiceHandover */
167 static int hf_gsm_map_bssmap_ServiceHandoverList = -1; /* BSSMAP_ServiceHandoverList */
168 static int hf_gsm_map_asciCallReference = -1; /* ASCI_CallReference */
169 static int hf_gsm_map_geran_classmark = -1; /* GERAN_Classmark */
170 static int hf_gsm_map_iuCurrentlyUsedCodec = -1; /* Codec */
171 static int hf_gsm_map_iuSupportedCodecsList = -1; /* SupportedCodecsList */
172 static int hf_gsm_map_rab_ConfigurationIndicator = -1; /* NULL */
173 static int hf_gsm_map_uesbi_Iu = -1; /* UESBI_Iu */
174 static int hf_gsm_map_BSSMAP_ServiceHandoverList_item = -1; /* BSSMAP_ServiceHandoverInfo */
175 static int hf_gsm_map_RadioResourceList_item = -1; /* RadioResource */
176 static int hf_gsm_map_handoverNumber = -1; /* ISDN_AddressString */
177 static int hf_gsm_map_relocationNumberList = -1; /* RelocationNumberList */
178 static int hf_gsm_map_multicallBearerInfo = -1; /* MulticallBearerInfo */
179 static int hf_gsm_map_multipleBearerNotSupported = -1; /* NULL */
180 static int hf_gsm_map_selectedUMTS_Algorithms = -1; /* SelectedUMTS_Algorithms */
181 static int hf_gsm_map_chosenRadioResourceInformation = -1; /* ChosenRadioResourceInformation */
182 static int hf_gsm_map_iuSelectedCodec = -1; /* Codec */
183 static int hf_gsm_map_iuAvailableCodecsList = -1; /* CodecList */
184 static int hf_gsm_map_integrityProtectionAlgorithm = -1; /* ChosenIntegrityProtectionAlgorithm */
185 static int hf_gsm_map_encryptionAlgorithm = -1; /* ChosenEncryptionAlgorithm */
186 static int hf_gsm_map_chosenChannelInfo = -1; /* ChosenChannelInfo */
187 static int hf_gsm_map_chosenSpeechVersion = -1; /* ChosenSpeechVersion */
188 static int hf_gsm_map_RelocationNumberList_item = -1; /* RelocationNumber */
189 static int hf_gsm_map_selectedGSM_Algorithm = -1; /* SelectedGSM_Algorithm */
190 static int hf_gsm_map_selectedRab_Id = -1; /* RAB_Id */
191 static int hf_gsm_map_iUSelectedCodec = -1; /* Codec */
192 static int hf_gsm_map_utranCodecList = -1; /* CodecList */
193 static int hf_gsm_map_geranCodecList = -1; /* CodecList */
194 static int hf_gsm_map_codec1 = -1; /* Codec */
195 static int hf_gsm_map_codec2 = -1; /* Codec */
196 static int hf_gsm_map_codec3 = -1; /* Codec */
197 static int hf_gsm_map_codec4 = -1; /* Codec */
198 static int hf_gsm_map_codec5 = -1; /* Codec */
199 static int hf_gsm_map_codec6 = -1; /* Codec */
200 static int hf_gsm_map_codec7 = -1; /* Codec */
201 static int hf_gsm_map_codec8 = -1; /* Codec */
202 static int hf_gsm_map_keyStatus = -1; /* KeyStatus */
203 static int hf_gsm_map_currentlyUsedCodec = -1; /* Codec */
204 static int hf_gsm_map_integrityProtectionAlgorithms = -1; /* PermittedIntegrityProtectionAlgorithms */
205 static int hf_gsm_map_encryptionAlgorithms = -1; /* PermittedEncryptionAlgorithms */
206 static int hf_gsm_map_targetMSC_Number = -1; /* ISDN_AddressString */
207 static int hf_gsm_map_immediateResponsePreferred = -1; /* NULL */
208 static int hf_gsm_map_re_synchronisationInfo = -1; /* Re_synchronisationInfo */
209 static int hf_gsm_map_requestingNodeType = -1; /* RequestingNodeType */
210 static int hf_gsm_map_requestingPLMN_Id = -1; /* PLMN_Id */
211 static int hf_gsm_map_SendAuthenticationInfoRes_item = -1; /* SendAuthenticationInfoRes_item */
212 static int hf_gsm_map_auts = -1; /* AUTS */
213 static int hf_gsm_map_imei = -1; /* IMEI */
214 static int hf_gsm_map_requestedEquipmentInfo = -1; /* RequestedEquipmentInfo */
215 static int hf_gsm_map_equipmentStatus = -1; /* EquipmentStatus */
216 static int hf_gsm_map_bmuef = -1; /* UESBI_Iu */
217 static int hf_gsm_map_uesbi_IuA = -1; /* UESBI_IuA */
218 static int hf_gsm_map_uesbi_IuB = -1; /* UESBI_IuB */
219 static int hf_gsm_map_bearerservice = -1; /* Bearerservice */
220 static int hf_gsm_map_teleservice = -1; /* Teleservice */
221 static int hf_gsm_map_BasicServiceGroupList_item = -1; /* BasicService */
222 static int hf_gsm_map_bcsmTriggerDetectionPoint = -1; /* BcsmTriggerDetectionPoint */
223 static int hf_gsm_map_serviceKey = -1; /* ServiceKey */
224 static int hf_gsm_map_gsmSCFAddress = -1; /* GsmSCF_Address */
225 static int hf_gsm_map_defaultCallHandling = -1; /* DefaultCallHandling */
226 static int hf_gsm_map_BcsmCamelTDPDataList_item = -1; /* BcsmCamelTDPData */
227 static int hf_gsm_map_o_BcsmCamelTDPDataList = -1; /* O_BcsmCamelTDPDataList */
228 static int hf_gsm_map_camelCapabilityHandling = -1; /* CamelCapabilityHandling */
229 static int hf_gsm_map_notificationToCSE = -1; /* NULL */
230 static int hf_gsm_map_csiActive = -1; /* NULL */
231 static int hf_gsm_map_O_BcsmCamelTDPDataList_item = -1; /* O_BcsmCamelTDPData */
232 static int hf_gsm_map_o_BcsmTriggerDetectionPoint = -1; /* O_BcsmTriggerDetectionPoint */
233 static int hf_gsm_map_gsmSCF_Address = -1; /* ISDN_AddressString */
234 static int hf_gsm_map_msisdn = -1; /* ISDN_AddressString */
235 static int hf_gsm_map_category = -1; /* Category */
236 static int hf_gsm_map_subscriberStatus = -1; /* SubscriberStatus */
237 static int hf_gsm_map_bearerserviceList = -1; /* BearerServiceList */
238 static int hf_gsm_map_teleserviceList = -1; /* TeleserviceList */
239 static int hf_gsm_map_provisionedSS = -1; /* Ext_SS_InfoList */
240 static int hf_gsm_map_odb_Data = -1; /* ODB_Data */
241 static int hf_gsm_map_roamingRestrictionDueToUnsupportedFeature = -1; /* NULL */
242 static int hf_gsm_map_regionalSubscriptionData = -1; /* ZoneCodeList */
243 static int hf_gsm_map_vbsSubscriptionData = -1; /* VBSDataList */
244 static int hf_gsm_map_vgcsSubscriptionData = -1; /* VGCSDataList */
245 static int hf_gsm_map_vlrCamelSubscriptionInfo = -1; /* VlrCamelSubscriptionInfo */
246 static int hf_gsm_map_naea_PreferredCI = -1; /* NAEA_PreferredCI */
247 static int hf_gsm_map_gprsSubscriptionData = -1; /* GPRSSubscriptionData */
248 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature = -1; /* NULL */
249 static int hf_gsm_map_networkAccessMode = -1; /* NetworkAccessMode */
250 static int hf_gsm_map_lsaInformation = -1; /* LSAInformation */
251 static int hf_gsm_map_lmu_Indicator = -1; /* NULL */
252 static int hf_gsm_map_lcsInformation = -1; /* LCSInformation */
253 static int hf_gsm_map_istAlertTimer = -1; /* IST_AlertTimerValue */
254 static int hf_gsm_map_superChargerSupportedInHLR = -1; /* AgeIndicator */
255 static int hf_gsm_map_mc_SS_Info = -1; /* MC_SS_Info */
256 static int hf_gsm_map_cs_AllocationRetentionPriority = -1; /* CS_AllocationRetentionPriority */
257 static int hf_gsm_map_sgsn_CAMEL_SubscriptionInfo = -1; /* SGSN_CAMEL_SubscriptionInfo */
258 static int hf_gsm_map_chargingCharacteristics = -1; /* ChargingCharacteristics */
259 static int hf_gsm_map_accessRestrictionData = -1; /* AccessRestrictionData */
260 static int hf_gsm_map_gmlc_List = -1; /* GMLC_List */
261 static int hf_gsm_map_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */
262 static int hf_gsm_map_molr_List = -1; /* MOLR_List */
263 static int hf_gsm_map_add_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */
264 static int hf_gsm_map_GMLC_List_item = -1; /* ISDN_AddressString */
265 static int hf_gsm_map_GPRSDataList_item = -1; /* PDP_Context */
266 static int hf_gsm_map_pdp_ContextId = -1; /* ContextId */
267 static int hf_gsm_map_pdp_Type = -1; /* PDP_Type */
268 static int hf_gsm_map_pdp_Address = -1; /* PDP_Address */
269 static int hf_gsm_map_qos_Subscribed = -1; /* QoS_Subscribed */
270 static int hf_gsm_map_vplmnAddressAllowed = -1; /* NULL */
271 static int hf_gsm_map_apn = -1; /* APN */
272 static int hf_gsm_map_ext_QoS_Subscribed = -1; /* Ext_QoS_Subscribed */
273 static int hf_gsm_map_pdp_ChargingCharacteristics = -1; /* ChargingCharacteristics */
274 static int hf_gsm_map_ext2_QoS_Subscribed = -1; /* Ext2_QoS_Subscribed */
275 static int hf_gsm_map_completeDataListIncluded = -1; /* NULL */
276 static int hf_gsm_map_gprsDataList = -1; /* GPRSDataList */
277 static int hf_gsm_map_gprs_CSI = -1; /* GPRS_CSI */
278 static int hf_gsm_map_mo_sms_CSI = -1; /* SMS_CSI */
279 static int hf_gsm_map_mt_sms_CSI = -1; /* SMS_CSI */
280 static int hf_gsm_map_mt_smsCAMELTDP_CriteriaList = -1; /* MT_smsCAMELTDP_CriteriaList */
281 static int hf_gsm_map_mg_csi = -1; /* MG_CSI */
282 static int hf_gsm_map_gprs_CamelTDPDataList = -1; /* GPRS_CamelTDPDataList */
283 static int hf_gsm_map_csi_Active = -1; /* NULL */
284 static int hf_gsm_map_GPRS_CamelTDPDataList_item = -1; /* GPRS_CamelTDPData */
285 static int hf_gsm_map_gprs_TriggerDetectionPoint = -1; /* GPRS_TriggerDetectionPoint */
286 static int hf_gsm_map_defaultSessionHandling = -1; /* DefaultGPRS_Handling */
287 static int hf_gsm_map_LSADataList_item = -1; /* LSAData */
288 static int hf_gsm_map_lsaIdentity = -1; /* LSAIdentity */
289 static int hf_gsm_map_lsaAttributes = -1; /* LSAAttributes */
290 static int hf_gsm_map_lsaActiveModeIndicator = -1; /* NULL */
291 static int hf_gsm_map_lsaOnlyAccessIndicator = -1; /* LSAOnlyAccessIndicator */
292 static int hf_gsm_map_lsaDataList = -1; /* LSADataList */
293 static int hf_gsm_map_bearerServiceList = -1; /* BearerServiceList */
294 static int hf_gsm_map_ss_List = -1; /* SS_List */
295 static int hf_gsm_map_odb_GeneralData = -1; /* ODB_GeneralData */
296 static int hf_gsm_map_regionalSubscriptionResponse = -1; /* RegionalSubscriptionResponse */
297 static int hf_gsm_map_basicServiceList = -1; /* BasicServiceList */
298 static int hf_gsm_map_regionalSubscriptionIdentifier = -1; /* ZoneCode */
299 static int hf_gsm_map_vbsGroupIndication = -1; /* NULL */
300 static int hf_gsm_map_vgcsGroupIndication = -1; /* NULL */
301 static int hf_gsm_map_camelSubscriptionInfoWithdraw = -1; /* NULL */
302 static int hf_gsm_map_gprsSubscriptionDataWithdraw = -1; /* GPRSSubscriptionDataWithdraw */
303 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1; /* NULL */
304 static int hf_gsm_map_lsaInformationWithdraw = -1; /* LSAInformationWithdraw */
305 static int hf_gsm_map_gmlc_ListWithdraw = -1; /* NULL */
306 static int hf_gsm_map_istInformationWithdraw = -1; /* NULL */
307 static int hf_gsm_map_specificCSI_Withdraw = -1; /* SpecificCSI_Withdraw */
308 static int hf_gsm_map_chargingCharacteristicsWithdraw = -1; /* NULL */
309 static int hf_gsm_map_allGPRSData = -1; /* NULL */
310 static int hf_gsm_map_contextIdList = -1; /* ContextIdList */
311 static int hf_gsm_map_ContextIdList_item = -1; /* ContextId */
312 static int hf_gsm_map_allLSAData = -1; /* NULL */
313 static int hf_gsm_map_lsaIdentityList = -1; /* LSAIdentityList */
314 static int hf_gsm_map_LSAIdentityList_item = -1; /* LSAIdentity */
315 static int hf_gsm_map_BasicServiceList_item = -1; /* Ext_BasicServiceCode */
316 static int hf_gsm_map_o_CSI = -1; /* O_CSI */
317 static int hf_gsm_map_ss_CSI = -1; /* SS_CSI */
318 static int hf_gsm_map_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
319 static int hf_gsm_map_tif_CSI = -1; /* NULL */
320 static int hf_gsm_map_m_CSI = -1; /* M_CSI */
321 static int hf_gsm_map_vt_CSI = -1; /* T_CSI */
322 static int hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
323 static int hf_gsm_map_d_CSI = -1; /* D_CSI */
324 static int hf_gsm_map_MT_smsCAMELTDP_CriteriaList_item = -1; /* MT_smsCAMELTDP_Criteria */
325 static int hf_gsm_map_sms_TriggerDetectionPoint = -1; /* SMS_TriggerDetectionPoint */
326 static int hf_gsm_map_tpdu_TypeCriterion = -1; /* TPDU_TypeCriterion */
327 static int hf_gsm_map_TPDU_TypeCriterion_item = -1; /* MT_SMS_TPDU_Type */
328 static int hf_gsm_map_dp_AnalysedInfoCriteriaList = -1; /* DP_AnalysedInfoCriteriaList */
329 static int hf_gsm_map_DP_AnalysedInfoCriteriaList_item = -1; /* DP_AnalysedInfoCriterium */
330 static int hf_gsm_map_dialledNumber = -1; /* ISDN_AddressString */
331 static int hf_gsm_map_ss_CamelData = -1; /* SS_CamelData */
332 static int hf_gsm_map_ss_EventList = -1; /* SS_EventList */
333 static int hf_gsm_map_mobilityTriggers = -1; /* MobilityTriggers */
334 static int hf_gsm_map_BearerServiceList_item = -1; /* Ext_BearerServiceCode */
335 static int hf_gsm_map_TeleserviceList_item = -1; /* Ext_TeleserviceCode */
336 static int hf_gsm_map_Ext_SS_InfoList_item = -1; /* Ext_SS_Info */
337 static int hf_gsm_map_ext_forwardingInfo = -1; /* Ext_ForwInfo */
338 static int hf_gsm_map_ext_callBarringInfo = -1; /* Ext_CallBarInfo */
339 static int hf_gsm_map_cug_Info = -1; /* CUG_Info */
340 static int hf_gsm_map_ext_ss_Data = -1; /* Ext_SS_Data */
341 static int hf_gsm_map_emlpp_Info = -1; /* EMLPP_Info */
342 static int hf_gsm_map_ss_Code = -1; /* SS_Code */
343 static int hf_gsm_map_ext_forwardingFeatureList = -1; /* Ext_ForwFeatureList */
344 static int hf_gsm_map_Ext_ForwFeatureList_item = -1; /* Ext_ForwFeature */
345 static int hf_gsm_map_ext_basicService = -1; /* Ext_BasicServiceCode */
346 static int hf_gsm_map_ext_ss_Status = -1; /* Ext_SS_Status */
347 static int hf_gsm_map_forwardedToNumber = -1; /* ISDN_AddressString */
348 static int hf_gsm_map_forwardedToSubaddress = -1; /* ISDN_SubaddressString */
349 static int hf_gsm_map_ext_forwardingOptions = -1; /* Ext_ForwOptions */
350 static int hf_gsm_map_ext_noReplyConditionTime = -1; /* Ext_NoRepCondTime */
351 static int hf_gsm_map_longForwardedToNumber = -1; /* FTN_AddressString */
352 static int hf_gsm_map_ext_callBarringFeatureList = -1; /* Ext_CallBarFeatureList */
353 static int hf_gsm_map_Ext_CallBarFeatureList_item = -1; /* Ext_CallBarringFeature */
354 static int hf_gsm_map_ZoneCodeList_item = -1; /* ZoneCode */
355 static int hf_gsm_map_maximumentitledPriority = -1; /* EMLPP_Priority */
356 static int hf_gsm_map_defaultPriority = -1; /* EMLPP_Priority */
357 static int hf_gsm_map_cug_SubscriptionList = -1; /* CUG_SubscriptionList */
358 static int hf_gsm_map_cug_FeatureList = -1; /* CUG_FeatureList */
359 static int hf_gsm_map_CUG_SubscriptionList_item = -1; /* CUG_Subscription */
360 static int hf_gsm_map_cug_Index = -1; /* CUG_Index */
361 static int hf_gsm_map_cug_Interlock = -1; /* CUG_Interlock */
362 static int hf_gsm_map_intraCUG_Options = -1; /* IntraCUG_Options */
363 static int hf_gsm_map_basicServiceGroupList = -1; /* Ext_BasicServiceGroupList */
364 static int hf_gsm_map_CUG_FeatureList_item = -1; /* CUG_Feature */
365 static int hf_gsm_map_Ext_BasicServiceGroupList_item = -1; /* Ext_BasicServiceCode */
366 static int hf_gsm_map_preferentialCUG_Indicator = -1; /* CUG_Index */
367 static int hf_gsm_map_interCUG_Restrictions = -1; /* InterCUG_Restrictions */
368 static int hf_gsm_map_ss_SubscriptionOption = -1; /* SS_SubscriptionOption */
369 static int hf_gsm_map_LCS_PrivacyExceptionList_item = -1; /* LCS_PrivacyClass */
370 static int hf_gsm_map_notificationToMSUser = -1; /* NotificationToMSUser */
371 static int hf_gsm_map_externalClientList = -1; /* ExternalClientList */
372 static int hf_gsm_map_plmnClientList = -1; /* PLMNClientList */
373 static int hf_gsm_map_ext_externalClientList = -1; /* Ext_ExternalClientList */
374 static int hf_gsm_map_serviceTypeList = -1; /* ServiceTypeList */
375 static int hf_gsm_map_ExternalClientList_item = -1; /* ExternalClient */
376 static int hf_gsm_map_PLMNClientList_item = -1; /* LCSClientInternalID */
377 static int hf_gsm_map_Ext_ExternalClientList_item = -1; /* ExternalClient */
378 static int hf_gsm_map_clientIdentity = -1; /* LCSClientExternalID */
379 static int hf_gsm_map_gmlc_Restriction = -1; /* GMLC_Restriction */
380 static int hf_gsm_map_ServiceTypeList_item = -1; /* ServiceType */
381 static int hf_gsm_map_serviceTypeIdentity = -1; /* LCSServiceTypeID */
382 static int hf_gsm_map_MOLR_List_item = -1; /* MOLR_Class */
383 static int hf_gsm_map_CallBarringFeatureList_item = -1; /* CallBarringFeature */
384 static int hf_gsm_map_basicService = -1; /* BasicServiceCode */
385 static int hf_gsm_map_ss_Status = -1; /* SS_Status */
386 static int hf_gsm_map_ForwardingFeatureList_item = -1; /* ForwardingFeature */
387 static int hf_gsm_map_forwardingOptions = -1; /* ForwardingOptions */
388 static int hf_gsm_map_noReplyConditionTime = -1; /* NoReplyConditionTime */
389 static int hf_gsm_map_matchType = -1; /* MatchType */
390 static int hf_gsm_map_destinationNumberList = -1; /* DestinationNumberList */
391 static int hf_gsm_map_destinationNumberLengthList = -1; /* DestinationNumberLengthList */
392 static int hf_gsm_map_DestinationNumberList_item = -1; /* ISDN_AddressString */
393 static int hf_gsm_map_DestinationNumberLengthList_item = -1; /* INTEGER_1_15 */
394 static int hf_gsm_map_forwardingFeatureList = -1; /* ForwardingFeatureList */
395 static int hf_gsm_map_callBarringFeatureList = -1; /* CallBarringFeatureList */
396 static int hf_gsm_map_nbrSB = -1; /* MaxMC_Bearers */
397 static int hf_gsm_map_nbrUser = -1; /* MC_Bearers */
398 static int hf_gsm_map_hlr_List = -1; /* HLR_List */
399 static int hf_gsm_map_msNotReachable = -1; /* NULL */
400 static int hf_gsm_map_VBSDataList_item = -1; /* VoiceBroadcastData */
401 static int hf_gsm_map_VGCSDataList_item = -1; /* VoiceGroupCallData */
402 static int hf_gsm_map_groupId = -1; /* GroupId */
403 static int hf_gsm_map_groupid = -1; /* GroupId */
404 static int hf_gsm_map_broadcastInitEntitlement = -1; /* NULL */
405 static int hf_gsm_map_traceReference = -1; /* OCTET_STRING_SIZE_1_2 */
406 static int hf_gsm_map_traceType = -1; /* INTEGER_0_255 */
407 static int hf_gsm_map_omc_Id = -1; /* OCTET_STRING_SIZE_1_20 */
408 static int hf_gsm_map_cug_CheckInfo = -1; /* CUG_CheckInfo */
409 static int hf_gsm_map_numberOfForwarding = -1; /* NumberOfForwarding */
410 static int hf_gsm_map_interrogationType = -1; /* InterrogationType */
411 static int hf_gsm_map_or_Interrogation = -1; /* NULL */
412 static int hf_gsm_map_or_Capability = -1; /* OR_Phase */
413 static int hf_gsm_map_gmsc_OrGsmSCF_Address = -1; /* ISDN_AddressString */
414 static int hf_gsm_map_callReferenceNumber = -1; /* CallReferenceNumber */
415 static int hf_gsm_map_forwardingReason = -1; /* ForwardingReason */
416 static int hf_gsm_map_ext_basicServiceGroup = -1; /* Ext_BasicServiceCode */
417 static int hf_gsm_map_networkSignalInfo = -1; /* ExternalSignalInfo */
418 static int hf_gsm_map_camelInfo = -1; /* CamelInfo */
419 static int hf_gsm_map_suppressionOfAnnouncement = -1; /* SuppressionOfAnnouncement */
420 static int hf_gsm_map_alertingPattern = -1; /* AlertingPattern */
421 static int hf_gsm_map_ccbs_Call = -1; /* NULL */
422 static int hf_gsm_map_supportedCCBS_Phase = -1; /* SupportedCCBS_Phase */
423 static int hf_gsm_map_additionalSignalInfo = -1; /* Ext_ExternalSignalInfo */
424 static int hf_gsm_map_pre_pagingSupported = -1; /* NULL */
425 static int hf_gsm_map_callDiversionTreatmentIndicator = -1; /* CallDiversionTreatmentIndicator */
426 static int hf_gsm_map_suppress_VT_CSI = -1; /* NULL */
427 static int hf_gsm_map_suppressIncomingCallBarring = -1; /* NULL */
428 static int hf_gsm_map_gsmSCF_InitiatedCall = -1; /* NULL */
429 static int hf_gsm_map_basicServiceGroup2 = -1; /* Ext_BasicServiceCode */
430 static int hf_gsm_map_networkSignalInfo2 = -1; /* ExternalSignalInfo */
431 static int hf_gsm_map_extendedRoutingInfo = -1; /* ExtendedRoutingInfo */
432 static int hf_gsm_map_cugSubscriptionFlag = -1; /* NULL */
433 static int hf_gsm_map_subscriberInfo = -1; /* SubscriberInfo */
434 static int hf_gsm_map_forwardingInterrogationRequired = -1; /* NULL */
435 static int hf_gsm_map_vmsc_Address = -1; /* ISDN_AddressString */
436 static int hf_gsm_map_ccbs_Indicators = -1; /* CCBS_Indicators */
437 static int hf_gsm_map_numberPortabilityStatus = -1; /* NumberPortabilityStatus */
438 static int hf_gsm_map_supportedCamelPhasesInVMSC = -1; /* SupportedCamelPhases */
439 static int hf_gsm_map_offeredCamel4CSIsInVMSC = -1; /* OfferedCamel4CSIs */
440 static int hf_gsm_map_routingInfo2 = -1; /* RoutingInfo */
441 static int hf_gsm_map_ss_List2 = -1; /* SS_List */
442 static int hf_gsm_map_basicService2 = -1; /* Ext_BasicServiceCode */
443 static int hf_gsm_map_allowedServices = -1; /* AllowedServices */
444 static int hf_gsm_map_unavailabilityCause = -1; /* UnavailabilityCause */
445 static int hf_gsm_map_releaseResourcesSupported = -1; /* NULL */
446 static int hf_gsm_map_ext_ProtocolId = -1; /* Ext_ProtocolId */
447 static int hf_gsm_map_accessNetworkProtocolId = -1; /* AccessNetworkProtocolId */
448 static int hf_gsm_map_longsignalInfo = -1; /* LongSignalInfo */
449 static int hf_gsm_map_suppress_T_CSI = -1; /* NULL */
450 static int hf_gsm_map_imsi_WithLMSI = -1; /* IMSI_WithLMSI */
451 static int hf_gsm_map_HLR_List_item = -1; /* HLR_Id */
452 static int hf_gsm_map_SS_List_item = -1; /* SS_Code */
453 static int hf_gsm_map_naea_PreferredCIC = -1; /* NAEA_CIC */
454 static int hf_gsm_map_externalAddress = -1; /* ISDN_AddressString */
455 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
456 static int hf_gsm_map_laiFixedLength = -1; /* LAIFixedLength */
457 static int hf_gsm_map_ccbs_Possible = -1; /* NULL */
458 static int hf_gsm_map_keepCCBS_CallIndicator = -1; /* NULL */
459 static int hf_gsm_map_roamingNumber = -1; /* ISDN_AddressString */
460 static int hf_gsm_map_forwardingData = -1; /* ForwardingData */
461 static int hf_gsm_map_routingInfo = -1; /* RoutingInfo */
462 static int hf_gsm_map_camelRoutingInfo = -1; /* CamelRoutingInfo */
463 static int hf_gsm_map_gmscCamelSubscriptionInfo = -1; /* GmscCamelSubscriptionInfo */
464 static int hf_gsm_map_t_CSI = -1; /* T_CSI */
465 static int hf_gsm_map_d_csi = -1; /* D_CSI */
466 static int hf_gsm_map_ageOfLocationInformation = -1; /* AgeOfLocationInformation */
467 static int hf_gsm_map_geographicalInformation = -1; /* GeographicalInformation */
468 static int hf_gsm_map_vlr_number = -1; /* ISDN_AddressString */
469 static int hf_gsm_map_locationNumber = -1; /* LocationNumber */
470 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
471 static int hf_gsm_map_selectedLSA_Id = -1; /* LSAIdentity */
472 static int hf_gsm_map_geodeticInformation = -1; /* GeodeticInformation */
473 static int hf_gsm_map_currentLocationRetrieved = -1; /* NULL */
474 static int hf_gsm_map_sai_Present = -1; /* NULL */
475 static int hf_gsm_map_routeingAreaIdentity = -1; /* RAIdentity */
476 static int hf_gsm_map_selectedLSAIdentity = -1; /* LSAIdentity */
477 static int hf_gsm_map_assumedIdle = -1; /* NULL */
478 static int hf_gsm_map_camelBusy = -1; /* NULL */
479 static int hf_gsm_map_notProvidedFromVLR = -1; /* NULL */
480 static int hf_gsm_map_notProvidedFromSGSN = -1; /* NULL */
481 static int hf_gsm_map_ps_Detached = -1; /* NULL */
482 static int hf_gsm_map_ps_AttachedNotReachableForPaging = -1; /* NULL */
483 static int hf_gsm_map_ps_AttachedReachableForPaging = -1; /* NULL */
484 static int hf_gsm_map_ps_PDP_ActiveNotReachableForPaging = -1; /* PDP_ContextInfoList */
485 static int hf_gsm_map_ps_PDP_ActiveReachableForPaging = -1; /* PDP_ContextInfoList */
486 static int hf_gsm_map_netDetNotReachable = -1; /* NotReachableReason */
487 static int hf_gsm_map_PDP_ContextInfoList_item = -1; /* PDP_ContextInfo */
488 static int hf_gsm_map_pdp_ContextIdentifier = -1; /* ContextId */
489 static int hf_gsm_map_pdp_ContextActive = -1; /* NULL */
490 static int hf_gsm_map_apn_Subscribed = -1; /* APN */
491 static int hf_gsm_map_apn_InUse = -1; /* APN */
492 static int hf_gsm_map_nsapi = -1; /* NSAPI */
493 static int hf_gsm_map_transactionId = -1; /* TransactionId */
494 static int hf_gsm_map_teid_ForGnAndGp = -1; /* TEID */
495 static int hf_gsm_map_teid_ForIu = -1; /* TEID */
496 static int hf_gsm_map_ggsn_Address = -1; /* GSN_Address */
497 static int hf_gsm_map_ext_qos_Subscribed = -1; /* Ext_QoS_Subscribed */
498 static int hf_gsm_map_qos_Requested = -1; /* Ext_QoS_Subscribed */
499 static int hf_gsm_map_qos_Negotiated = -1; /* Ext_QoS_Subscribed */
500 static int hf_gsm_map_chargingId = -1; /* GPRSChargingID */
501 static int hf_gsm_map_rnc_Address = -1; /* GSN_Address */
502 static int hf_gsm_map_qos2_Subscribed = -1; /* Ext2_QoS_Subscribed */
503 static int hf_gsm_map_qos2_Requested = -1; /* Ext2_QoS_Subscribed */
504 static int hf_gsm_map_qos2_Negotiated = -1; /* Ext2_QoS_Subscribed */
505 static int hf_gsm_map_cug_OutgoingAccess = -1; /* NULL */
506 static int hf_gsm_map_gsm_BearerCapability = -1; /* ExternalSignalInfo */
507 static int hf_gsm_map_gmsc_Address = -1; /* ISDN_AddressString */
508 static int hf_gsm_map_supportedCamelPhasesInInterrogatingNode = -1; /* SupportedCamelPhases */
509 static int hf_gsm_map_orNotSupportedInGMSC = -1; /* NULL */
510 static int hf_gsm_map_offeredCamel4CSIsInInterrogatingNode = -1; /* OfferedCamel4CSIs */
511 static int hf_gsm_map_uu_Data = -1; /* UU_Data */
512 static int hf_gsm_map_allInformationSent = -1; /* NULL */
513 static int hf_gsm_map_o_BcsmCamelTDPCriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
514 static int hf_gsm_map_uuIndicator = -1; /* UUIndicator */
515 static int hf_gsm_map_uui = -1; /* UUI */
516 static int hf_gsm_map_uusCFInteraction = -1; /* NULL */
517 static int hf_gsm_map_isdn_BearerCapability = -1; /* ExternalSignalInfo */
518 static int hf_gsm_map_call_Direction = -1; /* CallDirection */
519 static int hf_gsm_map_b_Subscriber_Address = -1; /* ISDN_AddressString */
520 static int hf_gsm_map_chosenChannel = -1; /* ExternalSignalInfo */
521 static int hf_gsm_map_lowerLayerCompatibility = -1; /* ExternalSignalInfo */
522 static int hf_gsm_map_highLayerCompatibility = -1; /* ExternalSignalInfo */
523 static int hf_gsm_map_sIWFSNumber = -1; /* ISDN_AddressString */
524 static int hf_gsm_map_channelType = -1; /* ExternalSignalInfo */
525 static int hf_gsm_map_ccbs_Monitoring = -1; /* ReportingState */
526 static int hf_gsm_map_ccbs_SubscriberStatus = -1; /* CCBS_SubscriberStatus */
527 static int hf_gsm_map_eventReportData = -1; /* EventReportData */
528 static int hf_gsm_map_callReportdata = -1; /* CallReportData */
529 static int hf_gsm_map_monitoringMode = -1; /* MonitoringMode */
530 static int hf_gsm_map_callOutcome = -1; /* CallOutcome */
531 static int hf_gsm_map_callTerminationIndicator = -1; /* CallTerminationIndicator */
532 static int hf_gsm_map_msrn = -1; /* ISDN_AddressString */
533 static int hf_gsm_map_callInfo = -1; /* ExternalSignalInfo */
534 static int hf_gsm_map_ccbs_Feature = -1; /* CCBS_Feature */
535 static int hf_gsm_map_translatedB_Number = -1; /* ISDN_AddressString */
536 static int hf_gsm_map_replaceB_Number = -1; /* NULL */
537 static int hf_gsm_map_ruf_Outcome = -1; /* Ruf_Outcome */
538 static int hf_gsm_map_ext_basicServiceGroupList = -1; /* BasicServiceGroupList */
539 static int hf_gsm_map_cliRestrictionOption = -1; /* CliRestrictionOption */
540 static int hf_gsm_map_overrideCategory = -1; /* OverrideCategory */
541 static int hf_gsm_map_forwardedToNumber_addr = -1; /* AddressString */
542 static int hf_gsm_map_forwardingInfo = -1; /* ForwardingInfo */
543 static int hf_gsm_map_callBarringInfo = -1; /* CallBarringInfo */
544 static int hf_gsm_map_ss_Data = -1; /* SS_Data */
545 static int hf_gsm_map_genericServiceInfo = -1; /* GenericServiceInfo */
546 static int hf_gsm_map_ussd_DataCodingScheme = -1; /* USSD_DataCodingScheme */
547 static int hf_gsm_map_ussd_String = -1; /* USSD_String */
548 static int hf_gsm_map_failureCause = -1; /* FailureCause */
549 static int hf_gsm_map_re_attempt = -1; /* BOOLEAN */
550 static int hf_gsm_map_accessType = -1; /* AccessType */
551 static int hf_gsm_map_ccbs_Data = -1; /* CCBS_Data */
552 static int hf_gsm_map_serviceIndicator = -1; /* ServiceIndicator */
553 static int hf_gsm_map_ccbs_Index = -1; /* CCBS_Index */
554 static int hf_gsm_map_sm_RP_PRI = -1; /* BOOLEAN */
555 static int hf_gsm_map_serviceCentreAddress = -1; /* ServiceCentreAddress */
556 static int hf_gsm_map_gprsSupportIndicator = -1; /* NULL */
557 static int hf_gsm_map_sm_RP_MTI = -1; /* INTEGER_0_10 */
558 static int hf_gsm_map_sm_RP_SMEA = -1; /* OCTET_STRING_SIZE_1_12 */
559 static int hf_gsm_map_locationInfoWithLMSI = -1; /* LocationInfoWithLMSI */
560 static int hf_gsm_map_networkNode_Number = -1; /* ISDN_AddressString */
561 static int hf_gsm_map_gprsNodeIndicator = -1; /* NULL */
562 static int hf_gsm_map_additional_Number = -1; /* Additional_Number */
563 static int hf_gsm_map_sm_RP_DA = -1; /* Sm_RP_DA */
564 static int hf_gsm_map_sm_RP_OA = -1; /* Sm_RP_OA */
565 static int hf_gsm_map_sm_RP_UI = -1; /* Sm_RP_UI */
566 static int hf_gsm_map_serviceCentreAddressOA = -1; /* ServiceCentreAddress */
567 static int hf_gsm_map_noSM_RP_OA = -1; /* NULL */
568 static int hf_gsm_map_serviceCentreAddressDA = -1; /* ServiceCentreAddress */
569 static int hf_gsm_map_noSM_RP_DA = -1; /* NULL */
570 static int hf_gsm_map_moreMessagesToSend = -1; /* NULL */
571 static int hf_gsm_map_sm_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
572 static int hf_gsm_map_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
573 static int hf_gsm_map_deliveryOutcomeIndicator = -1; /* NULL */
574 static int hf_gsm_map_additionalSM_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
575 static int hf_gsm_map_additionalAbsentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
576 static int hf_gsm_map_storedMSISDN = -1; /* StoredMSISDN */
577 static int hf_gsm_map_mw_Status = -1; /* T_mw_Status */
578 static int hf_gsm_map_alertReason = -1; /* T_alertReason */
579 static int hf_gsm_map_alertReasonIndicator = -1; /* NULL */
580 static int hf_gsm_map_requestedInfo = -1; /* RequestedInfo */
581 static int hf_gsm_map_locationInformation = -1; /* LocationInformation */
582 static int hf_gsm_map_subscriberState = -1; /* SubscriberState */
583 static int hf_gsm_map_locationInformationGPRS = -1; /* LocationInformationGPRS */
584 static int hf_gsm_map_ps_SubscriberState = -1; /* PS_SubscriberState */
585 static int hf_gsm_map_ms_Classmark2 = -1; /* MS_Classmark2 */
586 static int hf_gsm_map_gprs_MS_Class = -1; /* GPRSMSClass */
587 static int hf_gsm_map_mnpInfoRes = -1; /* MNPInfoRes */
588 static int hf_gsm_map_routeingNumber = -1; /* RouteingNumber */
589 static int hf_gsm_map_mSNetworkCapability = -1; /* MSNetworkCapability */
590 static int hf_gsm_map_mSRadioAccessCapability = -1; /* MSRadioAccessCapability */
591 static int hf_gsm_map_locationInformation_flg = -1; /* NULL */
592 static int hf_gsm_map_subscriberState_flg = -1; /* NULL */
593 static int hf_gsm_map_currentLocation = -1; /* NULL */
594 static int hf_gsm_map_requestedDomain = -1; /* T_requestedDomain */
595 static int hf_gsm_map_imei_flg = -1; /* NULL */
596 static int hf_gsm_map_ms_classmark = -1; /* NULL */
597 static int hf_gsm_map_mnpRequestedInfo = -1; /* NULL */
598 static int hf_gsm_map_subscriberIdentity = -1; /* SubscriberIdentity */
599 static int hf_gsm_map_requestedSubscriptionInfo = -1; /* RequestedSubscriptionInfo */
600 static int hf_gsm_map_callForwardingData = -1; /* CallForwardingData */
601 static int hf_gsm_map_callBarringData = -1; /* CallBarringData */
602 static int hf_gsm_map_odb_Info = -1; /* ODB_Info */
603 static int hf_gsm_map_camel_SubscriptionInfo = -1; /* CAMEL_SubscriptionInfo */
604 static int hf_gsm_map_supportedVLR_CAMEL_Phases = -1; /* SupportedCamelPhases */
605 static int hf_gsm_map_supportedSGSN_CAMEL_Phases = -1; /* SupportedCamelPhases */
606 static int hf_gsm_map_offeredCamel4CSIsInVLR = -1; /* OfferedCamel4CSIs */
607 static int hf_gsm_map_offeredCamel4CSIsInSGSN = -1; /* OfferedCamel4CSIs */
608 static int hf_gsm_map_requestedSS_Info = -1; /* SS_ForBS_Code */
609 static int hf_gsm_map_odb = -1; /* NULL */
610 static int hf_gsm_map_requestedCAMEL_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */
611 static int hf_gsm_map_supportedVLR_CAMEL_Phases_flg = -1; /* NULL */
612 static int hf_gsm_map_supportedSGSN_CAMEL_Phases_flg = -1; /* NULL */
613 static int hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo = -1; /* AdditionalRequestedCAMEL_SubscriptionInfo */
614 static int hf_gsm_map_password = -1; /* Password */
615 static int hf_gsm_map_wrongPasswordAttemptsCounter = -1; /* WrongPasswordAttemptsCounter */
616 static int hf_gsm_map_bearerService = -1; /* BearerServiceCode */
617 static int hf_gsm_map_teleservice_code = -1; /* TeleserviceCode */
618 static int hf_gsm_map_O_BcsmCamelTDPCriteriaList_item = -1; /* O_BcsmCamelTDP_Criteria */
619 static int hf_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_BCSM_CAMEL_TDP_Criteria */
620 static int hf_gsm_map_destinationNumberCriteria = -1; /* DestinationNumberCriteria */
621 static int hf_gsm_map_basicServiceCriteria = -1; /* BasicServiceCriteria */
622 static int hf_gsm_map_callTypeCriteria = -1; /* CallTypeCriteria */
623 static int hf_gsm_map_o_CauseValueCriteria = -1; /* O_CauseValueCriteria */
624 static int hf_gsm_map_t_BCSM_TriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */
625 static int hf_gsm_map_t_CauseValueCriteria = -1; /* T_CauseValueCriteria */
626 static int hf_gsm_map_maximumEntitledPriority = -1; /* EMLPP_Priority */
627 static int hf_gsm_map_ccbs_FeatureList = -1; /* CCBS_FeatureList */
628 static int hf_gsm_map_nbrSN = -1; /* MC_Bearers */
629 static int hf_gsm_map_CCBS_FeatureList_item = -1; /* CCBS_Feature */
630 static int hf_gsm_map_b_subscriberNumber = -1; /* ISDN_AddressString */
631 static int hf_gsm_map_b_subscriberSubaddress = -1; /* ISDN_SubaddressString */
632 static int hf_gsm_map_basicServiceGroup = -1; /* BasicServiceCode */
633 static int hf_gsm_map_T_CauseValueCriteria_item = -1; /* CauseValue */
634 static int hf_gsm_map_O_CauseValueCriteria_item = -1; /* CauseValue */
635 static int hf_gsm_map_BasicServiceCriteria_item = -1; /* Ext_BasicServiceCode */
636 static int hf_gsm_map_modificationRequestFor_CF_Info = -1; /* ModificationRequestFor_CF_Info */
637 static int hf_gsm_map_modificationRequestFor_CB_Info = -1; /* ModificationRequestFor_CB_Info */
638 static int hf_gsm_map_modificationRequestFor_CSI = -1; /* ModificationRequestFor_CSI */
639 static int hf_gsm_map_modificationRequestFor_ODB_data = -1; /* ModificationRequestFor_ODB_data */
640 static int hf_gsm_map_ss_InfoFor_CSE = -1; /* Ext_SS_InfoFor_CSE */
641 static int hf_gsm_map_modifyNotificationToCSE = -1; /* ModificationInstruction */
642 static int hf_gsm_map_odb_data = -1; /* ODB_Data */
643 static int hf_gsm_map_requestedCamel_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */
644 static int hf_gsm_map_modifyCSI_State = -1; /* ModificationInstruction */
645 static int hf_gsm_map_forwardingInfoFor_CSE = -1; /* Ext_ForwardingInfoFor_CSE */
646 static int hf_gsm_map_callBarringInfoFor_CSE = -1; /* Ext_CallBarringInfoFor_CSE */
647 static int hf_gsm_map_eventMet = -1; /* MM_Code */
648 static int hf_gsm_map_supportedCAMELPhases = -1; /* SupportedCamelPhases */
649 static int hf_gsm_map_offeredCamel4Functionalities = -1; /* OfferedCamel4Functionalities */
650 static int hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
651 static int hf_gsm_map_tif_CSI_NotificationToCSE = -1; /* NULL */
652 static int hf_gsm_map_specificCSIDeletedList = -1; /* SpecificCSI_Withdraw */
653 static int hf_gsm_map_o_IM_CSI = -1; /* O_CSI */
654 static int hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
655 static int hf_gsm_map_d_IM_CSI = -1; /* D_CSI */
656 static int hf_gsm_map_vt_IM_CSI = -1; /* T_CSI */
657 static int hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
658 static int hf_gsm_map_ext_BearerService = -1; /* Ext_BearerServiceCode */
659 static int hf_gsm_map_ext_Teleservice = -1; /* Ext_TeleserviceCode */
660 static int hf_gsm_map_odb_HPLMN_Data = -1; /* ODB_HPLMN_Data */
661 static int hf_gsm_map_SS_EventList_item = -1; /* SS_Code */
662 static int hf_gsm_map_t_BcsmCamelTDPDataList = -1; /* T_BcsmCamelTDPDataList */
663 static int hf_gsm_map_T_BcsmCamelTDPDataList_item = -1; /* T_BcsmCamelTDPData */
664 static int hf_gsm_map_t_BcsmTriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */
665 static int hf_gsm_map_sms_CAMEL_TDP_DataList = -1; /* SMS_CAMEL_TDP_DataList */
666 static int hf_gsm_map_SMS_CAMEL_TDP_DataList_item = -1; /* SMS_CAMEL_TDP_Data */
667 static int hf_gsm_map_defaultSMS_Handling = -1; /* DefaultSMS_Handling */
668 static int hf_gsm_map_MobilityTriggers_item = -1; /* MM_Code */
669 static int hf_gsm_map_ss_Event = -1; /* OCTET_STRING_SIZE_1 */
670 static int hf_gsm_map_ss_EventSpecification = -1; /* T_ss_EventSpecification */
671 static int hf_gsm_map_ss_EventSpecification_item = -1; /* OCTET_STRING_SIZE_1_20 */
672 static int hf_gsm_map_ext_teleservice = -1; /* Ext_TeleserviceCode */
673 static int hf_gsm_map_codec_Info = -1; /* CODEC_Info */
674 static int hf_gsm_map_cipheringAlgorithm = -1; /* CipheringAlgorithm */
675 static int hf_gsm_map_groupKeyNumber_Vk_Id = -1; /* GroupKeyNumber */
676 static int hf_gsm_map_groupKey = -1; /* Kc */
677 static int hf_gsm_map_priority = -1; /* EMLPP_Priority */
678 static int hf_gsm_map_uplinkFree = -1; /* NULL */
679 static int hf_gsm_map_vstk = -1; /* VSTK */
680 static int hf_gsm_map_vstk_rand = -1; /* VSTK_RAND */
681 static int hf_gsm_map_groupCallNumber = -1; /* ISDN_AddressString */
682 static int hf_gsm_map_uplinkRequest = -1; /* NULL */
683 static int hf_gsm_map_uplinkReleaseIndication = -1; /* NULL */
684 static int hf_gsm_map_releaseGroupCall = -1; /* NULL */
685 static int hf_gsm_map_uplinkRequestAck = -1; /* NULL */
686 static int hf_gsm_map_uplinkRejectCommand = -1; /* NULL */
687 static int hf_gsm_map_uplinkSeizedCommand = -1; /* NULL */
688 static int hf_gsm_map_uplinkReleaseCommand = -1; /* NULL */
689 static int hf_gsm_map_sgsn_Address = -1; /* GSN_Address */
690 static int hf_gsm_map_sgsn_Capability = -1; /* SGSN_Capability */
691 static int hf_gsm_map_ps_LCS_NotSupportedByUE = -1; /* NULL */
692 static int hf_gsm_map_gprsEnhancementsSupportIndicator = -1; /* NULL */
693 static int hf_gsm_map_smsCallBarringSupportIndicator = -1; /* NULL */
694 static int hf_gsm_map_ggsn_Number = -1; /* ISDN_AddressString */
695 static int hf_gsm_map_mobileNotReachableReason = -1; /* AbsentSubscriberDiagnosticSM */
696 static int hf_gsm_map_locationType = -1; /* LocationType */
697 static int hf_gsm_map_mlc_Number = -1; /* ISDN_AddressString */
698 static int hf_gsm_map_lcs_ClientID = -1; /* LCS_ClientID */
699 static int hf_gsm_map_privacyOverride = -1; /* NULL */
700 static int hf_gsm_map_lcs_Priority = -1; /* LCS_Priority */
701 static int hf_gsm_map_lcs_QoS = -1; /* LCS_QoS */
702 static int hf_gsm_map_supportedGADShapes = -1; /* SupportedGADShapes */
703 static int hf_gsm_map_lcs_ReferenceNumber = -1; /* LCS_ReferenceNumber */
704 static int hf_gsm_map_lcsServiceTypeID = -1; /* LCSServiceTypeID */
705 static int hf_gsm_map_lcsCodeword = -1; /* LCSCodeword */
706 static int hf_gsm_map_lcs_PrivacyCheck = -1; /* LCS_PrivacyCheck */
707 static int hf_gsm_map_areaEventInfo = -1; /* AreaEventInfo */
708 static int hf_gsm_map_h_gmlc_Address = -1; /* GSN_Address */
709 static int hf_gsm_map_locationEstimateType = -1; /* LocationEstimateType */
710 static int hf_gsm_map_deferredLocationEventType = -1; /* DeferredLocationEventType */
711 static int hf_gsm_map_lcsClientType = -1; /* LCSClientType */
712 static int hf_gsm_map_lcsClientExternalID = -1; /* LCSClientExternalID */
713 static int hf_gsm_map_lcsClientDialedByMS = -1; /* AddressString */
714 static int hf_gsm_map_lcsClientInternalID = -1; /* LCSClientInternalID */
715 static int hf_gsm_map_lcsClientName = -1; /* LCSClientName */
716 static int hf_gsm_map_lcsAPN = -1; /* APN */
717 static int hf_gsm_map_lcsRequestorID = -1; /* LCSRequestorID */
718 static int hf_gsm_map_dataCodingScheme = -1; /* USSD_DataCodingScheme */
719 static int hf_gsm_map_nameString = -1; /* NameString */
720 static int hf_gsm_map_lcs_FormatIndicator = -1; /* LCS_FormatIndicator */
721 static int hf_gsm_map_requestorIDString = -1; /* RequestorIDString */
722 static int hf_gsm_map_horizontal_accuracy = -1; /* Horizontal_Accuracy */
723 static int hf_gsm_map_verticalCoordinateRequest = -1; /* NULL */
724 static int hf_gsm_map_vertical_accuracy = -1; /* Vertical_Accuracy */
725 static int hf_gsm_map_responseTime = -1; /* ResponseTime */
726 static int hf_gsm_map_responseTimeCategory = -1; /* ResponseTimeCategory */
727 static int hf_gsm_map_lcsCodewordString = -1; /* LCSCodewordString */
728 static int hf_gsm_map_callSessionUnrelated = -1; /* PrivacyCheckRelatedAction */
729 static int hf_gsm_map_callSessionRelated = -1; /* PrivacyCheckRelatedAction */
730 static int hf_gsm_map_areaDefinition = -1; /* AreaDefinition */
731 static int hf_gsm_map_occurrenceInfo = -1; /* OccurrenceInfo */
732 static int hf_gsm_map_intervalTime = -1; /* IntervalTime */
733 static int hf_gsm_map_areaList = -1; /* AreaList */
734 static int hf_gsm_map_AreaList_item = -1; /* Area */
735 static int hf_gsm_map_areaType = -1; /* AreaType */
736 static int hf_gsm_map_areaIdentification = -1; /* AreaIdentification */
737 static int hf_gsm_map_locationEstimate = -1; /* Ext_GeographicalInformation */
738 static int hf_gsm_map_ageOfLocationEstimate = -1; /* AgeOfLocationInformation */
739 static int hf_gsm_map_add_LocationEstimate = -1; /* Add_GeographicalInformation */
740 static int hf_gsm_map_deferredmt_lrResponseIndicator = -1; /* NULL */
741 static int hf_gsm_map_geranPositioningData = -1; /* PositioningDataInformation */
742 static int hf_gsm_map_utranPositioningData = -1; /* UtranPositioningDataInfo */
743 static int hf_gsm_map_cellIdOrSai = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
744 static int hf_gsm_map_mlcNumber = -1; /* ISDN_AddressString */
745 static int hf_gsm_map_targetMS = -1; /* SubscriberIdentity */
746 static int hf_gsm_map_lcsLocationInfo = -1; /* LCSLocationInfo */
747 static int hf_gsm_map_ppr_Address = -1; /* GSN_Address */
748 static int hf_gsm_map_additional_v_gmlc_Address = -1; /* GSN_Address */
749 static int hf_gsm_map_additional_LCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
750 static int hf_gsm_map_lcs_Event = -1; /* LCS_Event */
751 static int hf_gsm_map_na_ESRD = -1; /* ISDN_AddressString */
752 static int hf_gsm_map_na_ESRK = -1; /* ISDN_AddressString */
753 static int hf_gsm_map_slr_ArgExtensionContainer = -1; /* SLR_ArgExtensionContainer */
754 static int hf_gsm_map_deferredmt_lrData = -1; /* Deferredmt_lrData */
755 static int hf_gsm_map_pseudonymIndicator = -1; /* NULL */
756 static int hf_gsm_map_terminationCause = -1; /* TerminationCause */
757 static int hf_gsm_map_securityHeader = -1; /* SecurityHeader */
758 static int hf_gsm_map_protectedPayload = -1; /* ProtectedPayload */
759 static int hf_gsm_map_securityParametersIndex = -1; /* SecurityParametersIndex */
760 static int hf_gsm_map_originalComponentIdentifier = -1; /* OriginalComponentIdentifier */
761 static int hf_gsm_map_initialisationVector = -1; /* InitialisationVector */
762 static int hf_gsm_map_operationCode = -1; /* OperationCode */
763 static int hf_gsm_map_errorCode = -1; /* ErrorCode */
764 static int hf_gsm_map_userInfo = -1; /* NULL */
765 static int hf_gsm_map_localValue = -1; /* INTEGER */
766 static int hf_gsm_map_globalValue = -1; /* OBJECT_IDENTIFIER */
767 static int hf_gsm_map_networkResource = -1; /* NetworkResource */
768 static int hf_gsm_map_extensibleSystemFailureParam = -1; /* T_extensibleSystemFailureParam */
769 static int hf_gsm_map_unknownSubscriberDiagnostic = -1; /* T_unknownSubscriberDiagnostic */
770 static int hf_gsm_map_roamingNotAllowedCause = -1; /* T_roamingNotAllowedCause */
771 static int hf_gsm_map_absentSubscriberReason = -1; /* T_absentSubscriberReason */
772 static int hf_gsm_map_ccbs_Busy = -1; /* NULL */
773 static int hf_gsm_map_callBarringCause = -1; /* CallBarringCause */
774 static int hf_gsm_map_extensibleCallBarredParam = -1; /* T_extensibleCallBarredParam */
775 static int hf_gsm_map_unauthorisedMessageOriginator = -1; /* NULL */
776 static int hf_gsm_map_cug_RejectCause = -1; /* T_cug_RejectCause */
777 static int hf_gsm_map_gprsConnectionSuspended = -1; /* NULL */
778 static int hf_gsm_map_sm_EnumeratedDeliveryFailureCause = -1; /* T_sm_EnumeratedDeliveryFailureCause */
779 static int hf_gsm_map_diagnosticInfo = -1; /* OCTET_STRING_SIZE_1_200 */
780 static int hf_gsm_map_unauthorizedLCSClient_Diagnostic = -1; /* T_unauthorizedLCSClient_Diagnostic */
781 static int hf_gsm_map_positionMethodFailure_Diagnostic = -1; /* T_positionMethodFailure_Diagnostic */
782 static int hf_gsm_map_pcsExtensions = -1; /* PcsExtensions */
784 static int hf_gsm_map_SupportedCamelPhases_phase1 = -1;
785 static int hf_gsm_map_SupportedCamelPhases_phase2 = -1;
786 static int hf_gsm_map_SupportedCamelPhases_phase3 = -1;
787 static int hf_gsm_map_SupportedCamelPhases_phase4 = -1;
788 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
789 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
790 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
791 static int hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
792 static int hf_gsm_map_RequestedEquipmentInfo_equipmentStatus = -1;
793 static int hf_gsm_map_RequestedEquipmentInfo_bmuef = -1;
794 static int hf_gsm_map_ODB_GeneralData_allOG_CallsBarred = -1;
795 static int hf_gsm_map_ODB_GeneralData_internationalOGCallsBarred = -1;
796 static int hf_gsm_map_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred = -1;
797 static int hf_gsm_map_ODB_GeneralData_interzonalOGCallsBarred = -1;
798 static int hf_gsm_map_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred = -1;
799 static int hf_gsm_map_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred = -1;
800 static int hf_gsm_map_ODB_GeneralData_premiumRateInformationOGCallsBarred = -1;
801 static int hf_gsm_map_ODB_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
802 static int hf_gsm_map_ODB_GeneralData_ss_AccessBarred = -1;
803 static int hf_gsm_map_ODB_GeneralData_allECT_Barred = -1;
804 static int hf_gsm_map_ODB_GeneralData_chargeableECT_Barred = -1;
805 static int hf_gsm_map_ODB_GeneralData_internationalECT_Barred = -1;
806 static int hf_gsm_map_ODB_GeneralData_interzonalECT_Barred = -1;
807 static int hf_gsm_map_ODB_GeneralData_doublyChargeableECT_Barred = -1;
808 static int hf_gsm_map_ODB_GeneralData_multipleECT_Barred = -1;
809 static int hf_gsm_map_ODB_GeneralData_allPacketOrientedServicesBarred = -1;
810 static int hf_gsm_map_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
811 static int hf_gsm_map_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
812 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
813 static int hf_gsm_map_ODB_GeneralData_allIC_CallsBarred = -1;
814 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
815 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
816 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_Barred = -1;
817 static int hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
818 static int hf_gsm_map_ODB_GeneralData_registrationAllCF_Barred = -1;
819 static int hf_gsm_map_ODB_GeneralData_registrationCFNotToHPLMN_Barred = -1;
820 static int hf_gsm_map_ODB_GeneralData_registrationInterzonalCF_Barred = -1;
821 static int hf_gsm_map_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
822 static int hf_gsm_map_ODB_GeneralData_registrationInternationalCF_Barred = -1;
823 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType1 = -1;
824 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType2 = -1;
825 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType3 = -1;
826 static int hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType4 = -1;
827 static int hf_gsm_map_AccessRestrictionData_utranNotAllowed = -1;
828 static int hf_gsm_map_AccessRestrictionData_geranNotAllowed = -1;
829 static int hf_gsm_map_SpecificCSI_Withdraw_o_csi = -1;
830 static int hf_gsm_map_SpecificCSI_Withdraw_ss_csi = -1;
831 static int hf_gsm_map_SpecificCSI_Withdraw_tif_csi = -1;
832 static int hf_gsm_map_SpecificCSI_Withdraw_d_csi = -1;
833 static int hf_gsm_map_SpecificCSI_Withdraw_vt_csi = -1;
834 static int hf_gsm_map_SpecificCSI_Withdraw_mo_sms_csi = -1;
835 static int hf_gsm_map_SpecificCSI_Withdraw_m_csi = -1;
836 static int hf_gsm_map_SpecificCSI_Withdraw_gprs_csi = -1;
837 static int hf_gsm_map_SpecificCSI_Withdraw_t_csi = -1;
838 static int hf_gsm_map_SpecificCSI_Withdraw_mt_sms_csi = -1;
839 static int hf_gsm_map_SpecificCSI_Withdraw_mg_csi = -1;
840 static int hf_gsm_map_SpecificCSI_Withdraw_o_IM_CSI = -1;
841 static int hf_gsm_map_SpecificCSI_Withdraw_d_IM_CSI = -1;
842 static int hf_gsm_map_SpecificCSI_Withdraw_vt_IM_CSI = -1;
843 static int hf_gsm_map_AllowedServices_firstServiceAllowed = -1;
844 static int hf_gsm_map_AllowedServices_secondServiceAllowed = -1;
845 static int hf_gsm_map_ServiceIndicator_clir_invoked = -1;
846 static int hf_gsm_map_ServiceIndicator_camel_invoked = -1;
847 static int hf_gsm_map_T_mw_Status_scAddressNotIncluded = -1;
848 static int hf_gsm_map_T_mw_Status_mnrfSet = -1;
849 static int hf_gsm_map_T_mw_Status_mcefSet = -1;
850 static int hf_gsm_map_T_mw_Status_mnrgSet = -1;
851 static int hf_gsm_map_OfferedCamel4CSIs_o_csi = -1;
852 static int hf_gsm_map_OfferedCamel4CSIs_d_csi = -1;
853 static int hf_gsm_map_OfferedCamel4CSIs_vt_csi = -1;
854 static int hf_gsm_map_OfferedCamel4CSIs_t_csi = -1;
855 static int hf_gsm_map_OfferedCamel4CSIs_mt_sms_csi = -1;
856 static int hf_gsm_map_OfferedCamel4CSIs_mg_csi = -1;
857 static int hf_gsm_map_OfferedCamel4CSIs_psi_enhancements = -1;
858 static int hf_gsm_map_OfferedCamel4Functionalities_initiateCallAttempt = -1;
859 static int hf_gsm_map_OfferedCamel4Functionalities_splitLeg = -1;
860 static int hf_gsm_map_OfferedCamel4Functionalities_moveLeg = -1;
861 static int hf_gsm_map_OfferedCamel4Functionalities_disconnectLeg = -1;
862 static int hf_gsm_map_OfferedCamel4Functionalities_entityReleased = -1;
863 static int hf_gsm_map_OfferedCamel4Functionalities_dfc_WithArgument = -1;
864 static int hf_gsm_map_OfferedCamel4Functionalities_playTone = -1;
865 static int hf_gsm_map_OfferedCamel4Functionalities_dtmf_MidCall = -1;
866 static int hf_gsm_map_OfferedCamel4Functionalities_chargingIndicator = -1;
867 static int hf_gsm_map_OfferedCamel4Functionalities_alertingDP = -1;
868 static int hf_gsm_map_OfferedCamel4Functionalities_locationAtAlerting = -1;
869 static int hf_gsm_map_OfferedCamel4Functionalities_changeOfPositionDP = -1;
870 static int hf_gsm_map_OfferedCamel4Functionalities_or_Interactions = -1;
871 static int hf_gsm_map_OfferedCamel4Functionalities_warningToneEnhancements = -1;
872 static int hf_gsm_map_OfferedCamel4Functionalities_cf_Enhancements = -1;
873 static int hf_gsm_map_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1;
874 static int hf_gsm_map_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1;
875 static int hf_gsm_map_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1;
876 static int hf_gsm_map_OfferedCamel4Functionalities_serviceChangeDP = -1;
877 static int hf_gsm_map_DeferredLocationEventType_msAvailable = -1;
878 static int hf_gsm_map_DeferredLocationEventType_enteringIntoArea = -1;
879 static int hf_gsm_map_DeferredLocationEventType_leavingFromArea = -1;
880 static int hf_gsm_map_DeferredLocationEventType_beingInsideArea = -1;
881 static int hf_gsm_map_SupportedGADShapes_ellipsoidPoint = -1;
882 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle = -1;
883 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse = -1;
884 static int hf_gsm_map_SupportedGADShapes_polygon = -1;
885 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitude = -1;
886 static int hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid = -1;
887 static int hf_gsm_map_SupportedGADShapes_ellipsoidArc = -1;
889 /*--- End of included file: packet-gsm_map-hf.c ---*/
892 /* Initialize the subtree pointers */
893 static gint ett_gsm_map = -1;
894 static gint ett_gsm_map_InvokeId = -1;
895 static gint ett_gsm_map_InvokePDU = -1;
896 static gint ett_gsm_map_ReturnResultPDU = -1;
897 static gint ett_gsm_map_ReturnErrorPDU = -1;
898 static gint ett_gsm_map_ReturnResult_result = -1;
899 static gint ett_gsm_map_ReturnError_result = -1;
900 static gint ett_gsm_map_GSMMAPPDU = -1;
903 /*--- Included file: packet-gsm_map-ett.c ---*/
905 static gint ett_gsm_map_Bss_APDU = -1;
906 static gint ett_gsm_map_SupportedCamelPhases = -1;
907 static gint ett_gsm_map_UpdateLocationArg = -1;
908 static gint ett_gsm_map_UpdateLocationRes = -1;
909 static gint ett_gsm_map_VLR_Capability = -1;
910 static gint ett_gsm_map_SuperChargerInfo = -1;
911 static gint ett_gsm_map_SupportedLCS_CapabilitySets = -1;
912 static gint ett_gsm_map_ADD_Info = -1;
913 static gint ett_gsm_map_PrivateExtensionList = -1;
914 static gint ett_gsm_map_PrivateExtension = -1;
915 static gint ett_gsm_map_SLR_ArgExtensionContainer = -1;
916 static gint ett_gsm_map_PcsExtensions = -1;
917 static gint ett_gsm_map_SLR_Arg_PCS_Extensions = -1;
918 static gint ett_gsm_map_CancelLocationArg = -1;
919 static gint ett_gsm_map_CancelLocationRes = -1;
920 static gint ett_gsm_map_PurgeMSArg = -1;
921 static gint ett_gsm_map_PurgeMSRes = -1;
922 static gint ett_gsm_map_SendIdentificationArg = -1;
923 static gint ett_gsm_map_SendIdentificationRes = -1;
924 static gint ett_gsm_map_AuthenticationSetList = -1;
925 static gint ett_gsm_map_TripletList = -1;
926 static gint ett_gsm_map_QuintupletList = -1;
927 static gint ett_gsm_map_AuthenticationTriplet = -1;
928 static gint ett_gsm_map_AuthenticationQuintuplet = -1;
929 static gint ett_gsm_map_CurrentSecurityContext = -1;
930 static gint ett_gsm_map_GSM_SecurityContextData = -1;
931 static gint ett_gsm_map_UMTS_SecurityContextData = -1;
932 static gint ett_gsm_map_PrepareHO_Arg = -1;
933 static gint ett_gsm_map_PrepareHO_ArgV3 = -1;
934 static gint ett_gsm_map_BSSMAP_ServiceHandoverList = -1;
935 static gint ett_gsm_map_BSSMAP_ServiceHandoverInfo = -1;
936 static gint ett_gsm_map_RadioResourceList = -1;
937 static gint ett_gsm_map_RadioResource = -1;
938 static gint ett_gsm_map_PrepareHO_Res = -1;
939 static gint ett_gsm_map_PrepareHO_ResV3 = -1;
940 static gint ett_gsm_map_SelectedUMTS_Algorithms = -1;
941 static gint ett_gsm_map_ChosenRadioResourceInformation = -1;
942 static gint ett_gsm_map_SendEndSignalArgV3 = -1;
943 static gint ett_gsm_map_SendEndSignalRes = -1;
944 static gint ett_gsm_map_RelocationNumberList = -1;
945 static gint ett_gsm_map_RelocationNumber = -1;
946 static gint ett_gsm_map_ProcessAccessSignallingArgV3 = -1;
947 static gint ett_gsm_map_SupportedCodecsList = -1;
948 static gint ett_gsm_map_CodecList = -1;
949 static gint ett_gsm_map_ForwardAccessSignallingArgV3 = -1;
950 static gint ett_gsm_map_AllowedUMTS_Algorithms = -1;
951 static gint ett_gsm_map_PrepareSubsequentHOArg = -1;
952 static gint ett_gsm_map_PrepareSubsequentHOArgV3 = -1;
953 static gint ett_gsm_map_PrepareSubsequentHOResV3 = -1;
954 static gint ett_gsm_map_SendAuthenticationInfoArgV2 = -1;
955 static gint ett_gsm_map_SendAuthenticationInfoRes = -1;
956 static gint ett_gsm_map_SendAuthenticationInfoRes_item = -1;
957 static gint ett_gsm_map_SendAuthenticationInfoResV3 = -1;
958 static gint ett_gsm_map_Re_synchronisationInfo = -1;
959 static gint ett_gsm_map_CheckIMEIArgV2 = -1;
960 static gint ett_gsm_map_CheckIMEIRes = -1;
961 static gint ett_gsm_map_RequestedEquipmentInfo = -1;
962 static gint ett_gsm_map_UESBI_Iu = -1;
963 static gint ett_gsm_map_BasicService = -1;
964 static gint ett_gsm_map_BasicServiceGroupList = -1;
965 static gint ett_gsm_map_ODB_GeneralData = -1;
966 static gint ett_gsm_map_ODB_HPLMN_Data = -1;
967 static gint ett_gsm_map_BcsmCamelTDPData = -1;
968 static gint ett_gsm_map_BcsmCamelTDPDataList = -1;
969 static gint ett_gsm_map_O_CSI = -1;
970 static gint ett_gsm_map_O_BcsmCamelTDPDataList = -1;
971 static gint ett_gsm_map_O_BcsmCamelTDPData = -1;
972 static gint ett_gsm_map_InsertSubscriberDataArg = -1;
973 static gint ett_gsm_map_AccessRestrictionData = -1;
974 static gint ett_gsm_map_LCSInformation = -1;
975 static gint ett_gsm_map_GMLC_List = -1;
976 static gint ett_gsm_map_GPRSDataList = -1;
977 static gint ett_gsm_map_PDP_Context = -1;
978 static gint ett_gsm_map_GPRSSubscriptionData = -1;
979 static gint ett_gsm_map_SGSN_CAMEL_SubscriptionInfo = -1;
980 static gint ett_gsm_map_GPRS_CSI = -1;
981 static gint ett_gsm_map_GPRS_CamelTDPDataList = -1;
982 static gint ett_gsm_map_GPRS_CamelTDPData = -1;
983 static gint ett_gsm_map_LSADataList = -1;
984 static gint ett_gsm_map_LSAData = -1;
985 static gint ett_gsm_map_LSAInformation = -1;
986 static gint ett_gsm_map_InsertSubscriberDataRes = -1;
987 static gint ett_gsm_map_DeleteSubscriberDataArg = -1;
988 static gint ett_gsm_map_DeleteSubscriberDataRes = -1;
989 static gint ett_gsm_map_SpecificCSI_Withdraw = -1;
990 static gint ett_gsm_map_GPRSSubscriptionDataWithdraw = -1;
991 static gint ett_gsm_map_ContextIdList = -1;
992 static gint ett_gsm_map_LSAInformationWithdraw = -1;
993 static gint ett_gsm_map_LSAIdentityList = -1;
994 static gint ett_gsm_map_BasicServiceList = -1;
995 static gint ett_gsm_map_VlrCamelSubscriptionInfo = -1;
996 static gint ett_gsm_map_MT_smsCAMELTDP_CriteriaList = -1;
997 static gint ett_gsm_map_MT_smsCAMELTDP_Criteria = -1;
998 static gint ett_gsm_map_TPDU_TypeCriterion = -1;
999 static gint ett_gsm_map_D_CSI = -1;
1000 static gint ett_gsm_map_DP_AnalysedInfoCriteriaList = -1;
1001 static gint ett_gsm_map_DP_AnalysedInfoCriterium = -1;
1002 static gint ett_gsm_map_SS_CSI = -1;
1003 static gint ett_gsm_map_SS_CamelData = -1;
1004 static gint ett_gsm_map_MG_CSI = -1;
1005 static gint ett_gsm_map_BearerServiceList = -1;
1006 static gint ett_gsm_map_TeleserviceList = -1;
1007 static gint ett_gsm_map_Ext_SS_InfoList = -1;
1008 static gint ett_gsm_map_Ext_SS_Info = -1;
1009 static gint ett_gsm_map_Ext_ForwInfo = -1;
1010 static gint ett_gsm_map_Ext_ForwFeatureList = -1;
1011 static gint ett_gsm_map_Ext_ForwFeature = -1;
1012 static gint ett_gsm_map_Ext_CallBarInfo = -1;
1013 static gint ett_gsm_map_Ext_CallBarFeatureList = -1;
1014 static gint ett_gsm_map_Ext_CallBarringFeature = -1;
1015 static gint ett_gsm_map_ZoneCodeList = -1;
1016 static gint ett_gsm_map_EMLPP_Info = -1;
1017 static gint ett_gsm_map_CUG_Info = -1;
1018 static gint ett_gsm_map_CUG_SubscriptionList = -1;
1019 static gint ett_gsm_map_CUG_Subscription = -1;
1020 static gint ett_gsm_map_CUG_FeatureList = -1;
1021 static gint ett_gsm_map_Ext_BasicServiceGroupList = -1;
1022 static gint ett_gsm_map_CUG_Feature = -1;
1023 static gint ett_gsm_map_Ext_SS_Data = -1;
1024 static gint ett_gsm_map_LCS_PrivacyExceptionList = -1;
1025 static gint ett_gsm_map_LCS_PrivacyClass = -1;
1026 static gint ett_gsm_map_ExternalClientList = -1;
1027 static gint ett_gsm_map_PLMNClientList = -1;
1028 static gint ett_gsm_map_Ext_ExternalClientList = -1;
1029 static gint ett_gsm_map_ExternalClient = -1;
1030 static gint ett_gsm_map_ServiceTypeList = -1;
1031 static gint ett_gsm_map_ServiceType = -1;
1032 static gint ett_gsm_map_MOLR_List = -1;
1033 static gint ett_gsm_map_MOLR_Class = -1;
1034 static gint ett_gsm_map_CallBarringFeatureList = -1;
1035 static gint ett_gsm_map_CallBarringFeature = -1;
1036 static gint ett_gsm_map_ForwardingFeatureList = -1;
1037 static gint ett_gsm_map_ForwardingFeature = -1;
1038 static gint ett_gsm_map_DestinationNumberCriteria = -1;
1039 static gint ett_gsm_map_DestinationNumberList = -1;
1040 static gint ett_gsm_map_DestinationNumberLengthList = -1;
1041 static gint ett_gsm_map_ForwardingInfo = -1;
1042 static gint ett_gsm_map_CallBarringInfo = -1;
1043 static gint ett_gsm_map_MC_SS_Info = -1;
1044 static gint ett_gsm_map_ResetArg = -1;
1045 static gint ett_gsm_map_RestoreDataArg = -1;
1046 static gint ett_gsm_map_RestoreDataRes = -1;
1047 static gint ett_gsm_map_VBSDataList = -1;
1048 static gint ett_gsm_map_VGCSDataList = -1;
1049 static gint ett_gsm_map_VoiceGroupCallData = -1;
1050 static gint ett_gsm_map_VoiceBroadcastData = -1;
1051 static gint ett_gsm_map_ActivateTraceModeArg = -1;
1052 static gint ett_gsm_map_ActivateTraceModeRes = -1;
1053 static gint ett_gsm_map_DeactivateTraceModeArg = -1;
1054 static gint ett_gsm_map_DeactivateTraceModeRes = -1;
1055 static gint ett_gsm_map_SendRoutingInfoArg = -1;
1056 static gint ett_gsm_map_SendRoutingInfoRes = -1;
1057 static gint ett_gsm_map_ExternalSignalInfo = -1;
1058 static gint ett_gsm_map_Ext_ExternalSignalInfo = -1;
1059 static gint ett_gsm_map_AccessNetworkSignalInfo = -1;
1060 static gint ett_gsm_map_CamelInfo = -1;
1061 static gint ett_gsm_map_Identity = -1;
1062 static gint ett_gsm_map_IMSI_WithLMSI = -1;
1063 static gint ett_gsm_map_SubscriberId = -1;
1064 static gint ett_gsm_map_HLR_List = -1;
1065 static gint ett_gsm_map_SS_List = -1;
1066 static gint ett_gsm_map_NAEA_PreferredCI = -1;
1067 static gint ett_gsm_map_SubscriberIdentity = -1;
1068 static gint ett_gsm_map_LCSClientExternalID = -1;
1069 static gint ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI = -1;
1070 static gint ett_gsm_map_AllowedServices = -1;
1071 static gint ett_gsm_map_CCBS_Indicators = -1;
1072 static gint ett_gsm_map_RoutingInfo = -1;
1073 static gint ett_gsm_map_ExtendedRoutingInfo = -1;
1074 static gint ett_gsm_map_CamelRoutingInfo = -1;
1075 static gint ett_gsm_map_GmscCamelSubscriptionInfo = -1;
1076 static gint ett_gsm_map_LocationInformation = -1;
1077 static gint ett_gsm_map_LocationInformationGPRS = -1;
1078 static gint ett_gsm_map_SubscriberState = -1;
1079 static gint ett_gsm_map_PS_SubscriberState = -1;
1080 static gint ett_gsm_map_PDP_ContextInfoList = -1;
1081 static gint ett_gsm_map_PDP_ContextInfo = -1;
1082 static gint ett_gsm_map_CUG_CheckInfo = -1;
1083 static gint ett_gsm_map_ForwardingData = -1;
1084 static gint ett_gsm_map_ProvideRoamingNumberArg = -1;
1085 static gint ett_gsm_map_ProvideRoamingNumberRes = -1;
1086 static gint ett_gsm_map_ResumeCallHandlingArg = -1;
1087 static gint ett_gsm_map_ResumeCallHandlingRes = -1;
1088 static gint ett_gsm_map_UU_Data = -1;
1089 static gint ett_gsm_map_ProvideSIWFSNumberArg = -1;
1090 static gint ett_gsm_map_ProvideSIWFSNumberRes = -1;
1091 static gint ett_gsm_map_SIWFSSignallingModifyArg = -1;
1092 static gint ett_gsm_map_SIWFSSignallingModifyRes = -1;
1093 static gint ett_gsm_map_SetReportingStateArg = -1;
1094 static gint ett_gsm_map_SetReportingStateRes = -1;
1095 static gint ett_gsm_map_StatusReportArg = -1;
1096 static gint ett_gsm_map_StatusReportRes = -1;
1097 static gint ett_gsm_map_EventReportData = -1;
1098 static gint ett_gsm_map_CallReportData = -1;
1099 static gint ett_gsm_map_IST_AlertArg = -1;
1100 static gint ett_gsm_map_IST_AlertRes = -1;
1101 static gint ett_gsm_map_IST_CommandArg = -1;
1102 static gint ett_gsm_map_IST_CommandRes = -1;
1103 static gint ett_gsm_map_ReleaseResourcesArg = -1;
1104 static gint ett_gsm_map_ReleaseResourcesRes = -1;
1105 static gint ett_gsm_map_RemoteUserFreeArg = -1;
1106 static gint ett_gsm_map_RemoteUserFreeRes = -1;
1107 static gint ett_gsm_map_SS_Data = -1;
1108 static gint ett_gsm_map_SS_SubscriptionOption = -1;
1109 static gint ett_gsm_map_RegisterSS_Arg = -1;
1110 static gint ett_gsm_map_SS_Info = -1;
1111 static gint ett_gsm_map_InterrogateSS_Res = -1;
1112 static gint ett_gsm_map_Ussd_Arg = -1;
1113 static gint ett_gsm_map_Ussd_Res = -1;
1114 static gint ett_gsm_map_AuthenticationFailureReportArg = -1;
1115 static gint ett_gsm_map_AuthenticationFailureReportRes = -1;
1116 static gint ett_gsm_map_RegisterCC_EntryArg = -1;
1117 static gint ett_gsm_map_RegisterCC_EntryRes = -1;
1118 static gint ett_gsm_map_CCBS_Data = -1;
1119 static gint ett_gsm_map_ServiceIndicator = -1;
1120 static gint ett_gsm_map_EraseCC_EntryArg = -1;
1121 static gint ett_gsm_map_EraseCC_EntryRes = -1;
1122 static gint ett_gsm_map_RoutingInfoForSMArg = -1;
1123 static gint ett_gsm_map_RoutingInfoForSM_Res = -1;
1124 static gint ett_gsm_map_LocationInfoWithLMSI = -1;
1125 static gint ett_gsm_map_Additional_Number = -1;
1126 static gint ett_gsm_map_Mo_forwardSM_Arg = -1;
1127 static gint ett_gsm_map_Mo_forwardSM_Res = -1;
1128 static gint ett_gsm_map_Sm_RP_OA = -1;
1129 static gint ett_gsm_map_Sm_RP_DA = -1;
1130 static gint ett_gsm_map_Mt_forwardSM_Arg = -1;
1131 static gint ett_gsm_map_Mt_forwardSM_Res = -1;
1132 static gint ett_gsm_map_ReportSM_DeliveryStatusArg = -1;
1133 static gint ett_gsm_map_ReportSM_DeliveryStatusRes = -1;
1134 static gint ett_gsm_map_InformServiceCentreArg = -1;
1135 static gint ett_gsm_map_T_mw_Status = -1;
1136 static gint ett_gsm_map_AlertServiceCentreArg = -1;
1137 static gint ett_gsm_map_ReadyForSM_Arg = -1;
1138 static gint ett_gsm_map_ReadyForSM_Res = -1;
1139 static gint ett_gsm_map_ProvideSubscriberInfoArg = -1;
1140 static gint ett_gsm_map_ProvideSubscriberInfoRes = -1;
1141 static gint ett_gsm_map_SubscriberInfo = -1;
1142 static gint ett_gsm_map_MNPInfoRes = -1;
1143 static gint ett_gsm_map_GPRSMSClass = -1;
1144 static gint ett_gsm_map_RequestedInfo = -1;
1145 static gint ett_gsm_map_AnyTimeInterrogationArg = -1;
1146 static gint ett_gsm_map_AnyTimeInterrogationRes = -1;
1147 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationArg = -1;
1148 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationRes = -1;
1149 static gint ett_gsm_map_RequestedSubscriptionInfo = -1;
1150 static gint ett_gsm_map_CallForwardingData = -1;
1151 static gint ett_gsm_map_CallBarringData = -1;
1152 static gint ett_gsm_map_BasicServiceCode = -1;
1153 static gint ett_gsm_map_O_BcsmCamelTDPCriteriaList = -1;
1154 static gint ett_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList = -1;
1155 static gint ett_gsm_map_O_BcsmCamelTDP_Criteria = -1;
1156 static gint ett_gsm_map_T_BCSM_CAMEL_TDP_Criteria = -1;
1157 static gint ett_gsm_map_OfferedCamel4CSIs = -1;
1158 static gint ett_gsm_map_OfferedCamel4Functionalities = -1;
1159 static gint ett_gsm_map_SS_ForBS_Code = -1;
1160 static gint ett_gsm_map_GenericServiceInfo = -1;
1161 static gint ett_gsm_map_CCBS_FeatureList = -1;
1162 static gint ett_gsm_map_CCBS_Feature = -1;
1163 static gint ett_gsm_map_T_CauseValueCriteria = -1;
1164 static gint ett_gsm_map_O_CauseValueCriteria = -1;
1165 static gint ett_gsm_map_BasicServiceCriteria = -1;
1166 static gint ett_gsm_map_AnyTimeModificationArg = -1;
1167 static gint ett_gsm_map_AnyTimeModificationRes = -1;
1168 static gint ett_gsm_map_ModificationRequestFor_CF_Info = -1;
1169 static gint ett_gsm_map_ModificationRequestFor_CB_Info = -1;
1170 static gint ett_gsm_map_ModificationRequestFor_ODB_data = -1;
1171 static gint ett_gsm_map_ModificationRequestFor_CSI = -1;
1172 static gint ett_gsm_map_Ext_SS_InfoFor_CSE = -1;
1173 static gint ett_gsm_map_NoteSubscriberDataModifiedArg = -1;
1174 static gint ett_gsm_map_NoteSubscriberDataModifiedRes = -1;
1175 static gint ett_gsm_map_NoteMM_EventArg = -1;
1176 static gint ett_gsm_map_NoteMM_EventRes = -1;
1177 static gint ett_gsm_map_CAMEL_SubscriptionInfo = -1;
1178 static gint ett_gsm_map_Ext_ForwardingInfoFor_CSE = -1;
1179 static gint ett_gsm_map_Ext_BasicServiceCode = -1;
1180 static gint ett_gsm_map_Ext_CallBarringInfoFor_CSE = -1;
1181 static gint ett_gsm_map_ODB_Info = -1;
1182 static gint ett_gsm_map_ODB_Data = -1;
1183 static gint ett_gsm_map_M_CSI = -1;
1184 static gint ett_gsm_map_SS_EventList = -1;
1185 static gint ett_gsm_map_T_CSI = -1;
1186 static gint ett_gsm_map_T_BcsmCamelTDPDataList = -1;
1187 static gint ett_gsm_map_T_BcsmCamelTDPData = -1;
1188 static gint ett_gsm_map_SMS_CSI = -1;
1189 static gint ett_gsm_map_SMS_CAMEL_TDP_DataList = -1;
1190 static gint ett_gsm_map_SMS_CAMEL_TDP_Data = -1;
1191 static gint ett_gsm_map_MobilityTriggers = -1;
1192 static gint ett_gsm_map_Ss_InvocationNotificationArg = -1;
1193 static gint ett_gsm_map_T_ss_EventSpecification = -1;
1194 static gint ett_gsm_map_Ss_InvocationNotificationRes = -1;
1195 static gint ett_gsm_map_PrepareGroupCallArg = -1;
1196 static gint ett_gsm_map_PrepareGroupCallRes = -1;
1197 static gint ett_gsm_map_SendGroupCallEndSignalArg = -1;
1198 static gint ett_gsm_map_SendGroupCallEndSignalRes = -1;
1199 static gint ett_gsm_map_ProcessGroupCallSignallingArg = -1;
1200 static gint ett_gsm_map_ForwardGroupCallSignallingArg = -1;
1201 static gint ett_gsm_map_UpdateGprsLocationArg = -1;
1202 static gint ett_gsm_map_UpdateGprsLocationRes = -1;
1203 static gint ett_gsm_map_SGSN_Capability = -1;
1204 static gint ett_gsm_map_SendRoutingInfoForGprsArg = -1;
1205 static gint ett_gsm_map_SendRoutingInfoForGprsRes = -1;
1206 static gint ett_gsm_map_FailureReportArg = -1;
1207 static gint ett_gsm_map_FailureReportRes = -1;
1208 static gint ett_gsm_map_NoteMsPresentForGprsArg = -1;
1209 static gint ett_gsm_map_NoteMsPresentForGprsRes = -1;
1210 static gint ett_gsm_map_ProvideSubscriberLocation_Arg = -1;
1211 static gint ett_gsm_map_LocationType = -1;
1212 static gint ett_gsm_map_DeferredLocationEventType = -1;
1213 static gint ett_gsm_map_LCS_ClientID = -1;
1214 static gint ett_gsm_map_LCSClientName = -1;
1215 static gint ett_gsm_map_LCSRequestorID = -1;
1216 static gint ett_gsm_map_LCS_QoS = -1;
1217 static gint ett_gsm_map_ResponseTime = -1;
1218 static gint ett_gsm_map_SupportedGADShapes = -1;
1219 static gint ett_gsm_map_LCSCodeword = -1;
1220 static gint ett_gsm_map_LCS_PrivacyCheck = -1;
1221 static gint ett_gsm_map_AreaEventInfo = -1;
1222 static gint ett_gsm_map_AreaDefinition = -1;
1223 static gint ett_gsm_map_AreaList = -1;
1224 static gint ett_gsm_map_Area = -1;
1225 static gint ett_gsm_map_ProvideSubscriberLocation_Res = -1;
1226 static gint ett_gsm_map_TargetMS = -1;
1227 static gint ett_gsm_map_RoutingInfoForLCS_Arg = -1;
1228 static gint ett_gsm_map_RoutingInfoForLCS_Res = -1;
1229 static gint ett_gsm_map_LCSLocationInfo = -1;
1230 static gint ett_gsm_map_SubscriberLocationReport_Arg = -1;
1231 static gint ett_gsm_map_Deferredmt_lrData = -1;
1232 static gint ett_gsm_map_SubscriberLocationReport_Res = -1;
1233 static gint ett_gsm_map_SecureTransportArg = -1;
1234 static gint ett_gsm_map_SecureTransportRes = -1;
1235 static gint ett_gsm_map_SecurityHeader = -1;
1236 static gint ett_gsm_map_OriginalComponentIdentifier = -1;
1237 static gint ett_gsm_map_OperationCode = -1;
1238 static gint ett_gsm_map_ErrorCode = -1;
1239 static gint ett_gsm_map_SystemFailureParam = -1;
1240 static gint ett_gsm_map_T_extensibleSystemFailureParam = -1;
1241 static gint ett_gsm_map_DataMissingParam = -1;
1242 static gint ett_gsm_map_UnexpectedDataParam = -1;
1243 static gint ett_gsm_map_FacilityNotSupParam = -1;
1244 static gint ett_gsm_map_IncompatibleTerminalParam = -1;
1245 static gint ett_gsm_map_ResourceLimitationParam = -1;
1246 static gint ett_gsm_map_UnknownSubscriberParam = -1;
1247 static gint ett_gsm_map_NumberChangedParam = -1;
1248 static gint ett_gsm_map_UnidentifiedSubParam = -1;
1249 static gint ett_gsm_map_RoamingNotAllowedParam = -1;
1250 static gint ett_gsm_map_IllegalSubscriberParam = -1;
1251 static gint ett_gsm_map_IllegalEquipmentParam = -1;
1252 static gint ett_gsm_map_BearerServNotProvParam = -1;
1253 static gint ett_gsm_map_TeleservNotProvParam = -1;
1254 static gint ett_gsm_map_TracingBufferFullParam = -1;
1255 static gint ett_gsm_map_NoRoamingNbParam = -1;
1256 static gint ett_gsm_map_AbsentSubscriberParam = -1;
1257 static gint ett_gsm_map_BusySubscriberParam = -1;
1258 static gint ett_gsm_map_NoSubscriberReplyParam = -1;
1259 static gint ett_gsm_map_CallBarredParam = -1;
1260 static gint ett_gsm_map_T_extensibleCallBarredParam = -1;
1261 static gint ett_gsm_map_ForwardingFailedParam = -1;
1262 static gint ett_gsm_map_Or_NotAllowedParam = -1;
1263 static gint ett_gsm_map_ForwardingViolationParam = -1;
1264 static gint ett_gsm_map_Cug_RejectParam = -1;
1265 static gint ett_gsm_map_Ati_NotAllowedParam = -1;
1266 static gint ett_gsm_map_NoGroupCallNbParam = -1;
1267 static gint ett_gsm_map_SS_IncompatibilityCause = -1;
1268 static gint ett_gsm_map_ShortTermDenialParam = -1;
1269 static gint ett_gsm_map_LongTermDenialParam = -1;
1270 static gint ett_gsm_map_SubBusyForMT_SMS_Param = -1;
1271 static gint ett_gsm_map_Sm_DeliveryFailureCause = -1;
1272 static gint ett_gsm_map_MessageWaitListFullParam = -1;
1273 static gint ett_gsm_map_AbsentSubscriberSM_Param = -1;
1274 static gint ett_gsm_map_UnauthorizedRequestingNetwork_Param = -1;
1275 static gint ett_gsm_map_UnauthorizedLCSClient_Param = -1;
1276 static gint ett_gsm_map_PositionMethodFailure_Param = -1;
1277 static gint ett_gsm_map_UnknownOrUnreachableLCSClient_Param = -1;
1278 static gint ett_gsm_map_ExtensionContainer = -1;
1280 /*--- End of included file: packet-gsm_map-ett.c ---*/
1283 static dissector_table_t sms_dissector_table; /* SMS TPDU */
1284 static dissector_handle_t data_handle;
1286 /* Preferenc settings default */
1288 static range_t *global_ssn_range;
1289 static range_t *ssn_range;
1290 dissector_handle_t map_handle;
1292 /* Global variables */
1294 static proto_tree *top_tree;
1295 static int application_context_version;
1297 gint AccessNetworkProtocolId;
1298 static int gsm_map_tap = -1;
1302 unpack_digits(tvbuff_t *tvb, int offset){
1309 length = tvb_length(tvb);
1310 if (length < offset)
1312 length = length - offset;
1313 digit_str = g_malloc(length*2+1);
1315 while ( offset <= length ){
1317 octet = tvb_get_guint8(tvb,offset);
1318 digit_str[i] = ((octet & 0x0f) + 0x30);
1322 * unpack second value in byte
1326 if (octet == 0x0f) /* odd number bytes - hit filler */
1329 digit_str[i] = ((octet & 0x0f) + 0x30);
1340 /*--- Included file: packet-gsm_map-fn.c ---*/
1342 /*--- Fields for imported types ---*/
1346 static const value_string gsm_map_ProtocolId_vals[] = {
1349 { 3, "gsm-BSSMAP" },
1350 { 4, "ets-300102-1" },
1356 dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1357 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1362 static int dissect_protocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1363 return dissect_gsm_map_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_protocolId);
1369 dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1371 tvbuff_t *parameter_tvb;
1376 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1380 switch (protocolId){
1387 /* gsm-BSSMAP TODO Is it correct to stripp off tw first octets here?*/
1389 octet = tvb_get_guint8(parameter_tvb,0);
1390 length = tvb_get_guint8(parameter_tvb,1);
1391 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
1392 next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
1393 dissect_bssmap(next_tvb, pinfo, tree);
1396 /* ets-300102-1 (~Q.931 ) */
1398 octet = tvb_get_guint8(parameter_tvb,0);
1399 length = tvb_get_guint8(parameter_tvb,1);
1401 dissect_q931_bearer_capability_ie(parameter_tvb, 2, length, tree);
1410 static int dissect_signalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1411 return dissect_gsm_map_SignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_signalInfo);
1417 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_) {
1418 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1423 static int dissect_extId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1424 return dissect_gsm_map_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extId);
1426 static int dissect_globalValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1427 return dissect_gsm_map_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_globalValue);
1433 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_) {
1435 proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
1436 call_dissector(data_handle, tvb, pinfo, tree);
1437 offset = tvb_length_remaining(tvb,offset);
1442 static int dissect_extType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1443 return dissect_gsm_map_T_extType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extType);
1446 static const ber_sequence_t PrivateExtension_sequence[] = {
1447 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extId },
1448 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extType },
1453 dissect_gsm_map_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1454 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1455 PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
1459 static int dissect_PrivateExtensionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1460 return dissect_gsm_map_PrivateExtension(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PrivateExtensionList_item);
1463 static const ber_sequence_t PrivateExtensionList_sequence_of[1] = {
1464 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PrivateExtensionList_item },
1468 dissect_gsm_map_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1469 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1470 PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
1474 static int dissect_privateExtensionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1475 return dissect_gsm_map_PrivateExtensionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privateExtensionList);
1478 static const ber_sequence_t PcsExtensions_sequence[] = {
1483 dissect_gsm_map_PcsExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1484 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1485 PcsExtensions_sequence, hf_index, ett_gsm_map_PcsExtensions);
1489 static int dissect_pcsExtensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1490 return dissect_gsm_map_PcsExtensions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pcsExtensions);
1493 static const ber_sequence_t ExtensionContainer_sequence[] = {
1494 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
1495 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pcsExtensions_impl },
1500 dissect_gsm_map_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1501 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1502 ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
1506 static int dissect_extensionContainer(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1507 return dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
1509 static int dissect_extensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1510 return dissect_gsm_map_ExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
1513 static const ber_sequence_t Bss_APDU_sequence[] = {
1514 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_protocolId },
1515 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
1516 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1521 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_) {
1522 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1523 Bss_APDU_sequence, hf_index, ett_gsm_map_Bss_APDU);
1527 static int dissect_bss_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1528 return dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bss_APDU);
1534 dissect_gsm_map_SignalInfo2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1535 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1541 static const asn_namedbit SupportedCamelPhases_bits[] = {
1542 { 0, &hf_gsm_map_SupportedCamelPhases_phase1, -1, -1, "phase1", NULL },
1543 { 1, &hf_gsm_map_SupportedCamelPhases_phase2, -1, -1, "phase2", NULL },
1544 { 2, &hf_gsm_map_SupportedCamelPhases_phase3, -1, -1, "phase3", NULL },
1545 { 3, &hf_gsm_map_SupportedCamelPhases_phase4, -1, -1, "phase4", NULL },
1546 { 0, NULL, 0, 0, NULL, NULL }
1550 dissect_gsm_map_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1551 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1552 SupportedCamelPhases_bits, hf_index, ett_gsm_map_SupportedCamelPhases,
1557 static int dissect_supportedCamelPhases(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1558 return dissect_gsm_map_SupportedCamelPhases(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
1560 static int dissect_supportedCamelPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1561 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
1563 static int dissect_supportedCamelPhasesInVMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1564 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhasesInVMSC);
1566 static int dissect_supportedCamelPhasesInInterrogatingNode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1567 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhasesInInterrogatingNode);
1569 static int dissect_supportedVLR_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1570 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases);
1572 static int dissect_supportedSGSN_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1573 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases);
1575 static int dissect_supportedCAMELPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1576 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCAMELPhases);
1582 dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1584 tvbuff_t *parameter_tvb;
1587 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1592 digit_str = unpack_digits(parameter_tvb, 0);
1594 proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 0, -1, digit_str);
1603 static int dissect_imsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1604 return dissect_gsm_map_IMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
1606 static int dissect_imsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1607 return dissect_gsm_map_IMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
1613 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_) {
1615 tvbuff_t *parameter_tvb;
1618 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1624 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
1625 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
1626 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
1628 digit_str = unpack_digits(parameter_tvb, 1);
1630 proto_tree_add_string(tree, hf_gsm_map_isdn_address_digits, parameter_tvb, 1, -1, digit_str);
1634 pinfo->p2p_dir = P2P_DIR_RECV;
1639 static int dissect_msc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1640 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
1642 static int dissect_msc_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1643 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
1645 static int dissect_vlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1646 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
1648 static int dissect_vlr_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1649 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
1651 static int dissect_hlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1652 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_Number);
1654 static int dissect_sgsn_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1655 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
1657 static int dissect_sgsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1658 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
1660 static int dissect_handoverNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1661 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
1663 static int dissect_handoverNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1664 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
1666 static int dissect_targetMSC_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1667 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMSC_Number);
1669 static int dissect_targetMSC_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1670 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetMSC_Number);
1672 static int dissect_gsmSCF_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1673 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
1675 static int dissect_gsmSCF_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1676 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
1678 static int dissect_msisdn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1679 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
1681 static int dissect_msisdn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1682 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
1684 static int dissect_GMLC_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1685 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_GMLC_List_item);
1687 static int dissect_dialledNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1688 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_dialledNumber);
1690 static int dissect_forwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1691 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToNumber);
1693 static int dissect_DestinationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1694 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_DestinationNumberList_item);
1696 static int dissect_gmsc_OrGsmSCF_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1697 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmsc_OrGsmSCF_Address);
1699 static int dissect_vmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1700 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vmsc_Address);
1702 static int dissect_externalAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1703 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalAddress);
1705 static int dissect_roamingNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1706 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNumber);
1708 static int dissect_vlr_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1709 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_number);
1711 static int dissect_gmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1712 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmsc_Address);
1714 static int dissect_b_Subscriber_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1715 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_Subscriber_Address);
1717 static int dissect_sIWFSNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1718 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sIWFSNumber);
1720 static int dissect_msrn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1721 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msrn);
1723 static int dissect_translatedB_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1724 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_translatedB_Number);
1726 static int dissect_translatedB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1727 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_translatedB_Number);
1729 static int dissect_networkNode_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1730 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkNode_Number);
1732 static int dissect_networkNode_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1733 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkNode_Number);
1735 static int dissect_b_subscriberNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1736 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberNumber);
1738 static int dissect_groupCallNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1739 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupCallNumber);
1741 static int dissect_ggsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1742 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Number);
1744 static int dissect_mlc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1745 return dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mlc_Number);
1747 static int dissect_mlcNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1748 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mlcNumber);
1750 static int dissect_na_ESRD_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1751 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRD);
1753 static int dissect_na_ESRK_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1754 return dissect_gsm_map_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRK);
1760 dissect_gsm_map_LMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1761 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1766 static int dissect_lmsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1767 return dissect_gsm_map_LMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
1769 static int dissect_lmsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1770 return dissect_gsm_map_LMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
1776 dissect_gsm_map_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1777 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1781 static int dissect_informPreviousNetworkEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1782 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_informPreviousNetworkEntity);
1784 static int dissect_cs_LCS_NotSupportedByUE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1785 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cs_LCS_NotSupportedByUE);
1787 static int dissect_add_Capability(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1788 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_add_Capability);
1790 static int dissect_solsaSupportIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1791 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1793 static int dissect_solsaSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1794 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1796 static int dissect_longFTN_Supported_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1797 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longFTN_Supported);
1799 static int dissect_sendSubscriberData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1800 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sendSubscriberData);
1802 static int dissect_skipSubscriberDataUpdate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1803 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_skipSubscriberDataUpdate);
1805 static int dissect_na_ESRK_Request_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1806 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRK_Request);
1808 static int dissect_freezeTMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1809 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeTMSI);
1811 static int dissect_freezeP_TMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1812 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeP_TMSI);
1814 static int dissect_segmentationProhibited(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1815 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_segmentationProhibited);
1817 static int dissect_ho_NumberNotRequired(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1818 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ho_NumberNotRequired);
1820 static int dissect_multipleBearerRequested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1821 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerRequested);
1823 static int dissect_rab_ConfigurationIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1824 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rab_ConfigurationIndicator);
1826 static int dissect_rab_ConfigurationIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1827 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_ConfigurationIndicator);
1829 static int dissect_multipleBearerNotSupported(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1830 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerNotSupported);
1832 static int dissect_immediateResponsePreferred_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1833 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_immediateResponsePreferred);
1835 static int dissect_notificationToCSE(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1836 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1838 static int dissect_notificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1839 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1841 static int dissect_csiActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1842 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csiActive);
1844 static int dissect_roamingRestrictionDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1845 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictionDueToUnsupportedFeature);
1847 static int dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1848 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature);
1850 static int dissect_lmu_Indicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1851 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmu_Indicator);
1853 static int dissect_vplmnAddressAllowed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1854 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vplmnAddressAllowed);
1856 static int dissect_completeDataListIncluded(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1857 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_completeDataListIncluded);
1859 static int dissect_csi_Active_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1860 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csi_Active);
1862 static int dissect_lsaActiveModeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1863 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaActiveModeIndicator);
1865 static int dissect_vbsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1866 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsGroupIndication);
1868 static int dissect_vgcsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1869 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsGroupIndication);
1871 static int dissect_camelSubscriptionInfoWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1872 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelSubscriptionInfoWithdraw);
1874 static int dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1875 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature);
1877 static int dissect_gmlc_ListWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1878 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_ListWithdraw);
1880 static int dissect_istInformationWithdraw(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1881 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_istInformationWithdraw);
1883 static int dissect_istInformationWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1884 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istInformationWithdraw);
1886 static int dissect_chargingCharacteristicsWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1887 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingCharacteristicsWithdraw);
1889 static int dissect_allGPRSData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1890 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allGPRSData);
1892 static int dissect_allLSAData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1893 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allLSAData);
1895 static int dissect_tif_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1896 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI);
1898 static int dissect_msNotReachable(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_msNotReachable);
1901 static int dissect_broadcastInitEntitlement(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1902 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_broadcastInitEntitlement);
1904 static int dissect_or_Interrogation_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_or_Interrogation);
1907 static int dissect_ccbs_Call_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_ccbs_Call);
1910 static int dissect_pre_pagingSupported_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_pre_pagingSupported);
1913 static int dissect_suppress_VT_CSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1914 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppress_VT_CSI);
1916 static int dissect_suppress_VT_CSI_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_suppress_VT_CSI);
1919 static int dissect_suppressIncomingCallBarring(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1920 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppressIncomingCallBarring);
1922 static int dissect_gsmSCF_InitiatedCall(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_gsmSCF_InitiatedCall);
1925 static int dissect_cugSubscriptionFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1926 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cugSubscriptionFlag);
1928 static int dissect_forwardingInterrogationRequired_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_forwardingInterrogationRequired);
1931 static int dissect_releaseResourcesSupported(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_releaseResourcesSupported);
1934 static int dissect_releaseResourcesSupported_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_releaseResourcesSupported);
1937 static int dissect_suppress_T_CSI(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_suppress_T_CSI);
1940 static int dissect_ccbs_Possible_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_ccbs_Possible);
1943 static int dissect_keepCCBS_CallIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1944 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_keepCCBS_CallIndicator);
1946 static int dissect_currentLocationRetrieved(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1947 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocationRetrieved);
1949 static int dissect_currentLocationRetrieved_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_currentLocationRetrieved);
1952 static int dissect_sai_Present(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1953 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sai_Present);
1955 static int dissect_sai_Present_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_sai_Present);
1958 static int dissect_assumedIdle_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_assumedIdle);
1961 static int dissect_camelBusy_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_camelBusy);
1964 static int dissect_notProvidedFromVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1965 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromVLR);
1967 static int dissect_notProvidedFromSGSN_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_notProvidedFromSGSN);
1970 static int dissect_ps_Detached_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_ps_Detached);
1973 static int dissect_ps_AttachedNotReachableForPaging_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_ps_AttachedNotReachableForPaging);
1976 static int dissect_ps_AttachedReachableForPaging_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_ps_AttachedReachableForPaging);
1979 static int dissect_pdp_ContextActive_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_pdp_ContextActive);
1982 static int dissect_cug_OutgoingAccess(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1983 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_OutgoingAccess);
1985 static int dissect_orNotSupportedInGMSC_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_orNotSupportedInGMSC);
1988 static int dissect_allInformationSent(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_allInformationSent);
1991 static int dissect_allInformationSent_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_allInformationSent);
1994 static int dissect_uusCFInteraction_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_uusCFInteraction);
1997 static int dissect_replaceB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1998 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_replaceB_Number);
2000 static int dissect_gprsSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2001 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSupportIndicator);
2003 static int dissect_gprsNodeIndicator_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_gprsNodeIndicator);
2006 static int dissect_noSM_RP_OA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2007 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_OA);
2009 static int dissect_noSM_RP_DA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2010 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_DA);
2012 static int dissect_moreMessagesToSend(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2013 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_moreMessagesToSend);
2015 static int dissect_deliveryOutcomeIndicator_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_deliveryOutcomeIndicator);
2018 static int dissect_alertReasonIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2019 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReasonIndicator);
2021 static int dissect_locationInformation_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2022 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformation_flg);
2024 static int dissect_subscriberState_flg_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_subscriberState_flg);
2027 static int dissect_currentLocation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2028 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocation);
2030 static int dissect_imei_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2031 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei_flg);
2033 static int dissect_ms_classmark_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_ms_classmark);
2036 static int dissect_mnpRequestedInfo_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_mnpRequestedInfo);
2039 static int dissect_odb_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2040 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb);
2042 static int dissect_supportedVLR_CAMEL_Phases_flg_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_supportedVLR_CAMEL_Phases_flg);
2045 static int dissect_supportedSGSN_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2046 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases_flg);
2048 static int dissect_tif_CSI_NotificationToCSE_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_tif_CSI_NotificationToCSE);
2051 static int dissect_uplinkFree_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_uplinkFree);
2054 static int dissect_uplinkRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2055 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequest);
2057 static int dissect_uplinkReleaseIndication_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_uplinkReleaseIndication);
2060 static int dissect_releaseGroupCall_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2061 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_releaseGroupCall);
2063 static int dissect_uplinkRequestAck_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_uplinkRequestAck);
2066 static int dissect_uplinkRejectCommand_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_uplinkRejectCommand);
2069 static int dissect_uplinkSeizedCommand_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_uplinkSeizedCommand);
2072 static int dissect_uplinkReleaseCommand_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_uplinkReleaseCommand);
2075 static int dissect_ps_LCS_NotSupportedByUE_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_ps_LCS_NotSupportedByUE);
2078 static int dissect_gprsEnhancementsSupportIndicator_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_gprsEnhancementsSupportIndicator);
2081 static int dissect_smsCallBarringSupportIndicator_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_smsCallBarringSupportIndicator);
2084 static int dissect_privacyOverride_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_privacyOverride);
2087 static int dissect_verticalCoordinateRequest_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_verticalCoordinateRequest);
2090 static int dissect_deferredmt_lrResponseIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2091 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deferredmt_lrResponseIndicator);
2093 static int dissect_pseudonymIndicator_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_pseudonymIndicator);
2096 static int dissect_userInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2097 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_userInfo);
2099 static int dissect_ccbs_Busy_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_ccbs_Busy);
2102 static int dissect_unauthorisedMessageOriginator_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_unauthorisedMessageOriginator);
2105 static int dissect_gprsConnectionSuspended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2106 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsConnectionSuspended);
2110 static const value_string gsm_map_IST_SupportIndicator_vals[] = {
2111 { 0, "basicISTSupported" },
2112 { 1, "istCommandSupported" },
2118 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_) {
2119 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2124 static int dissect_istSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2125 return dissect_gsm_map_IST_SupportIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istSupportIndicator);
2131 dissect_gsm_map_AgeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2132 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2137 static int dissect_subscriberDataStored_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2138 return dissect_gsm_map_AgeIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberDataStored);
2140 static int dissect_superChargerSupportedInHLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2141 return dissect_gsm_map_AgeIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInHLR);
2145 static const value_string gsm_map_SuperChargerInfo_vals[] = {
2146 { 0, "sendSubscriberData" },
2147 { 1, "subscriberDataStored" },
2151 static const ber_choice_t SuperChargerInfo_choice[] = {
2152 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendSubscriberData_impl },
2153 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_subscriberDataStored_impl },
2154 { 0, 0, 0, 0, NULL }
2158 dissect_gsm_map_SuperChargerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2159 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2160 SuperChargerInfo_choice, hf_index, ett_gsm_map_SuperChargerInfo, NULL);
2164 static int dissect_superChargerSupportedInServingNetworkEntity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2165 return dissect_gsm_map_SuperChargerInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInServingNetworkEntity);
2167 static int dissect_superChargerSupportedInServingNetworkEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2168 return dissect_gsm_map_SuperChargerInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInServingNetworkEntity);
2171 static const asn_namedbit SupportedLCS_CapabilitySets_bits[] = {
2172 { 0, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet1, -1, -1, "lcsCapabilitySet1", NULL },
2173 { 1, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet2, -1, -1, "lcsCapabilitySet2", NULL },
2174 { 2, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet3, -1, -1, "lcsCapabilitySet3", NULL },
2175 { 3, &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet4, -1, -1, "lcsCapabilitySet4", NULL },
2176 { 0, NULL, 0, 0, NULL, NULL }
2180 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_) {
2181 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2182 SupportedLCS_CapabilitySets_bits, hf_index, ett_gsm_map_SupportedLCS_CapabilitySets,
2187 static int dissect_supportedLCS_CapabilitySets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2188 return dissect_gsm_map_SupportedLCS_CapabilitySets(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedLCS_CapabilitySets);
2190 static int dissect_additional_LCS_CapabilitySets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2191 return dissect_gsm_map_SupportedLCS_CapabilitySets(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additional_LCS_CapabilitySets);
2194 static const asn_namedbit OfferedCamel4CSIs_bits[] = {
2195 { 0, &hf_gsm_map_OfferedCamel4CSIs_o_csi, -1, -1, "o-csi", NULL },
2196 { 1, &hf_gsm_map_OfferedCamel4CSIs_d_csi, -1, -1, "d-csi", NULL },
2197 { 2, &hf_gsm_map_OfferedCamel4CSIs_vt_csi, -1, -1, "vt-csi", NULL },
2198 { 3, &hf_gsm_map_OfferedCamel4CSIs_t_csi, -1, -1, "t-csi", NULL },
2199 { 4, &hf_gsm_map_OfferedCamel4CSIs_mt_sms_csi, -1, -1, "mt-sms-csi", NULL },
2200 { 5, &hf_gsm_map_OfferedCamel4CSIs_mg_csi, -1, -1, "mg-csi", NULL },
2201 { 6, &hf_gsm_map_OfferedCamel4CSIs_psi_enhancements, -1, -1, "psi-enhancements", NULL },
2202 { 0, NULL, 0, 0, NULL, NULL }
2206 dissect_gsm_map_OfferedCamel4CSIs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2207 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2208 OfferedCamel4CSIs_bits, hf_index, ett_gsm_map_OfferedCamel4CSIs,
2213 static int dissect_offeredCamel4CSIs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2214 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIs);
2216 static int dissect_offeredCamel4CSIsInVMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2217 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInVMSC);
2219 static int dissect_offeredCamel4CSIsInInterrogatingNode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2220 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInInterrogatingNode);
2222 static int dissect_offeredCamel4CSIsInVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2223 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInVLR);
2225 static int dissect_offeredCamel4CSIsInSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2226 return dissect_gsm_map_OfferedCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInSGSN);
2229 static const ber_sequence_t VLR_Capability_sequence[] = {
2230 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
2231 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2232 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_solsaSupportIndicator_impl },
2233 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istSupportIndicator_impl },
2234 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_superChargerSupportedInServingNetworkEntity },
2235 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
2236 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
2237 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
2242 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_) {
2243 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2244 VLR_Capability_sequence, hf_index, ett_gsm_map_VLR_Capability);
2248 static int dissect_vlr_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2249 return dissect_gsm_map_VLR_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Capability);
2255 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_) {
2256 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2261 static int dissect_v_gmlc_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2262 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_v_gmlc_Address);
2264 static int dissect_v_gmlc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2265 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_v_gmlc_Address);
2267 static int dissect_ggsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2268 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Address);
2270 static int dissect_rnc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2271 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rnc_Address);
2273 static int dissect_sgsn_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2274 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
2276 static int dissect_sgsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2277 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
2279 static int dissect_h_gmlc_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2280 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_h_gmlc_Address);
2282 static int dissect_h_gmlc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2283 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_h_gmlc_Address);
2285 static int dissect_ppr_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2286 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ppr_Address);
2288 static int dissect_additional_v_gmlc_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2289 return dissect_gsm_map_GSN_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_additional_v_gmlc_Address);
2295 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_) {
2296 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2304 dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2305 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2309 static int dissect_imeisv_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2310 return dissect_gsm_map_IMEI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imeisv);
2312 static int dissect_imei(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2313 return dissect_gsm_map_IMEI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
2315 static int dissect_imei_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2316 return dissect_gsm_map_IMEI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
2319 static const ber_sequence_t ADD_Info_sequence[] = {
2320 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imeisv_impl },
2321 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_skipSubscriberDataUpdate_impl },
2326 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_) {
2327 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2328 ADD_Info_sequence, hf_index, ett_gsm_map_ADD_Info);
2332 static int dissect_add_info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2333 return dissect_gsm_map_ADD_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_add_info);
2336 static const ber_sequence_t UpdateLocationArg_sequence[] = {
2337 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2338 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
2339 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_vlr_Number },
2340 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
2341 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2342 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
2343 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_informPreviousNetworkEntity_impl },
2344 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cs_LCS_NotSupportedByUE_impl },
2345 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_v_gmlc_Address_impl },
2346 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_info_impl },
2351 dissect_gsm_map_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2352 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2353 UpdateLocationArg_sequence, hf_index, ett_gsm_map_UpdateLocationArg);
2358 static const ber_sequence_t UpdateLocationRes_sequence[] = {
2359 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
2360 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2361 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_add_Capability },
2366 dissect_gsm_map_UpdateLocationRes(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 UpdateLocationRes_sequence, hf_index, ett_gsm_map_UpdateLocationRes);
2373 static const ber_sequence_t SLR_Arg_PCS_Extensions_sequence[] = {
2374 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_Request_impl },
2379 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_) {
2380 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2381 SLR_Arg_PCS_Extensions_sequence, hf_index, ett_gsm_map_SLR_Arg_PCS_Extensions);
2385 static int dissect_slr_Arg_PCS_Extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2386 return dissect_gsm_map_SLR_Arg_PCS_Extensions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_slr_Arg_PCS_Extensions);
2389 static const ber_sequence_t SLR_ArgExtensionContainer_sequence[] = {
2390 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
2391 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_slr_Arg_PCS_Extensions_impl },
2396 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_) {
2397 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2398 SLR_ArgExtensionContainer_sequence, hf_index, ett_gsm_map_SLR_ArgExtensionContainer);
2402 static int dissect_slr_ArgExtensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2403 return dissect_gsm_map_SLR_ArgExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_slr_ArgExtensionContainer);
2409 dissect_gsm_map_Teleservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2410 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2415 static int dissect_teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2416 return dissect_gsm_map_Teleservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice);
2422 dissect_gsm_map_Bearerservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2423 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2428 static int dissect_bearerservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2429 return dissect_gsm_map_Bearerservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerservice);
2435 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_) {
2436 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2442 static const ber_sequence_t IMSI_WithLMSI_sequence[] = {
2443 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2444 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_lmsi },
2449 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_) {
2450 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2451 IMSI_WithLMSI_sequence, hf_index, ett_gsm_map_IMSI_WithLMSI);
2455 static int dissect_imsi_WithLMSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2456 return dissect_gsm_map_IMSI_WithLMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi_WithLMSI);
2460 static const value_string gsm_map_Identity_vals[] = {
2462 { 1, "imsi-WithLMSI" },
2466 static const ber_choice_t Identity_choice[] = {
2467 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2468 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_imsi_WithLMSI },
2469 { 0, 0, 0, 0, NULL }
2473 dissect_gsm_map_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2474 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2475 Identity_choice, hf_index, ett_gsm_map_Identity, NULL);
2479 static int dissect_identity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2480 return dissect_gsm_map_Identity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_identity);
2484 static const value_string gsm_map_CancellationType_vals[] = {
2485 { 0, "updateProcedure" },
2486 { 1, "subscriptionWithdraw" },
2492 dissect_gsm_map_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2493 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2498 static int dissect_cancellationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2499 return dissect_gsm_map_CancellationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cancellationType);
2502 static const ber_sequence_t CancelLocationArg_sequence[] = {
2503 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_identity },
2504 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cancellationType },
2505 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2510 dissect_gsm_map_CancelLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2511 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2512 CancelLocationArg_sequence, hf_index, ett_gsm_map_CancelLocationArg);
2517 static const ber_sequence_t CancelLocationRes_sequence[] = {
2518 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2523 dissect_gsm_map_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2524 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2525 CancelLocationRes_sequence, hf_index, ett_gsm_map_CancelLocationRes);
2530 static const ber_sequence_t PurgeMSArg_sequence[] = {
2531 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2532 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Number_impl },
2533 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
2534 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2539 dissect_gsm_map_PurgeMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2540 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2541 PurgeMSArg_sequence, hf_index, ett_gsm_map_PurgeMSArg);
2546 static const ber_sequence_t PurgeMSRes_sequence[] = {
2547 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeTMSI_impl },
2548 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeP_TMSI_impl },
2549 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2554 dissect_gsm_map_PurgeMSRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2555 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2556 PurgeMSRes_sequence, hf_index, ett_gsm_map_PurgeMSRes);
2564 dissect_gsm_map_TMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2565 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2570 static int dissect_tmsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2571 return dissect_gsm_map_TMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_tmsi);
2577 dissect_gsm_map_NumberOfRequestedVectors(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2578 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2583 static int dissect_numberOfRequestedVectors(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2584 return dissect_gsm_map_NumberOfRequestedVectors(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfRequestedVectors);
2590 dissect_gsm_map_LAIFixedLength(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,
2596 static int dissect_previous_LAI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2597 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_previous_LAI);
2599 static int dissect_laiFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2600 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_laiFixedLength);
2606 dissect_gsm_map_HopCounter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2607 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2612 static int dissect_hopCounter_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2613 return dissect_gsm_map_HopCounter(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_hopCounter);
2616 static const ber_sequence_t SendIdentificationArg_sequence[] = {
2617 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_tmsi },
2618 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_numberOfRequestedVectors },
2619 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_segmentationProhibited },
2620 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2621 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msc_Number },
2622 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_previous_LAI_impl },
2623 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_hopCounter_impl },
2628 dissect_gsm_map_SendIdentificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2629 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2630 SendIdentificationArg_sequence, hf_index, ett_gsm_map_SendIdentificationArg);
2638 dissect_gsm_map_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2639 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2644 static int dissect_rand(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2645 return dissect_gsm_map_RAND(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rand);
2651 dissect_gsm_map_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2652 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2657 static int dissect_sres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2658 return dissect_gsm_map_SRES(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sres);
2664 dissect_gsm_map_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2665 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2670 static int dissect_kc(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2671 return dissect_gsm_map_Kc(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_kc);
2673 static int dissect_groupKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2674 return dissect_gsm_map_Kc(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKey);
2677 static const ber_sequence_t AuthenticationTriplet_sequence[] = {
2678 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
2679 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
2680 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
2685 dissect_gsm_map_AuthenticationTriplet(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2686 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2687 AuthenticationTriplet_sequence, hf_index, ett_gsm_map_AuthenticationTriplet);
2691 static int dissect_TripletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2692 return dissect_gsm_map_AuthenticationTriplet(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_TripletList_item);
2695 static const ber_sequence_t TripletList_sequence_of[1] = {
2696 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TripletList_item },
2700 dissect_gsm_map_TripletList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2701 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2702 TripletList_sequence_of, hf_index, ett_gsm_map_TripletList);
2706 static int dissect_tripletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2707 return dissect_gsm_map_TripletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tripletList);
2713 dissect_gsm_map_XRES(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2714 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2719 static int dissect_xres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2720 return dissect_gsm_map_XRES(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_xres);
2726 dissect_gsm_map_CK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2727 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2732 static int dissect_ck(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2733 return dissect_gsm_map_CK(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ck);
2739 dissect_gsm_map_IK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2740 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2745 static int dissect_ik(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2746 return dissect_gsm_map_IK(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ik);
2752 dissect_gsm_map_AUTN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2753 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2758 static int dissect_autn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2759 return dissect_gsm_map_AUTN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_autn);
2762 static const ber_sequence_t AuthenticationQuintuplet_sequence[] = {
2763 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
2764 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_xres },
2765 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ck },
2766 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ik },
2767 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_autn },
2772 dissect_gsm_map_AuthenticationQuintuplet(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2773 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2774 AuthenticationQuintuplet_sequence, hf_index, ett_gsm_map_AuthenticationQuintuplet);
2778 static int dissect_QuintupletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2779 return dissect_gsm_map_AuthenticationQuintuplet(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_QuintupletList_item);
2782 static const ber_sequence_t QuintupletList_sequence_of[1] = {
2783 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_QuintupletList_item },
2787 dissect_gsm_map_QuintupletList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2788 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2789 QuintupletList_sequence_of, hf_index, ett_gsm_map_QuintupletList);
2793 static int dissect_quintupletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2794 return dissect_gsm_map_QuintupletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_quintupletList);
2798 static const value_string gsm_map_AuthenticationSetList_vals[] = {
2799 { 0, "tripletList" },
2800 { 1, "quintupletList" },
2804 static const ber_choice_t AuthenticationSetList_choice[] = {
2805 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_tripletList_impl },
2806 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_quintupletList_impl },
2807 { 0, 0, 0, 0, NULL }
2811 dissect_gsm_map_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2812 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2813 AuthenticationSetList_choice, hf_index, ett_gsm_map_AuthenticationSetList, NULL);
2817 static int dissect_authenticationSetList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2818 return dissect_gsm_map_AuthenticationSetList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_authenticationSetList);
2824 dissect_gsm_map_Cksn(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2825 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2830 static int dissect_cksn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2831 return dissect_gsm_map_Cksn(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cksn);
2834 static const ber_sequence_t GSM_SecurityContextData_sequence[] = {
2835 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
2836 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cksn },
2841 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_) {
2842 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2843 GSM_SecurityContextData_sequence, hf_index, ett_gsm_map_GSM_SecurityContextData);
2847 static int dissect_gsm_SecurityContextData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2848 return dissect_gsm_map_GSM_SecurityContextData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsm_SecurityContextData);
2854 dissect_gsm_map_KSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2855 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2860 static int dissect_ksi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2861 return dissect_gsm_map_KSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ksi);
2864 static const ber_sequence_t UMTS_SecurityContextData_sequence[] = {
2865 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ck },
2866 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ik },
2867 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ksi },
2872 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_) {
2873 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2874 UMTS_SecurityContextData_sequence, hf_index, ett_gsm_map_UMTS_SecurityContextData);
2878 static int dissect_umts_SecurityContextData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2879 return dissect_gsm_map_UMTS_SecurityContextData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_umts_SecurityContextData);
2883 static const value_string gsm_map_CurrentSecurityContext_vals[] = {
2884 { 0, "gsm-SecurityContextData" },
2885 { 1, "umts-SecurityContextData" },
2889 static const ber_choice_t CurrentSecurityContext_choice[] = {
2890 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_SecurityContextData_impl },
2891 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_umts_SecurityContextData_impl },
2892 { 0, 0, 0, 0, NULL }
2896 dissect_gsm_map_CurrentSecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2897 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2898 CurrentSecurityContext_choice, hf_index, ett_gsm_map_CurrentSecurityContext, NULL);
2902 static int dissect_currentSecurityContext_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2903 return dissect_gsm_map_CurrentSecurityContext(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentSecurityContext);
2906 static const ber_sequence_t SendIdentificationRes_sequence[] = {
2907 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
2908 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_authenticationSetList },
2909 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_currentSecurityContext_impl },
2910 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2915 dissect_gsm_map_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2916 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2917 SendIdentificationRes_sequence, hf_index, ett_gsm_map_SendIdentificationRes);
2925 dissect_gsm_map_AUTS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2926 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2931 static int dissect_auts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2932 return dissect_gsm_map_AUTS(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_auts);
2938 dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2939 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2944 static int dissect_targetCellId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2945 return dissect_gsm_map_GlobalCellId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
2947 static int dissect_targetCellId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2948 return dissect_gsm_map_GlobalCellId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
2951 static const ber_sequence_t PrepareHO_Arg_sequence[] = {
2952 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_targetCellId },
2953 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
2954 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2959 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_) {
2960 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2961 PrepareHO_Arg_sequence, hf_index, ett_gsm_map_PrepareHO_Arg);
2969 dissect_gsm_map_RNCId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2970 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2975 static int dissect_targetRNCId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2976 return dissect_gsm_map_RNCId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetRNCId);
2980 static const value_string gsm_map_AccessNetworkProtocolId_vals[] = {
2981 { 1, "ts3G-48006" },
2982 { 2, "ts3G-25413" },
2988 dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2989 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2990 &AccessNetworkProtocolId);
2994 static int dissect_accessNetworkProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2995 return dissect_gsm_map_AccessNetworkProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_accessNetworkProtocolId);
3001 dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3003 tvbuff_t *parameter_tvb;
3008 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3012 switch (AccessNetworkProtocolId){
3015 octet = tvb_get_guint8(parameter_tvb,0);
3016 length = tvb_get_guint8(parameter_tvb,1);
3017 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
3019 next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
3020 dissect_bssmap(next_tvb, pinfo, tree);
3033 static int dissect_longsignalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3034 return dissect_gsm_map_LongSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_longsignalInfo);
3037 static const ber_sequence_t AccessNetworkSignalInfo_sequence[] = {
3038 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_accessNetworkProtocolId },
3039 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_longsignalInfo },
3040 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3045 dissect_gsm_map_AccessNetworkSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3046 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3047 AccessNetworkSignalInfo_sequence, hf_index, ett_gsm_map_AccessNetworkSignalInfo);
3051 static int dissect_an_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3052 return dissect_gsm_map_AccessNetworkSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
3054 static int dissect_an_APDU_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3055 return dissect_gsm_map_AccessNetworkSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
3061 dissect_gsm_map_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3062 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3067 static int dissect_integrityProtectionInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3068 return dissect_gsm_map_IntegrityProtectionInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionInfo);
3070 static int dissect_integrityProtectionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3071 return dissect_gsm_map_IntegrityProtectionInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionInfo);
3077 dissect_gsm_map_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3078 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3083 static int dissect_encryptionInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3084 return dissect_gsm_map_EncryptionInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionInfo);
3086 static int dissect_encryptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3087 return dissect_gsm_map_EncryptionInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionInfo);
3093 dissect_gsm_map_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3094 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3099 static int dissect_radioResourceInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3100 return dissect_gsm_map_RadioResourceInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
3102 static int dissect_radioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3103 return dissect_gsm_map_RadioResourceInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
3109 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_) {
3110 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3115 static int dissect_allowedGSM_Algorithms(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3116 return dissect_gsm_map_AllowedGSM_Algorithms(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allowedGSM_Algorithms);
3118 static int dissect_allowedGSM_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3119 return dissect_gsm_map_AllowedGSM_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedGSM_Algorithms);
3125 dissect_gsm_map_PermittedIntegrityProtectionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3126 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3131 static int dissect_integrityProtectionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3132 return dissect_gsm_map_PermittedIntegrityProtectionAlgorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithms);
3138 dissect_gsm_map_PermittedEncryptionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3139 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3144 static int dissect_encryptionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3145 return dissect_gsm_map_PermittedEncryptionAlgorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithms);
3148 static const ber_sequence_t AllowedUMTS_Algorithms_sequence[] = {
3149 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithms_impl },
3150 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithms_impl },
3151 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3156 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_) {
3157 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3158 AllowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_AllowedUMTS_Algorithms);
3162 static int dissect_allowedUMTS_Algorithms(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3163 return dissect_gsm_map_AllowedUMTS_Algorithms(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allowedUMTS_Algorithms);
3165 static int dissect_allowedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3166 return dissect_gsm_map_AllowedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedUMTS_Algorithms);
3172 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_) {
3173 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3178 static int dissect_rab_Id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3179 return dissect_gsm_map_RAB_Id(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
3181 static int dissect_rab_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3182 return dissect_gsm_map_RAB_Id(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
3184 static int dissect_selectedRab_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3185 return dissect_gsm_map_RAB_Id(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedRab_Id);
3188 static const ber_sequence_t RadioResource_sequence[] = {
3189 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_radioResourceInformation },
3190 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
3195 dissect_gsm_map_RadioResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3196 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3197 RadioResource_sequence, hf_index, ett_gsm_map_RadioResource);
3201 static int dissect_RadioResourceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3202 return dissect_gsm_map_RadioResource(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_RadioResourceList_item);
3205 static const ber_sequence_t RadioResourceList_sequence_of[1] = {
3206 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RadioResourceList_item },
3210 dissect_gsm_map_RadioResourceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3211 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3212 RadioResourceList_sequence_of, hf_index, ett_gsm_map_RadioResourceList);
3216 static int dissect_radioResourceList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3217 return dissect_gsm_map_RadioResourceList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList);
3219 static int dissect_radioResourceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3220 return dissect_gsm_map_RadioResourceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList);
3226 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_) {
3227 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3232 static int dissect_bssmap_ServiceHandover(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3233 return dissect_gsm_map_BSSMAP_ServiceHandover(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
3235 static int dissect_bssmap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3236 return dissect_gsm_map_BSSMAP_ServiceHandover(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
3242 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_) {
3243 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3248 static int dissect_ranap_ServiceHandover(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3249 return dissect_gsm_map_RANAP_ServiceHandover(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ranap_ServiceHandover);
3251 static int dissect_ranap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3252 return dissect_gsm_map_RANAP_ServiceHandover(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ranap_ServiceHandover);
3255 static const ber_sequence_t BSSMAP_ServiceHandoverInfo_sequence[] = {
3256 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bssmap_ServiceHandover },
3257 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
3262 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_) {
3263 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3264 BSSMAP_ServiceHandoverInfo_sequence, hf_index, ett_gsm_map_BSSMAP_ServiceHandoverInfo);
3268 static int dissect_BSSMAP_ServiceHandoverList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3269 return dissect_gsm_map_BSSMAP_ServiceHandoverInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BSSMAP_ServiceHandoverList_item);
3272 static const ber_sequence_t BSSMAP_ServiceHandoverList_sequence_of[1] = {
3273 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BSSMAP_ServiceHandoverList_item },
3277 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_) {
3278 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3279 BSSMAP_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_BSSMAP_ServiceHandoverList);
3283 static int dissect_bssmap_ServiceHandoverList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3284 return dissect_gsm_map_BSSMAP_ServiceHandoverList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList);
3286 static int dissect_bssmap_ServiceHandoverList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3287 return dissect_gsm_map_BSSMAP_ServiceHandoverList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList);
3292 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_) {
3293 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3297 static int dissect_asciCallReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3298 return dissect_gsm_map_ASCI_CallReference(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
3300 static int dissect_asciCallReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3301 return dissect_gsm_map_ASCI_CallReference(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
3307 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_) {
3308 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3313 static int dissect_geran_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3314 return dissect_gsm_map_GERAN_Classmark(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geran_classmark);
3320 dissect_gsm_map_Codec(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3321 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3326 static int dissect_iuCurrentlyUsedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3327 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuCurrentlyUsedCodec);
3329 static int dissect_iuSelectedCodec(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3330 return dissect_gsm_map_Codec(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_iuSelectedCodec);
3332 static int dissect_iUSelectedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3333 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iUSelectedCodec);
3335 static int dissect_codec1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3336 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec1);
3338 static int dissect_codec2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3339 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec2);
3341 static int dissect_codec3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3342 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec3);
3344 static int dissect_codec4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3345 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec4);
3347 static int dissect_codec5_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3348 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec5);
3350 static int dissect_codec6_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3351 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec6);
3353 static int dissect_codec7_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3354 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec7);
3356 static int dissect_codec8_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3357 return dissect_gsm_map_Codec(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec8);
3359 static int dissect_currentlyUsedCodec(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3360 return dissect_gsm_map_Codec(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentlyUsedCodec);
3363 static const ber_sequence_t CodecList_sequence[] = {
3364 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
3365 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
3366 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
3367 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
3368 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
3369 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
3370 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
3371 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
3372 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3377 dissect_gsm_map_CodecList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3378 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3379 CodecList_sequence, hf_index, ett_gsm_map_CodecList);
3383 static int dissect_iuAvailableCodecsList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3384 return dissect_gsm_map_CodecList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_iuAvailableCodecsList);
3386 static int dissect_iuAvailableCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3387 return dissect_gsm_map_CodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuAvailableCodecsList);
3389 static int dissect_utranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3390 return dissect_gsm_map_CodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_utranCodecList);
3392 static int dissect_geranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3393 return dissect_gsm_map_CodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geranCodecList);
3396 static const ber_sequence_t SupportedCodecsList_sequence[] = {
3397 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranCodecList_impl },
3398 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranCodecList_impl },
3399 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3404 dissect_gsm_map_SupportedCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3405 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3406 SupportedCodecsList_sequence, hf_index, ett_gsm_map_SupportedCodecsList);
3410 static int dissect_iuSupportedCodecsList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3411 return dissect_gsm_map_SupportedCodecsList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_iuSupportedCodecsList);
3413 static int dissect_iuSupportedCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3414 return dissect_gsm_map_SupportedCodecsList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuSupportedCodecsList);
3419 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_) {
3420 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3426 static int dissect_uesbi_IuA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3427 return dissect_gsm_map_UESBI_IuA(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuA);
3432 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_) {
3433 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3439 static int dissect_uesbi_IuB_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3440 return dissect_gsm_map_UESBI_IuB(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuB);
3443 static const ber_sequence_t UESBI_Iu_sequence[] = {
3444 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuA_impl },
3445 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuB_impl },
3450 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_) {
3451 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3452 UESBI_Iu_sequence, hf_index, ett_gsm_map_UESBI_Iu);
3456 static int dissect_uesbi_Iu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3457 return dissect_gsm_map_UESBI_Iu(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_Iu);
3459 static int dissect_bmuef(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3460 return dissect_gsm_map_UESBI_Iu(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bmuef);
3463 static const ber_sequence_t PrepareHO_ArgV3_sequence[] = {
3464 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetCellId_impl },
3465 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
3466 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetRNCId_impl },
3467 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
3468 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multipleBearerRequested_impl },
3469 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
3470 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionInfo_impl },
3471 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionInfo_impl },
3472 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceInformation_impl },
3473 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedGSM_Algorithms_impl },
3474 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedUMTS_Algorithms_impl },
3475 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceList_impl },
3476 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3477 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_Id_impl },
3478 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandover_impl },
3479 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ranap_ServiceHandover_impl },
3480 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandoverList_impl },
3481 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asciCallReference_impl },
3482 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geran_classmark_impl },
3483 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuCurrentlyUsedCodec_impl },
3484 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuSupportedCodecsList_impl },
3485 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_ConfigurationIndicator_impl },
3486 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_Iu_impl },
3487 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imeisv_impl },
3492 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_) {
3493 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3494 PrepareHO_ArgV3_sequence, hf_index, ett_gsm_map_PrepareHO_ArgV3);
3499 static const ber_sequence_t PrepareHO_Res_sequence[] = {
3500 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
3501 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
3506 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_) {
3507 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3508 PrepareHO_Res_sequence, hf_index, ett_gsm_map_PrepareHO_Res);
3516 dissect_gsm_map_HandoverNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3517 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3523 static const ber_sequence_t RelocationNumber_sequence[] = {
3524 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
3525 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
3530 dissect_gsm_map_RelocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3531 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3532 RelocationNumber_sequence, hf_index, ett_gsm_map_RelocationNumber);
3536 static int dissect_RelocationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3537 return dissect_gsm_map_RelocationNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_RelocationNumberList_item);
3540 static const ber_sequence_t RelocationNumberList_sequence_of[1] = {
3541 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelocationNumberList_item },
3545 dissect_gsm_map_RelocationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3546 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3547 RelocationNumberList_sequence_of, hf_index, ett_gsm_map_RelocationNumberList);
3551 static int dissect_relocationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3552 return dissect_gsm_map_RelocationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_relocationNumberList);
3558 dissect_gsm_map_MulticallBearerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3559 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3564 static int dissect_multicallBearerInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3565 return dissect_gsm_map_MulticallBearerInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multicallBearerInfo);
3571 dissect_gsm_map_ChosenIntegrityProtectionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3572 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3577 static int dissect_integrityProtectionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3578 return dissect_gsm_map_ChosenIntegrityProtectionAlgorithm(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithm);
3584 dissect_gsm_map_ChosenEncryptionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3585 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3590 static int dissect_encryptionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3591 return dissect_gsm_map_ChosenEncryptionAlgorithm(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithm);
3594 static const ber_sequence_t SelectedUMTS_Algorithms_sequence[] = {
3595 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithm_impl },
3596 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithm_impl },
3597 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3602 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_) {
3603 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3604 SelectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_SelectedUMTS_Algorithms);
3608 static int dissect_selectedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3609 return dissect_gsm_map_SelectedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedUMTS_Algorithms);
3615 dissect_gsm_map_ChosenChannelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3616 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3621 static int dissect_chosenChannelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3622 return dissect_gsm_map_ChosenChannelInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannelInfo);
3628 dissect_gsm_map_ChosenSpeechVersion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3629 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3634 static int dissect_chosenSpeechVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3635 return dissect_gsm_map_ChosenSpeechVersion(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenSpeechVersion);
3638 static const ber_sequence_t ChosenRadioResourceInformation_sequence[] = {
3639 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannelInfo_impl },
3640 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenSpeechVersion_impl },
3645 dissect_gsm_map_ChosenRadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3646 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3647 ChosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_ChosenRadioResourceInformation);
3651 static int dissect_chosenRadioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3652 return dissect_gsm_map_ChosenRadioResourceInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenRadioResourceInformation);
3655 static const ber_sequence_t PrepareHO_ResV3_sequence[] = {
3656 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_handoverNumber_impl },
3657 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relocationNumberList_impl },
3658 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
3659 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multicallBearerInfo_impl },
3660 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_multipleBearerNotSupported },
3661 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedUMTS_Algorithms_impl },
3662 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenRadioResourceInformation_impl },
3663 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3664 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_iuSelectedCodec },
3665 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_iuAvailableCodecsList },
3670 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_) {
3671 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3672 PrepareHO_ResV3_sequence, hf_index, ett_gsm_map_PrepareHO_ResV3);
3680 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_) {
3681 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3690 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_) {
3691 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3697 static const ber_sequence_t SendEndSignalArgV3_sequence[] = {
3698 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
3699 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3704 dissect_gsm_map_SendEndSignalArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3705 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3706 SendEndSignalArgV3_sequence, hf_index, ett_gsm_map_SendEndSignalArgV3);
3711 static const ber_sequence_t SendEndSignalRes_sequence[] = {
3712 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3717 dissect_gsm_map_SendEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3718 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3719 SendEndSignalRes_sequence, hf_index, ett_gsm_map_SendEndSignalRes);
3727 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_) {
3728 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3733 static int dissect_selectedGSM_Algorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3734 return dissect_gsm_map_SelectedGSM_Algorithm(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedGSM_Algorithm);
3737 static const ber_sequence_t ProcessAccessSignallingArgV3_sequence[] = {
3738 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
3739 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedUMTS_Algorithms_impl },
3740 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedGSM_Algorithm_impl },
3741 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenRadioResourceInformation_impl },
3742 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedRab_Id_impl },
3743 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3744 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iUSelectedCodec_impl },
3745 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuAvailableCodecsList_impl },
3750 dissect_gsm_map_ProcessAccessSignallingArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3751 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3752 ProcessAccessSignallingArgV3_sequence, hf_index, ett_gsm_map_ProcessAccessSignallingArgV3);
3758 static const value_string gsm_map_KeyStatus_vals[] = {
3766 dissect_gsm_map_KeyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3767 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3772 static int dissect_keyStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3773 return dissect_gsm_map_KeyStatus(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_keyStatus);
3776 static const ber_sequence_t ForwardAccessSignallingArgV3_sequence[] = {
3777 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
3778 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_integrityProtectionInfo },
3779 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_encryptionInfo },
3780 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_keyStatus },
3781 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_allowedGSM_Algorithms },
3782 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_allowedUMTS_Algorithms },
3783 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_radioResourceInformation },
3784 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
3785 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_radioResourceList },
3786 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_bssmap_ServiceHandover },
3787 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_ranap_ServiceHandover },
3788 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_bssmap_ServiceHandoverList },
3789 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_currentlyUsedCodec },
3790 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_iuSupportedCodecsList },
3791 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_rab_ConfigurationIndicator },
3792 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_iuSelectedCodec },
3797 dissect_gsm_map_ForwardAccessSignallingArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3798 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3799 ForwardAccessSignallingArgV3_sequence, hf_index, ett_gsm_map_ForwardAccessSignallingArgV3);
3804 static const ber_sequence_t PrepareSubsequentHOArg_sequence[] = {
3805 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetCellId },
3806 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetMSC_Number },
3807 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
3812 dissect_gsm_map_PrepareSubsequentHOArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3813 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3814 PrepareSubsequentHOArg_sequence, hf_index, ett_gsm_map_PrepareSubsequentHOArg);
3819 static const ber_sequence_t PrepareSubsequentHOArgV3_sequence[] = {
3820 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetCellId_impl },
3821 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_targetMSC_Number_impl },
3822 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetRNCId_impl },
3823 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
3824 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedRab_Id_impl },
3825 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3826 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geran_classmark_impl },
3827 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_ConfigurationIndicator_impl },
3832 dissect_gsm_map_PrepareSubsequentHOArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3833 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3834 PrepareSubsequentHOArgV3_sequence, hf_index, ett_gsm_map_PrepareSubsequentHOArgV3);
3839 static const ber_sequence_t PrepareSubsequentHOResV3_sequence[] = {
3840 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
3841 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3846 dissect_gsm_map_PrepareSubsequentHOResV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3847 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3848 PrepareSubsequentHOResV3_sequence, hf_index, ett_gsm_map_PrepareSubsequentHOResV3);
3855 dissect_gsm_map_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3856 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3861 static const ber_sequence_t Re_synchronisationInfo_sequence[] = {
3862 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3863 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_auts },
3868 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_) {
3869 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3870 Re_synchronisationInfo_sequence, hf_index, ett_gsm_map_Re_synchronisationInfo);
3874 static int dissect_re_synchronisationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3875 return dissect_gsm_map_Re_synchronisationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_re_synchronisationInfo);
3879 static const value_string gsm_map_RequestingNodeType_vals[] = {
3887 dissect_gsm_map_RequestingNodeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3888 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3893 static int dissect_requestingNodeType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3894 return dissect_gsm_map_RequestingNodeType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingNodeType);
3900 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_) {
3901 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3906 static int dissect_requestingPLMN_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3907 return dissect_gsm_map_PLMN_Id(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingPLMN_Id);
3910 static const ber_sequence_t SendAuthenticationInfoArgV2_sequence[] = {
3911 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
3912 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberOfRequestedVectors },
3913 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_segmentationProhibited },
3914 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_immediateResponsePreferred_impl },
3915 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_re_synchronisationInfo },
3916 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3917 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingNodeType_impl },
3918 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingPLMN_Id_impl },
3923 dissect_gsm_map_SendAuthenticationInfoArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3924 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3925 SendAuthenticationInfoArgV2_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoArgV2);
3930 static const ber_sequence_t SendAuthenticationInfoRes_item_sequence[] = {
3931 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3932 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
3933 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3938 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_) {
3939 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3940 SendAuthenticationInfoRes_item_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoRes_item);
3944 static int dissect_SendAuthenticationInfoRes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3945 return dissect_gsm_map_SendAuthenticationInfoRes_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes_item);
3948 static const ber_sequence_t SendAuthenticationInfoRes_sequence_of[1] = {
3949 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SendAuthenticationInfoRes_item },
3953 dissect_gsm_map_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3954 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3955 SendAuthenticationInfoRes_sequence_of, hf_index, ett_gsm_map_SendAuthenticationInfoRes);
3960 static const ber_sequence_t SendAuthenticationInfoResV3_sequence[] = {
3961 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_authenticationSetList },
3962 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3967 dissect_gsm_map_SendAuthenticationInfoResV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3968 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3969 SendAuthenticationInfoResV3_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoResV3);
3976 dissect_gsm_map_CheckIMEIArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3977 offset = dissect_gsm_map_IMEI(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3982 static const asn_namedbit RequestedEquipmentInfo_bits[] = {
3983 { 0, &hf_gsm_map_RequestedEquipmentInfo_equipmentStatus, -1, -1, "equipmentStatus", NULL },
3984 { 1, &hf_gsm_map_RequestedEquipmentInfo_bmuef, -1, -1, "bmuef", NULL },
3985 { 0, NULL, 0, 0, NULL, NULL }
3989 dissect_gsm_map_RequestedEquipmentInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3990 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3991 RequestedEquipmentInfo_bits, hf_index, ett_gsm_map_RequestedEquipmentInfo,
3996 static int dissect_requestedEquipmentInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3997 return dissect_gsm_map_RequestedEquipmentInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_requestedEquipmentInfo);
4000 static const ber_sequence_t CheckIMEIArgV2_sequence[] = {
4001 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imei },
4002 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_requestedEquipmentInfo },
4003 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4008 dissect_gsm_map_CheckIMEIArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4009 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4010 CheckIMEIArgV2_sequence, hf_index, ett_gsm_map_CheckIMEIArgV2);
4016 static const value_string gsm_map_EquipmentStatus_vals[] = {
4017 { 0, "whiteListed" },
4018 { 1, "blackListed" },
4019 { 2, "greyListed" },
4025 dissect_gsm_map_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4026 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4031 static int dissect_equipmentStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4032 return dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_equipmentStatus);
4035 static const ber_sequence_t CheckIMEIRes_sequence[] = {
4036 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_equipmentStatus },
4037 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bmuef },
4038 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
4043 dissect_gsm_map_CheckIMEIRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4044 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4045 CheckIMEIRes_sequence, hf_index, ett_gsm_map_CheckIMEIRes);
4051 static const value_string gsm_map_OverrideCategory_vals[] = {
4052 { 0, "overrideEnabled" },
4053 { 1, "overrideDisabled" },
4059 dissect_gsm_map_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4060 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4065 static int dissect_overrideCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4066 return dissect_gsm_map_OverrideCategory(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_overrideCategory);
4070 static const value_string gsm_map_BasicService_vals[] = {
4071 { 2, "bearerservice" },
4072 { 3, "teleservice" },
4076 static const ber_choice_t BasicService_choice[] = {
4077 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_bearerservice_impl },
4078 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_teleservice_impl },
4079 { 0, 0, 0, 0, NULL }
4083 dissect_gsm_map_BasicService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4084 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4085 BasicService_choice, hf_index, ett_gsm_map_BasicService, NULL);
4089 static int dissect_BasicServiceGroupList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4090 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceGroupList_item);
4093 static const ber_sequence_t BasicServiceGroupList_sequence_of[1] = {
4094 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceGroupList_item },
4098 dissect_gsm_map_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4099 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4100 BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_BasicServiceGroupList);
4104 static int dissect_ext_basicServiceGroupList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4105 return dissect_gsm_map_BasicServiceGroupList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroupList);
4107 static int dissect_ext_basicServiceGroupList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4108 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroupList);
4111 static const asn_namedbit ODB_GeneralData_bits[] = {
4112 { 0, &hf_gsm_map_ODB_GeneralData_allOG_CallsBarred, -1, -1, "allOG-CallsBarred", NULL },
4113 { 1, &hf_gsm_map_ODB_GeneralData_internationalOGCallsBarred, -1, -1, "internationalOGCallsBarred", NULL },
4114 { 2, &hf_gsm_map_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "internationalOGCallsNotToHPLMN-CountryBarred", NULL },
4115 { 6, &hf_gsm_map_ODB_GeneralData_interzonalOGCallsBarred, -1, -1, "interzonalOGCallsBarred", NULL },
4116 { 7, &hf_gsm_map_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsNotToHPLMN-CountryBarred", NULL },
4117 { 8, &hf_gsm_map_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", NULL },
4118 { 3, &hf_gsm_map_ODB_GeneralData_premiumRateInformationOGCallsBarred, -1, -1, "premiumRateInformationOGCallsBarred", NULL },
4119 { 4, &hf_gsm_map_ODB_GeneralData_premiumRateEntertainementOGCallsBarred, -1, -1, "premiumRateEntertainementOGCallsBarred", NULL },
4120 { 5, &hf_gsm_map_ODB_GeneralData_ss_AccessBarred, -1, -1, "ss-AccessBarred", NULL },
4121 { 9, &hf_gsm_map_ODB_GeneralData_allECT_Barred, -1, -1, "allECT-Barred", NULL },
4122 { 10, &hf_gsm_map_ODB_GeneralData_chargeableECT_Barred, -1, -1, "chargeableECT-Barred", NULL },
4123 { 11, &hf_gsm_map_ODB_GeneralData_internationalECT_Barred, -1, -1, "internationalECT-Barred", NULL },
4124 { 12, &hf_gsm_map_ODB_GeneralData_interzonalECT_Barred, -1, -1, "interzonalECT-Barred", NULL },
4125 { 13, &hf_gsm_map_ODB_GeneralData_doublyChargeableECT_Barred, -1, -1, "doublyChargeableECT-Barred", NULL },
4126 { 14, &hf_gsm_map_ODB_GeneralData_multipleECT_Barred, -1, -1, "multipleECT-Barred", NULL },
4127 { 15, &hf_gsm_map_ODB_GeneralData_allPacketOrientedServicesBarred, -1, -1, "allPacketOrientedServicesBarred", NULL },
4128 { 16, &hf_gsm_map_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred, -1, -1, "roamerAccessToHPLMN-AP-Barred", NULL },
4129 { 17, &hf_gsm_map_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred, -1, -1, "roamerAccessToVPLMN-AP-Barred", NULL },
4130 { 18, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred, -1, -1, "roamingOutsidePLMNOG-CallsBarred", NULL },
4131 { 19, &hf_gsm_map_ODB_GeneralData_allIC_CallsBarred, -1, -1, "allIC-CallsBarred", NULL },
4132 { 20, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred, -1, -1, "roamingOutsidePLMNIC-CallsBarred", NULL },
4133 { 21, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, -1, -1, "roamingOutsidePLMNICountryIC-CallsBarred", NULL },
4134 { 22, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_Barred, -1, -1, "roamingOutsidePLMN-Barred", NULL },
4135 { 23, &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_CountryBarred, -1, -1, "roamingOutsidePLMN-CountryBarred", NULL },
4136 { 24, &hf_gsm_map_ODB_GeneralData_registrationAllCF_Barred, -1, -1, "registrationAllCF-Barred", NULL },
4137 { 25, &hf_gsm_map_ODB_GeneralData_registrationCFNotToHPLMN_Barred, -1, -1, "registrationCFNotToHPLMN-Barred", NULL },
4138 { 26, &hf_gsm_map_ODB_GeneralData_registrationInterzonalCF_Barred, -1, -1, "registrationInterzonalCF-Barred", NULL },
4139 { 27, &hf_gsm_map_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, -1, -1, "registrationInterzonalCFNotToHPLMN-Barred", NULL },
4140 { 28, &hf_gsm_map_ODB_GeneralData_registrationInternationalCF_Barred, -1, -1, "registrationInternationalCF-Barred", NULL },
4141 { 0, NULL, 0, 0, NULL, NULL }
4145 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_) {
4146 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4147 ODB_GeneralData_bits, hf_index, ett_gsm_map_ODB_GeneralData,
4152 static int dissect_odb_GeneralData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4153 return dissect_gsm_map_ODB_GeneralData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
4155 static int dissect_odb_GeneralData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4156 return dissect_gsm_map_ODB_GeneralData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
4159 static const asn_namedbit ODB_HPLMN_Data_bits[] = {
4160 { 0, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType1, -1, -1, "plmn-SpecificBarringType1", NULL },
4161 { 1, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType2, -1, -1, "plmn-SpecificBarringType2", NULL },
4162 { 2, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType3, -1, -1, "plmn-SpecificBarringType3", NULL },
4163 { 3, &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType4, -1, -1, "plmn-SpecificBarringType4", NULL },
4164 { 0, NULL, 0, 0, NULL, NULL }
4168 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_) {
4169 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4170 ODB_HPLMN_Data_bits, hf_index, ett_gsm_map_ODB_HPLMN_Data,
4175 static int dissect_odb_HPLMN_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4176 return dissect_gsm_map_ODB_HPLMN_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_HPLMN_Data);
4180 static const value_string gsm_map_SubscriberStatus_vals[] = {
4181 { 0, "serviceGranted" },
4182 { 1, "operatorDeterminedBarring" },
4188 dissect_gsm_map_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4189 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4194 static int dissect_subscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4195 return dissect_gsm_map_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberStatus);
4199 static const value_string gsm_map_BcsmTriggerDetectionPoint_vals[] = {
4200 { 2, "collectedInfo" },
4201 { 4, "routeSelectFailure" },
4202 { 12, "termAttemptAuthorized" },
4204 { 14, "tNoAnswer" },
4210 dissect_gsm_map_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4211 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4216 static int dissect_bcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4217 return dissect_gsm_map_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bcsmTriggerDetectionPoint);
4223 dissect_gsm_map_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4224 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4229 static int dissect_serviceKey(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4230 return dissect_gsm_map_ServiceKey(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
4232 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4233 return dissect_gsm_map_ServiceKey(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
4239 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_) {
4240 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4245 static int dissect_gsmSCFAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4246 return dissect_gsm_map_GsmSCF_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCFAddress);
4250 static const value_string gsm_map_DefaultCallHandling_vals[] = {
4251 { 0, "continueCall" },
4252 { 1, "releaseCall" },
4258 dissect_gsm_map_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4259 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4264 static int dissect_defaultCallHandling(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4265 return dissect_gsm_map_DefaultCallHandling(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
4267 static int dissect_defaultCallHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4268 return dissect_gsm_map_DefaultCallHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
4271 static const ber_sequence_t BcsmCamelTDPData_sequence[] = {
4272 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_bcsmTriggerDetectionPoint },
4273 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
4274 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCFAddress_impl },
4275 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
4276 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4281 dissect_gsm_map_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4282 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4283 BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_BcsmCamelTDPData);
4287 static int dissect_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4288 return dissect_gsm_map_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BcsmCamelTDPDataList_item);
4291 static const ber_sequence_t BcsmCamelTDPDataList_sequence_of[1] = {
4292 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BcsmCamelTDPDataList_item },
4296 dissect_gsm_map_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4297 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4298 BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_BcsmCamelTDPDataList);
4304 static const value_string gsm_map_O_BcsmTriggerDetectionPoint_vals[] = {
4305 { 2, "collectedInfo" },
4306 { 4, "routeSelectFailure" },
4312 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_) {
4313 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4318 static int dissect_o_BcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4319 return dissect_gsm_map_O_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmTriggerDetectionPoint);
4322 static const ber_sequence_t O_BcsmCamelTDPData_sequence[] = {
4323 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
4324 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
4325 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
4326 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
4327 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4332 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_) {
4333 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4334 O_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_O_BcsmCamelTDPData);
4338 static int dissect_O_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4339 return dissect_gsm_map_O_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_BcsmCamelTDPDataList_item);
4342 static const ber_sequence_t O_BcsmCamelTDPDataList_sequence_of[1] = {
4343 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_O_BcsmCamelTDPDataList_item },
4347 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_) {
4348 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4349 O_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_O_BcsmCamelTDPDataList);
4353 static int dissect_o_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4354 return dissect_gsm_map_O_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDPDataList);
4360 dissect_gsm_map_CamelCapabilityHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4361 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4366 static int dissect_camelCapabilityHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4367 return dissect_gsm_map_CamelCapabilityHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelCapabilityHandling);
4370 static const ber_sequence_t O_CSI_sequence[] = {
4371 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDPDataList },
4372 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4373 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
4374 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
4375 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csiActive_impl },
4380 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_) {
4381 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4382 O_CSI_sequence, hf_index, ett_gsm_map_O_CSI);
4386 static int dissect_o_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4387 return dissect_gsm_map_O_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CSI);
4389 static int dissect_o_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4390 return dissect_gsm_map_O_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_CSI);
4396 dissect_gsm_map_Category(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4397 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4402 static int dissect_category_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4403 return dissect_gsm_map_Category(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_category);
4409 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_) {
4410 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4415 static int dissect_BearerServiceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4416 return dissect_gsm_map_Ext_BearerServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BearerServiceList_item);
4418 static int dissect_ext_BearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4419 return dissect_gsm_map_Ext_BearerServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_BearerService);
4422 static const ber_sequence_t BearerServiceList_sequence_of[1] = {
4423 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_BearerServiceList_item },
4427 dissect_gsm_map_BearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4428 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4429 BearerServiceList_sequence_of, hf_index, ett_gsm_map_BearerServiceList);
4433 static int dissect_bearerserviceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4434 return dissect_gsm_map_BearerServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerserviceList);
4436 static int dissect_bearerServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4437 return dissect_gsm_map_BearerServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerServiceList);
4443 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_) {
4444 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4449 static int dissect_TeleserviceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4450 return dissect_gsm_map_Ext_TeleserviceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_TeleserviceList_item);
4452 static int dissect_ext_Teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4453 return dissect_gsm_map_Ext_TeleserviceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_Teleservice);
4455 static int dissect_ext_teleservice(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4456 return dissect_gsm_map_Ext_TeleserviceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_teleservice);
4459 static const ber_sequence_t TeleserviceList_sequence_of[1] = {
4460 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_TeleserviceList_item },
4464 dissect_gsm_map_TeleserviceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4465 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4466 TeleserviceList_sequence_of, hf_index, ett_gsm_map_TeleserviceList);
4470 static int dissect_teleserviceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4471 return dissect_gsm_map_TeleserviceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleserviceList);
4477 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_) {
4478 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4483 static int dissect_ss_Code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4484 return dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
4486 static int dissect_ss_Code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4487 return dissect_gsm_map_SS_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
4489 static int dissect_SS_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4490 return dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SS_List_item);
4492 static int dissect_SS_EventList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4493 return dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SS_EventList_item);
4497 static const value_string gsm_map_Ext_BasicServiceCode_vals[] = {
4498 { 2, "ext-BearerService" },
4499 { 3, "ext-Teleservice" },
4503 static const ber_choice_t Ext_BasicServiceCode_choice[] = {
4504 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
4505 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
4506 { 0, 0, 0, 0, NULL }
4510 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_) {
4511 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4512 Ext_BasicServiceCode_choice, hf_index, ett_gsm_map_Ext_BasicServiceCode, NULL);
4516 static int dissect_BasicServiceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4517 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceList_item);
4519 static int dissect_ext_basicService(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4520 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicService);
4522 static int dissect_ext_basicService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4523 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicService);
4525 static int dissect_Ext_BasicServiceGroupList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4526 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_BasicServiceGroupList_item);
4528 static int dissect_ext_basicServiceGroup(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4529 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroup);
4531 static int dissect_ext_basicServiceGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4532 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_basicServiceGroup);
4534 static int dissect_basicServiceGroup2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4535 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroup2);
4537 static int dissect_basicService2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4538 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicService2);
4540 static int dissect_BasicServiceCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4541 return dissect_gsm_map_Ext_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceCriteria_item);
4547 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_) {
4548 /* Note Ext-SS-Status can have more than one byte */
4550 tvbuff_t *parameter_tvb;
4553 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4558 octet = tvb_get_guint8(parameter_tvb,0);
4560 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
4561 if ((octet & 0x01)== 1)
4562 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
4564 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
4565 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
4566 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
4572 static int dissect_ext_ss_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4573 return dissect_gsm_map_Ext_SS_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ss_Status);
4575 static int dissect_ext_ss_Status_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4576 return dissect_gsm_map_Ext_SS_Status(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ss_Status);
4582 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_) {
4583 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4588 static int dissect_forwardedToSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4589 return dissect_gsm_map_ISDN_SubaddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToSubaddress);
4591 static int dissect_b_subscriberSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4592 return dissect_gsm_map_ISDN_SubaddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberSubaddress);
4598 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_) {
4599 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4604 static int dissect_ext_forwardingOptions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4605 return dissect_gsm_map_Ext_ForwOptions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingOptions);
4611 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_) {
4612 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4617 static int dissect_ext_noReplyConditionTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4618 return dissect_gsm_map_Ext_NoRepCondTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_noReplyConditionTime);
4624 dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4625 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4630 static int dissect_forwardedToNumber_addr_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4631 return dissect_gsm_map_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToNumber_addr);
4633 static int dissect_lcsClientDialedByMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4634 return dissect_gsm_map_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientDialedByMS);
4639 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_) {
4640 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4644 static int dissect_longForwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4645 return dissect_gsm_map_FTN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longForwardedToNumber);
4648 static const ber_sequence_t Ext_ForwFeature_sequence[] = {
4649 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService },
4650 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
4651 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
4652 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
4653 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_forwardingOptions_impl },
4654 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_noReplyConditionTime_impl },
4655 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4656 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
4661 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_) {
4662 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4663 Ext_ForwFeature_sequence, hf_index, ett_gsm_map_Ext_ForwFeature);
4667 static int dissect_Ext_ForwFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4668 return dissect_gsm_map_Ext_ForwFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_ForwFeatureList_item);
4671 static const ber_sequence_t Ext_ForwFeatureList_sequence_of[1] = {
4672 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Ext_ForwFeatureList_item },
4676 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_) {
4677 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4678 Ext_ForwFeatureList_sequence_of, hf_index, ett_gsm_map_Ext_ForwFeatureList);
4682 static int dissect_ext_forwardingFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4683 return dissect_gsm_map_Ext_ForwFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingFeatureList);
4685 static int dissect_ext_forwardingFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4686 return dissect_gsm_map_Ext_ForwFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingFeatureList);
4689 static const ber_sequence_t Ext_ForwInfo_sequence[] = {
4690 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4691 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_forwardingFeatureList },
4692 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4697 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_) {
4698 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4699 Ext_ForwInfo_sequence, hf_index, ett_gsm_map_Ext_ForwInfo);
4703 static int dissect_ext_forwardingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4704 return dissect_gsm_map_Ext_ForwInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_forwardingInfo);
4707 static const ber_sequence_t Ext_CallBarringFeature_sequence[] = {
4708 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService },
4709 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
4710 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4715 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_) {
4716 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4717 Ext_CallBarringFeature_sequence, hf_index, ett_gsm_map_Ext_CallBarringFeature);
4721 static int dissect_Ext_CallBarFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4722 return dissect_gsm_map_Ext_CallBarringFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_CallBarFeatureList_item);
4725 static const ber_sequence_t Ext_CallBarFeatureList_sequence_of[1] = {
4726 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Ext_CallBarFeatureList_item },
4730 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_) {
4731 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4732 Ext_CallBarFeatureList_sequence_of, hf_index, ett_gsm_map_Ext_CallBarFeatureList);
4736 static int dissect_ext_callBarringFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4737 return dissect_gsm_map_Ext_CallBarFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_callBarringFeatureList);
4739 static int dissect_ext_callBarringFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4740 return dissect_gsm_map_Ext_CallBarFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_callBarringFeatureList);
4743 static const ber_sequence_t Ext_CallBarInfo_sequence[] = {
4744 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4745 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_callBarringFeatureList },
4746 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4751 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_) {
4752 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4753 Ext_CallBarInfo_sequence, hf_index, ett_gsm_map_Ext_CallBarInfo);
4757 static int dissect_ext_callBarringInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4758 return dissect_gsm_map_Ext_CallBarInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_callBarringInfo);
4764 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_) {
4765 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4770 static int dissect_cug_Index(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4771 return dissect_gsm_map_CUG_Index(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Index);
4773 static int dissect_preferentialCUG_Indicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4774 return dissect_gsm_map_CUG_Index(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_preferentialCUG_Indicator);
4780 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_) {
4781 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4786 static int dissect_cug_Interlock(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4787 return dissect_gsm_map_CUG_Interlock(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Interlock);
4791 static const value_string gsm_map_IntraCUG_Options_vals[] = {
4792 { 0, "noCUG-Restrictions" },
4793 { 1, "cugIC-CallBarred" },
4794 { 2, "cugOG-CallBarred" },
4800 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_) {
4801 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4806 static int dissect_intraCUG_Options(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4807 return dissect_gsm_map_IntraCUG_Options(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_intraCUG_Options);
4810 static const ber_sequence_t Ext_BasicServiceGroupList_sequence_of[1] = {
4811 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Ext_BasicServiceGroupList_item },
4815 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_) {
4816 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4817 Ext_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_Ext_BasicServiceGroupList);
4821 static int dissect_basicServiceGroupList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4822 return dissect_gsm_map_Ext_BasicServiceGroupList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroupList);
4825 static const ber_sequence_t CUG_Subscription_sequence[] = {
4826 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cug_Index },
4827 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
4828 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_intraCUG_Options },
4829 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
4830 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4835 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_) {
4836 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4837 CUG_Subscription_sequence, hf_index, ett_gsm_map_CUG_Subscription);
4841 static int dissect_CUG_SubscriptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4842 return dissect_gsm_map_CUG_Subscription(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CUG_SubscriptionList_item);
4845 static const ber_sequence_t CUG_SubscriptionList_sequence_of[1] = {
4846 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CUG_SubscriptionList_item },
4850 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_) {
4851 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4852 CUG_SubscriptionList_sequence_of, hf_index, ett_gsm_map_CUG_SubscriptionList);
4856 static int dissect_cug_SubscriptionList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4857 return dissect_gsm_map_CUG_SubscriptionList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_SubscriptionList);
4863 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_) {
4864 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4869 static int dissect_interCUG_Restrictions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4870 return dissect_gsm_map_InterCUG_Restrictions(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_interCUG_Restrictions);
4873 static const ber_sequence_t CUG_Feature_sequence[] = {
4874 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService },
4875 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_preferentialCUG_Indicator },
4876 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_interCUG_Restrictions },
4877 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4882 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_) {
4883 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4884 CUG_Feature_sequence, hf_index, ett_gsm_map_CUG_Feature);
4888 static int dissect_CUG_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4889 return dissect_gsm_map_CUG_Feature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CUG_FeatureList_item);
4892 static const ber_sequence_t CUG_FeatureList_sequence_of[1] = {
4893 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CUG_FeatureList_item },
4897 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_) {
4898 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4899 CUG_FeatureList_sequence_of, hf_index, ett_gsm_map_CUG_FeatureList);
4903 static int dissect_cug_FeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4904 return dissect_gsm_map_CUG_FeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_FeatureList);
4907 static const ber_sequence_t CUG_Info_sequence[] = {
4908 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_SubscriptionList },
4909 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_FeatureList },
4910 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4915 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_) {
4916 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4917 CUG_Info_sequence, hf_index, ett_gsm_map_CUG_Info);
4921 static int dissect_cug_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4922 return dissect_gsm_map_CUG_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Info);
4926 static const value_string gsm_map_CliRestrictionOption_vals[] = {
4928 { 1, "temporaryDefaultRestricted" },
4929 { 2, "temporaryDefaultAllowed" },
4935 dissect_gsm_map_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4936 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4941 static int dissect_cliRestrictionOption(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4942 return dissect_gsm_map_CliRestrictionOption(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cliRestrictionOption);
4944 static int dissect_cliRestrictionOption_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4945 return dissect_gsm_map_CliRestrictionOption(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cliRestrictionOption);
4949 static const value_string gsm_map_SS_SubscriptionOption_vals[] = {
4950 { 2, "cliRestrictionOption" },
4951 { 1, "overrideCategory" },
4955 static const ber_choice_t SS_SubscriptionOption_choice[] = {
4956 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cliRestrictionOption_impl },
4957 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_overrideCategory_impl },
4958 { 0, 0, 0, 0, NULL }
4962 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_) {
4963 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4964 SS_SubscriptionOption_choice, hf_index, ett_gsm_map_SS_SubscriptionOption, NULL);
4968 static int dissect_ss_SubscriptionOption(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4969 return dissect_gsm_map_SS_SubscriptionOption(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_SubscriptionOption);
4972 static const ber_sequence_t Ext_SS_Data_sequence[] = {
4973 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4974 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
4975 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_SubscriptionOption },
4976 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
4977 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4982 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_) {
4983 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4984 Ext_SS_Data_sequence, hf_index, ett_gsm_map_Ext_SS_Data);
4988 static int dissect_ext_ss_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4989 return dissect_gsm_map_Ext_SS_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ss_Data);
4995 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_) {
4996 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5001 static int dissect_maximumentitledPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5002 return dissect_gsm_map_EMLPP_Priority(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_maximumentitledPriority);
5004 static int dissect_defaultPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5005 return dissect_gsm_map_EMLPP_Priority(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
5007 static int dissect_defaultPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5008 return dissect_gsm_map_EMLPP_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
5010 static int dissect_maximumEntitledPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5011 return dissect_gsm_map_EMLPP_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_maximumEntitledPriority);
5013 static int dissect_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5014 return dissect_gsm_map_EMLPP_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_priority);
5017 static const ber_sequence_t EMLPP_Info_sequence[] = {
5018 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_maximumentitledPriority },
5019 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
5020 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5025 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_) {
5026 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5027 EMLPP_Info_sequence, hf_index, ett_gsm_map_EMLPP_Info);
5031 static int dissect_emlpp_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5032 return dissect_gsm_map_EMLPP_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_emlpp_Info);
5036 static const value_string gsm_map_Ext_SS_Info_vals[] = {
5037 { 0, "forwardingInfo" },
5038 { 1, "callBarringInfo" },
5041 { 4, "emlpp-Info" },
5045 static const ber_choice_t Ext_SS_Info_choice[] = {
5046 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ext_forwardingInfo_impl },
5047 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_callBarringInfo_impl },
5048 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cug_Info_impl },
5049 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_ss_Data_impl },
5050 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_emlpp_Info_impl },
5051 { 0, 0, 0, 0, NULL }
5055 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_) {
5056 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
5057 Ext_SS_Info_choice, hf_index, ett_gsm_map_Ext_SS_Info, NULL);
5061 static int dissect_Ext_SS_InfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5062 return dissect_gsm_map_Ext_SS_Info(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_SS_InfoList_item);
5065 static const ber_sequence_t Ext_SS_InfoList_sequence_of[1] = {
5066 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Ext_SS_InfoList_item },
5070 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_) {
5071 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5072 Ext_SS_InfoList_sequence_of, hf_index, ett_gsm_map_Ext_SS_InfoList);
5076 static int dissect_provisionedSS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5077 return dissect_gsm_map_Ext_SS_InfoList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_provisionedSS);
5080 static const ber_sequence_t ODB_Data_sequence[] = {
5081 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_odb_GeneralData },
5082 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_odb_HPLMN_Data },
5083 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5088 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_) {
5089 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5090 ODB_Data_sequence, hf_index, ett_gsm_map_ODB_Data);
5094 static int dissect_odb_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5095 return dissect_gsm_map_ODB_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
5097 static int dissect_odb_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5098 return dissect_gsm_map_ODB_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
5100 static int dissect_odb_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5101 return dissect_gsm_map_ODB_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_data);
5107 dissect_gsm_map_ZoneCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5108 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5113 static int dissect_regionalSubscriptionIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5114 return dissect_gsm_map_ZoneCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionIdentifier);
5116 static int dissect_ZoneCodeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5117 return dissect_gsm_map_ZoneCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ZoneCodeList_item);
5120 static const ber_sequence_t ZoneCodeList_sequence_of[1] = {
5121 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ZoneCodeList_item },
5125 dissect_gsm_map_ZoneCodeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5126 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5127 ZoneCodeList_sequence_of, hf_index, ett_gsm_map_ZoneCodeList);
5131 static int dissect_regionalSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5132 return dissect_gsm_map_ZoneCodeList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionData);
5137 dissect_gsm_map_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5138 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5142 static int dissect_groupId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5143 return dissect_gsm_map_GroupId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupId);
5145 static int dissect_groupid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5146 return dissect_gsm_map_GroupId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupid);
5149 static const ber_sequence_t VoiceBroadcastData_sequence[] = {
5150 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupid },
5151 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_broadcastInitEntitlement },
5152 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5157 dissect_gsm_map_VoiceBroadcastData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5158 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5159 VoiceBroadcastData_sequence, hf_index, ett_gsm_map_VoiceBroadcastData);
5163 static int dissect_VBSDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5164 return dissect_gsm_map_VoiceBroadcastData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_VBSDataList_item);
5167 static const ber_sequence_t VBSDataList_sequence_of[1] = {
5168 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_VBSDataList_item },
5172 dissect_gsm_map_VBSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5173 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5174 VBSDataList_sequence_of, hf_index, ett_gsm_map_VBSDataList);
5178 static int dissect_vbsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5179 return dissect_gsm_map_VBSDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsSubscriptionData);
5182 static const ber_sequence_t VoiceGroupCallData_sequence[] = {
5183 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupId },
5184 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5189 dissect_gsm_map_VoiceGroupCallData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5190 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5191 VoiceGroupCallData_sequence, hf_index, ett_gsm_map_VoiceGroupCallData);
5195 static int dissect_VGCSDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5196 return dissect_gsm_map_VoiceGroupCallData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_VGCSDataList_item);
5199 static const ber_sequence_t VGCSDataList_sequence_of[1] = {
5200 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_VGCSDataList_item },
5204 dissect_gsm_map_VGCSDataList(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_of(implicit_tag, pinfo, tree, tvb, offset,
5206 VGCSDataList_sequence_of, hf_index, ett_gsm_map_VGCSDataList);
5210 static int dissect_vgcsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5211 return dissect_gsm_map_VGCSDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsSubscriptionData);
5214 static const ber_sequence_t SS_EventList_sequence_of[1] = {
5215 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_SS_EventList_item },
5219 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_) {
5220 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5221 SS_EventList_sequence_of, hf_index, ett_gsm_map_SS_EventList);
5225 static int dissect_ss_EventList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5226 return dissect_gsm_map_SS_EventList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventList);
5229 static const ber_sequence_t SS_CamelData_sequence[] = {
5230 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_EventList },
5231 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
5232 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5237 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_) {
5238 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5239 SS_CamelData_sequence, hf_index, ett_gsm_map_SS_CamelData);
5243 static int dissect_ss_CamelData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5244 return dissect_gsm_map_SS_CamelData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CamelData);
5247 static const ber_sequence_t SS_CSI_sequence[] = {
5248 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_CamelData },
5249 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5250 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
5251 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
5256 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_) {
5257 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5258 SS_CSI_sequence, hf_index, ett_gsm_map_SS_CSI);
5262 static int dissect_ss_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5263 return dissect_gsm_map_SS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CSI);
5267 static const value_string gsm_map_MatchType_vals[] = {
5268 { 0, "inhibiting" },
5275 dissect_gsm_map_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5276 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5281 static int dissect_matchType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5282 return dissect_gsm_map_MatchType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_matchType);
5285 static const ber_sequence_t DestinationNumberList_sequence_of[1] = {
5286 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_DestinationNumberList_item },
5290 dissect_gsm_map_DestinationNumberList(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 DestinationNumberList_sequence_of, hf_index, ett_gsm_map_DestinationNumberList);
5296 static int dissect_destinationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5297 return dissect_gsm_map_DestinationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberList);
5303 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_) {
5304 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5309 static int dissect_DestinationNumberLengthList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5310 return dissect_gsm_map_INTEGER_1_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_DestinationNumberLengthList_item);
5313 static const ber_sequence_t DestinationNumberLengthList_sequence_of[1] = {
5314 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_DestinationNumberLengthList_item },
5318 dissect_gsm_map_DestinationNumberLengthList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5319 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5320 DestinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_DestinationNumberLengthList);
5324 static int dissect_destinationNumberLengthList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5325 return dissect_gsm_map_DestinationNumberLengthList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberLengthList);
5328 static const ber_sequence_t DestinationNumberCriteria_sequence[] = {
5329 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_matchType_impl },
5330 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberList_impl },
5331 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberLengthList_impl },
5336 dissect_gsm_map_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5337 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5338 DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_DestinationNumberCriteria);
5342 static int dissect_destinationNumberCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5343 return dissect_gsm_map_DestinationNumberCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberCriteria);
5346 static const ber_sequence_t BasicServiceCriteria_sequence_of[1] = {
5347 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceCriteria_item },
5351 dissect_gsm_map_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5352 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5353 BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_BasicServiceCriteria);
5357 static int dissect_basicServiceCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5358 return dissect_gsm_map_BasicServiceCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceCriteria);
5362 static const value_string gsm_map_CallTypeCriteria_vals[] = {
5364 { 1, "notForwarded" },
5370 dissect_gsm_map_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5371 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5376 static int dissect_callTypeCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5377 return dissect_gsm_map_CallTypeCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callTypeCriteria);
5383 dissect_gsm_map_CauseValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5384 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5389 static int dissect_T_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5390 return dissect_gsm_map_CauseValue(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_CauseValueCriteria_item);
5392 static int dissect_O_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5393 return dissect_gsm_map_CauseValue(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_CauseValueCriteria_item);
5396 static const ber_sequence_t O_CauseValueCriteria_sequence_of[1] = {
5397 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_O_CauseValueCriteria_item },
5401 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_) {
5402 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5403 O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_O_CauseValueCriteria);
5407 static int dissect_o_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5408 return dissect_gsm_map_O_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CauseValueCriteria);
5411 static const ber_sequence_t O_BcsmCamelTDP_Criteria_sequence[] = {
5412 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
5413 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
5414 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
5415 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
5416 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CauseValueCriteria_impl },
5417 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5422 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_) {
5423 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5424 O_BcsmCamelTDP_Criteria_sequence, hf_index, ett_gsm_map_O_BcsmCamelTDP_Criteria);
5428 static int dissect_O_BcsmCamelTDPCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5429 return dissect_gsm_map_O_BcsmCamelTDP_Criteria(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_BcsmCamelTDPCriteriaList_item);
5432 static const ber_sequence_t O_BcsmCamelTDPCriteriaList_sequence_of[1] = {
5433 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_O_BcsmCamelTDPCriteriaList_item },
5437 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_) {
5438 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5439 O_BcsmCamelTDPCriteriaList_sequence_of, hf_index, ett_gsm_map_O_BcsmCamelTDPCriteriaList);
5443 static int dissect_o_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5444 return dissect_gsm_map_O_BcsmCamelTDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDP_CriteriaList);
5446 static int dissect_o_BcsmCamelTDPCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5447 return dissect_gsm_map_O_BcsmCamelTDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDPCriteriaList);
5449 static int dissect_o_IM_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5450 return dissect_gsm_map_O_BcsmCamelTDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList);
5456 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_) {
5457 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5462 static int dissect_eventMet_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5463 return dissect_gsm_map_MM_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_eventMet);
5465 static int dissect_MobilityTriggers_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5466 return dissect_gsm_map_MM_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MobilityTriggers_item);
5469 static const ber_sequence_t MobilityTriggers_sequence_of[1] = {
5470 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_MobilityTriggers_item },
5474 dissect_gsm_map_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5475 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5476 MobilityTriggers_sequence_of, hf_index, ett_gsm_map_MobilityTriggers);
5480 static int dissect_mobilityTriggers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5481 return dissect_gsm_map_MobilityTriggers(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mobilityTriggers);
5484 static const ber_sequence_t M_CSI_sequence[] = {
5485 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
5486 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
5487 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
5488 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5489 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
5490 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
5495 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_) {
5496 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5497 M_CSI_sequence, hf_index, ett_gsm_map_M_CSI);
5501 static int dissect_m_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5502 return dissect_gsm_map_M_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_m_CSI);
5506 static const value_string gsm_map_SMS_TriggerDetectionPoint_vals[] = {
5507 { 1, "sms-CollectedInfo" },
5508 { 2, "sms-DeliveryRequest" },
5514 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_) {
5515 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5520 static int dissect_sms_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5521 return dissect_gsm_map_SMS_TriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
5523 static int dissect_sms_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5524 return dissect_gsm_map_SMS_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
5528 static const value_string gsm_map_DefaultSMS_Handling_vals[] = {
5529 { 0, "continueTransaction" },
5530 { 1, "releaseTransaction" },
5536 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_) {
5537 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5542 static int dissect_defaultSMS_Handling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5543 return dissect_gsm_map_DefaultSMS_Handling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSMS_Handling);
5546 static const ber_sequence_t SMS_CAMEL_TDP_Data_sequence[] = {
5547 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sms_TriggerDetectionPoint_impl },
5548 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
5549 { BER_CLASS_CON, 2, 0, dissect_gsmSCF_Address },
5550 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSMS_Handling_impl },
5551 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5556 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_) {
5557 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5558 SMS_CAMEL_TDP_Data_sequence, hf_index, ett_gsm_map_SMS_CAMEL_TDP_Data);
5562 static int dissect_SMS_CAMEL_TDP_DataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5563 return dissect_gsm_map_SMS_CAMEL_TDP_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SMS_CAMEL_TDP_DataList_item);
5566 static const ber_sequence_t SMS_CAMEL_TDP_DataList_sequence_of[1] = {
5567 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SMS_CAMEL_TDP_DataList_item },
5571 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_) {
5572 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5573 SMS_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_SMS_CAMEL_TDP_DataList);
5577 static int dissect_sms_CAMEL_TDP_DataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5578 return dissect_gsm_map_SMS_CAMEL_TDP_DataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_CAMEL_TDP_DataList);
5581 static const ber_sequence_t SMS_CSI_sequence[] = {
5582 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sms_CAMEL_TDP_DataList_impl },
5583 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
5584 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5585 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
5586 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
5591 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_) {
5592 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5593 SMS_CSI_sequence, hf_index, ett_gsm_map_SMS_CSI);
5597 static int dissect_mo_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5598 return dissect_gsm_map_SMS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mo_sms_CSI);
5600 static int dissect_mt_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5601 return dissect_gsm_map_SMS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_sms_CSI);
5605 static const value_string gsm_map_T_BcsmTriggerDetectionPoint_vals[] = {
5606 { 12, "termAttemptAuthorized" },
5608 { 14, "tNoAnswer" },
5614 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_) {
5615 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5620 static int dissect_t_BCSM_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5621 return dissect_gsm_map_T_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_TriggerDetectionPoint);
5623 static int dissect_t_BcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5624 return dissect_gsm_map_T_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BcsmTriggerDetectionPoint);
5627 static const ber_sequence_t T_BcsmCamelTDPData_sequence[] = {
5628 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BcsmTriggerDetectionPoint },
5629 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
5630 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
5631 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
5632 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5637 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_) {
5638 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5639 T_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_T_BcsmCamelTDPData);
5643 static int dissect_T_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5644 return dissect_gsm_map_T_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_BcsmCamelTDPDataList_item);
5647 static const ber_sequence_t T_BcsmCamelTDPDataList_sequence_of[1] = {
5648 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_T_BcsmCamelTDPDataList_item },
5652 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_) {
5653 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5654 T_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_T_BcsmCamelTDPDataList);
5658 static int dissect_t_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5659 return dissect_gsm_map_T_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BcsmCamelTDPDataList);
5662 static const ber_sequence_t T_CSI_sequence[] = {
5663 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
5664 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5665 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
5666 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
5667 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
5672 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_) {
5673 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5674 T_CSI_sequence, hf_index, ett_gsm_map_T_CSI);
5678 static int dissect_vt_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5679 return dissect_gsm_map_T_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_CSI);
5681 static int dissect_t_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5682 return dissect_gsm_map_T_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CSI);
5684 static int dissect_vt_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5685 return dissect_gsm_map_T_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_CSI);
5688 static const ber_sequence_t T_CauseValueCriteria_sequence_of[1] = {
5689 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_T_CauseValueCriteria_item },
5693 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_) {
5694 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5695 T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_T_CauseValueCriteria);
5699 static int dissect_t_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5700 return dissect_gsm_map_T_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CauseValueCriteria);
5703 static const ber_sequence_t T_BCSM_CAMEL_TDP_Criteria_sequence[] = {
5704 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint },
5705 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
5706 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
5711 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_) {
5712 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5713 T_BCSM_CAMEL_TDP_Criteria_sequence, hf_index, ett_gsm_map_T_BCSM_CAMEL_TDP_Criteria);
5717 static int dissect_T_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5718 return dissect_gsm_map_T_BCSM_CAMEL_TDP_Criteria(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList_item);
5721 static const ber_sequence_t T_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
5722 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_T_BCSM_CAMEL_TDP_CriteriaList_item },
5726 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_) {
5727 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5728 T_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList);
5732 static int dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5733 return dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList);
5735 static int dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5736 return dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList);
5738 static int dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5739 return dissect_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList);
5742 static const ber_sequence_t DP_AnalysedInfoCriterium_sequence[] = {
5743 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dialledNumber },
5744 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
5745 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
5746 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_defaultCallHandling },
5747 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5752 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_) {
5753 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5754 DP_AnalysedInfoCriterium_sequence, hf_index, ett_gsm_map_DP_AnalysedInfoCriterium);
5758 static int dissect_DP_AnalysedInfoCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5759 return dissect_gsm_map_DP_AnalysedInfoCriterium(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_DP_AnalysedInfoCriteriaList_item);
5762 static const ber_sequence_t DP_AnalysedInfoCriteriaList_sequence_of[1] = {
5763 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_DP_AnalysedInfoCriteriaList_item },
5767 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_) {
5768 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5769 DP_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_DP_AnalysedInfoCriteriaList);
5773 static int dissect_dp_AnalysedInfoCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5774 return dissect_gsm_map_DP_AnalysedInfoCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dp_AnalysedInfoCriteriaList);
5777 static const ber_sequence_t D_CSI_sequence[] = {
5778 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dp_AnalysedInfoCriteriaList_impl },
5779 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
5780 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5781 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
5782 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
5787 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_) {
5788 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5789 D_CSI_sequence, hf_index, ett_gsm_map_D_CSI);
5793 static int dissect_d_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5794 return dissect_gsm_map_D_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_CSI);
5796 static int dissect_d_csi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5797 return dissect_gsm_map_D_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_csi);
5799 static int dissect_d_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5800 return dissect_gsm_map_D_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_IM_CSI);
5804 static const value_string gsm_map_MT_SMS_TPDU_Type_vals[] = {
5805 { 0, "sms-DELIVER" },
5806 { 1, "sms-SUBMIT-REPORT" },
5807 { 2, "sms-STATUS-REPORT" },
5813 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_) {
5814 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5819 static int dissect_TPDU_TypeCriterion_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5820 return dissect_gsm_map_MT_SMS_TPDU_Type(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_TPDU_TypeCriterion_item);
5823 static const ber_sequence_t TPDU_TypeCriterion_sequence_of[1] = {
5824 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_TPDU_TypeCriterion_item },
5828 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_) {
5829 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5830 TPDU_TypeCriterion_sequence_of, hf_index, ett_gsm_map_TPDU_TypeCriterion);
5834 static int dissect_tpdu_TypeCriterion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5835 return dissect_gsm_map_TPDU_TypeCriterion(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tpdu_TypeCriterion);
5838 static const ber_sequence_t MT_smsCAMELTDP_Criteria_sequence[] = {
5839 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sms_TriggerDetectionPoint },
5840 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tpdu_TypeCriterion_impl },
5845 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_) {
5846 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5847 MT_smsCAMELTDP_Criteria_sequence, hf_index, ett_gsm_map_MT_smsCAMELTDP_Criteria);
5851 static int dissect_MT_smsCAMELTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5852 return dissect_gsm_map_MT_smsCAMELTDP_Criteria(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MT_smsCAMELTDP_CriteriaList_item);
5855 static const ber_sequence_t MT_smsCAMELTDP_CriteriaList_sequence_of[1] = {
5856 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_MT_smsCAMELTDP_CriteriaList_item },
5860 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_) {
5861 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5862 MT_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_MT_smsCAMELTDP_CriteriaList);
5866 static int dissect_mt_smsCAMELTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5867 return dissect_gsm_map_MT_smsCAMELTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_smsCAMELTDP_CriteriaList);
5870 static const ber_sequence_t VlrCamelSubscriptionInfo_sequence[] = {
5871 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
5872 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5873 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
5874 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
5875 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
5876 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_m_CSI_impl },
5877 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
5878 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_CSI_impl },
5879 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
5880 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_CSI_impl },
5881 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
5882 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
5887 dissect_gsm_map_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5888 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5889 VlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_VlrCamelSubscriptionInfo);
5893 static int dissect_vlrCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5894 return dissect_gsm_map_VlrCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlrCamelSubscriptionInfo);
5900 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_) {
5901 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5906 static int dissect_naea_PreferredCIC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5907 return dissect_gsm_map_NAEA_CIC(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCIC);
5910 static const ber_sequence_t NAEA_PreferredCI_sequence[] = {
5911 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_naea_PreferredCIC_impl },
5912 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5917 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_) {
5918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5919 NAEA_PreferredCI_sequence, hf_index, ett_gsm_map_NAEA_PreferredCI);
5923 static int dissect_naea_PreferredCI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5924 return dissect_gsm_map_NAEA_PreferredCI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCI);
5930 dissect_gsm_map_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5931 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5936 static int dissect_pdp_ContextId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5937 return dissect_gsm_map_ContextId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextId);
5939 static int dissect_ContextIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5940 return dissect_gsm_map_ContextId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ContextIdList_item);
5942 static int dissect_pdp_ContextIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5943 return dissect_gsm_map_ContextId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextIdentifier);
5949 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_) {
5950 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5955 static int dissect_pdp_Type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5956 return dissect_gsm_map_PDP_Type(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Type);
5962 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_) {
5963 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5968 static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5969 return dissect_gsm_map_PDP_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Address);
5975 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_) {
5976 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5981 static int dissect_qos_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5982 return dissect_gsm_map_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Subscribed);
5988 dissect_gsm_map_APN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5989 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5994 static int dissect_apn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5995 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn);
5997 static int dissect_apn_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5998 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_Subscribed);
6000 static int dissect_apn_InUse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6001 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_InUse);
6003 static int dissect_lcsAPN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6004 return dissect_gsm_map_APN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsAPN);
6010 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_) {
6011 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6016 static int dissect_ext_QoS_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6017 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_QoS_Subscribed);
6019 static int dissect_ext_qos_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6020 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_qos_Subscribed);
6022 static int dissect_qos_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6023 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Requested);
6025 static int dissect_qos_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6026 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Negotiated);
6032 dissect_gsm_map_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6033 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6038 static int dissect_chargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6039 return dissect_gsm_map_ChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingCharacteristics);
6041 static int dissect_pdp_ChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6042 return dissect_gsm_map_ChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ChargingCharacteristics);
6048 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_) {
6049 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6054 static int dissect_ext2_QoS_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6055 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext2_QoS_Subscribed);
6057 static int dissect_qos2_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6058 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Subscribed);
6060 static int dissect_qos2_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6061 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Requested);
6063 static int dissect_qos2_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6064 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Negotiated);
6067 static const ber_sequence_t PDP_Context_sequence[] = {
6068 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pdp_ContextId },
6069 { BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
6070 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
6071 { BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
6072 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vplmnAddressAllowed_impl },
6073 { BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_apn_impl },
6074 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6075 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_QoS_Subscribed_impl },
6076 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ChargingCharacteristics_impl },
6077 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext2_QoS_Subscribed_impl },
6082 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_) {
6083 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6084 PDP_Context_sequence, hf_index, ett_gsm_map_PDP_Context);
6088 static int dissect_GPRSDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6089 return dissect_gsm_map_PDP_Context(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_GPRSDataList_item);
6092 static const ber_sequence_t GPRSDataList_sequence_of[1] = {
6093 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_GPRSDataList_item },
6097 dissect_gsm_map_GPRSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6098 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6099 GPRSDataList_sequence_of, hf_index, ett_gsm_map_GPRSDataList);
6103 static int dissect_gprsDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6104 return dissect_gsm_map_GPRSDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsDataList);
6107 static const ber_sequence_t GPRSSubscriptionData_sequence[] = {
6108 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
6109 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprsDataList_impl },
6110 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6115 dissect_gsm_map_GPRSSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6116 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6117 GPRSSubscriptionData_sequence, hf_index, ett_gsm_map_GPRSSubscriptionData);
6121 static int dissect_gprsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6122 return dissect_gsm_map_GPRSSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionData);
6126 static const value_string gsm_map_NetworkAccessMode_vals[] = {
6127 { 0, "bothMSCAndSGSN" },
6135 dissect_gsm_map_NetworkAccessMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6136 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6141 static int dissect_networkAccessMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6142 return dissect_gsm_map_NetworkAccessMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkAccessMode);
6146 static const value_string gsm_map_LSAOnlyAccessIndicator_vals[] = {
6147 { 0, "accessOutsideLSAsAllowed" },
6148 { 1, "accessOutsideLSAsRestricted" },
6154 dissect_gsm_map_LSAOnlyAccessIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6155 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6160 static int dissect_lsaOnlyAccessIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6161 return dissect_gsm_map_LSAOnlyAccessIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaOnlyAccessIndicator);
6167 dissect_gsm_map_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6168 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6173 static int dissect_lsaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6174 return dissect_gsm_map_LSAIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentity);
6176 static int dissect_LSAIdentityList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6177 return dissect_gsm_map_LSAIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_LSAIdentityList_item);
6179 static int dissect_selectedLSA_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6180 return dissect_gsm_map_LSAIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSA_Id);
6182 static int dissect_selectedLSAIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6183 return dissect_gsm_map_LSAIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSAIdentity);
6189 dissect_gsm_map_LSAAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6190 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6195 static int dissect_lsaAttributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6196 return dissect_gsm_map_LSAAttributes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaAttributes);
6199 static const ber_sequence_t LSAData_sequence[] = {
6200 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lsaIdentity_impl },
6201 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lsaAttributes_impl },
6202 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaActiveModeIndicator_impl },
6203 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6208 dissect_gsm_map_LSAData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6209 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6210 LSAData_sequence, hf_index, ett_gsm_map_LSAData);
6214 static int dissect_LSADataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6215 return dissect_gsm_map_LSAData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_LSADataList_item);
6218 static const ber_sequence_t LSADataList_sequence_of[1] = {
6219 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_LSADataList_item },
6223 dissect_gsm_map_LSADataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6224 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6225 LSADataList_sequence_of, hf_index, ett_gsm_map_LSADataList);
6229 static int dissect_lsaDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6230 return dissect_gsm_map_LSADataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaDataList);
6233 static const ber_sequence_t LSAInformation_sequence[] = {
6234 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
6235 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaOnlyAccessIndicator_impl },
6236 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaDataList_impl },
6237 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6242 dissect_gsm_map_LSAInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6243 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6244 LSAInformation_sequence, hf_index, ett_gsm_map_LSAInformation);
6248 static int dissect_lsaInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6249 return dissect_gsm_map_LSAInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformation);
6252 static const ber_sequence_t GMLC_List_sequence_of[1] = {
6253 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_GMLC_List_item },
6257 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_) {
6258 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6259 GMLC_List_sequence_of, hf_index, ett_gsm_map_GMLC_List);
6263 static int dissect_gmlc_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6264 return dissect_gsm_map_GMLC_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_List);
6268 static const value_string gsm_map_NotificationToMSUser_vals[] = {
6269 { 0, "notifyLocationAllowed" },
6270 { 1, "notifyAndVerify-LocationAllowedIfNoResponse" },
6271 { 2, "notifyAndVerify-LocationNotAllowedIfNoResponse" },
6272 { 3, "locationNotAllowed" },
6278 dissect_gsm_map_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6279 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6284 static int dissect_notificationToMSUser_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6285 return dissect_gsm_map_NotificationToMSUser(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToMSUser);
6288 static const ber_sequence_t LCSClientExternalID_sequence[] = {
6289 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalAddress_impl },
6290 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6295 dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6296 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6297 LCSClientExternalID_sequence, hf_index, ett_gsm_map_LCSClientExternalID);
6301 static int dissect_clientIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6302 return dissect_gsm_map_LCSClientExternalID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_clientIdentity);
6304 static int dissect_lcsClientExternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6305 return dissect_gsm_map_LCSClientExternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientExternalID);
6309 static const value_string gsm_map_GMLC_Restriction_vals[] = {
6311 { 1, "home-Country" },
6317 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_) {
6318 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6323 static int dissect_gmlc_Restriction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6324 return dissect_gsm_map_GMLC_Restriction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_Restriction);
6327 static const ber_sequence_t ExternalClient_sequence[] = {
6328 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_clientIdentity },
6329 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_Restriction_impl },
6330 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
6331 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6336 dissect_gsm_map_ExternalClient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6337 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6338 ExternalClient_sequence, hf_index, ett_gsm_map_ExternalClient);
6342 static int dissect_ExternalClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6343 return dissect_gsm_map_ExternalClient(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ExternalClientList_item);
6345 static int dissect_Ext_ExternalClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6346 return dissect_gsm_map_ExternalClient(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Ext_ExternalClientList_item);
6349 static const ber_sequence_t ExternalClientList_sequence_of[1] = {
6350 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExternalClientList_item },
6354 dissect_gsm_map_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6355 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6356 ExternalClientList_sequence_of, hf_index, ett_gsm_map_ExternalClientList);
6360 static int dissect_externalClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6361 return dissect_gsm_map_ExternalClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalClientList);
6365 static const value_string gsm_map_LCSClientInternalID_vals[] = {
6366 { 0, "broadcastService" },
6367 { 1, "o-andM-HPLMN" },
6368 { 2, "o-andM-VPLMN" },
6369 { 3, "anonymousLocation" },
6370 { 4, "targetMSsubscribedService" },
6376 dissect_gsm_map_LCSClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6377 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6382 static int dissect_PLMNClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6383 return dissect_gsm_map_LCSClientInternalID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PLMNClientList_item);
6385 static int dissect_lcsClientInternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6386 return dissect_gsm_map_LCSClientInternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientInternalID);
6389 static const ber_sequence_t PLMNClientList_sequence_of[1] = {
6390 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_PLMNClientList_item },
6394 dissect_gsm_map_PLMNClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6395 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6396 PLMNClientList_sequence_of, hf_index, ett_gsm_map_PLMNClientList);
6400 static int dissect_plmnClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6401 return dissect_gsm_map_PLMNClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_plmnClientList);
6404 static const ber_sequence_t Ext_ExternalClientList_sequence_of[1] = {
6405 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Ext_ExternalClientList_item },
6409 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_) {
6410 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6411 Ext_ExternalClientList_sequence_of, hf_index, ett_gsm_map_Ext_ExternalClientList);
6415 static int dissect_ext_externalClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6416 return dissect_gsm_map_Ext_ExternalClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_externalClientList);
6422 dissect_gsm_map_LCSServiceTypeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6423 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6428 static int dissect_serviceTypeIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6429 return dissect_gsm_map_LCSServiceTypeID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceTypeIdentity);
6431 static int dissect_lcsServiceTypeID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6432 return dissect_gsm_map_LCSServiceTypeID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsServiceTypeID);
6435 static const ber_sequence_t ServiceType_sequence[] = {
6436 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceTypeIdentity },
6437 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_Restriction_impl },
6438 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
6439 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6444 dissect_gsm_map_ServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6445 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6446 ServiceType_sequence, hf_index, ett_gsm_map_ServiceType);
6450 static int dissect_ServiceTypeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6451 return dissect_gsm_map_ServiceType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ServiceTypeList_item);
6454 static const ber_sequence_t ServiceTypeList_sequence_of[1] = {
6455 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ServiceTypeList_item },
6459 dissect_gsm_map_ServiceTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6460 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6461 ServiceTypeList_sequence_of, hf_index, ett_gsm_map_ServiceTypeList);
6465 static int dissect_serviceTypeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6466 return dissect_gsm_map_ServiceTypeList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceTypeList);
6469 static const ber_sequence_t LCS_PrivacyClass_sequence[] = {
6470 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
6471 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_ss_Status },
6472 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
6473 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalClientList_impl },
6474 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_plmnClientList_impl },
6475 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6476 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_externalClientList_impl },
6477 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceTypeList_impl },
6482 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_) {
6483 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6484 LCS_PrivacyClass_sequence, hf_index, ett_gsm_map_LCS_PrivacyClass);
6488 static int dissect_LCS_PrivacyExceptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6489 return dissect_gsm_map_LCS_PrivacyClass(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_LCS_PrivacyExceptionList_item);
6492 static const ber_sequence_t LCS_PrivacyExceptionList_sequence_of[1] = {
6493 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_LCS_PrivacyExceptionList_item },
6497 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_) {
6498 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6499 LCS_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_LCS_PrivacyExceptionList);
6503 static int dissect_lcs_PrivacyExceptionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6504 return dissect_gsm_map_LCS_PrivacyExceptionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyExceptionList);
6506 static int dissect_add_lcs_PrivacyExceptionList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6507 return dissect_gsm_map_LCS_PrivacyExceptionList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_add_lcs_PrivacyExceptionList);
6510 static const ber_sequence_t MOLR_Class_sequence[] = {
6511 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
6512 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_ss_Status },
6513 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6518 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_) {
6519 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6520 MOLR_Class_sequence, hf_index, ett_gsm_map_MOLR_Class);
6524 static int dissect_MOLR_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6525 return dissect_gsm_map_MOLR_Class(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MOLR_List_item);
6528 static const ber_sequence_t MOLR_List_sequence_of[1] = {
6529 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_MOLR_List_item },
6533 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_) {
6534 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6535 MOLR_List_sequence_of, hf_index, ett_gsm_map_MOLR_List);
6539 static int dissect_molr_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6540 return dissect_gsm_map_MOLR_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_molr_List);
6543 static const ber_sequence_t LCSInformation_sequence[] = {
6544 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_List_impl },
6545 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_PrivacyExceptionList_impl },
6546 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_molr_List_impl },
6547 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_add_lcs_PrivacyExceptionList },
6552 dissect_gsm_map_LCSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6553 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6554 LCSInformation_sequence, hf_index, ett_gsm_map_LCSInformation);
6558 static int dissect_lcsInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6559 return dissect_gsm_map_LCSInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsInformation);
6565 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_) {
6566 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6571 static int dissect_istAlertTimer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6572 return dissect_gsm_map_IST_AlertTimerValue(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istAlertTimer);
6578 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_) {
6579 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6584 static int dissect_nbrSB_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6585 return dissect_gsm_map_MaxMC_Bearers(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nbrSB);
6591 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_) {
6592 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6597 static int dissect_nbrUser_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6598 return dissect_gsm_map_MC_Bearers(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nbrUser);
6600 static int dissect_nbrSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6601 return dissect_gsm_map_MC_Bearers(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nbrSN);
6604 static const ber_sequence_t MC_SS_Info_sequence[] = {
6605 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
6606 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
6607 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_nbrSB_impl },
6608 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
6609 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6614 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_) {
6615 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6616 MC_SS_Info_sequence, hf_index, ett_gsm_map_MC_SS_Info);
6620 static int dissect_mc_SS_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6621 return dissect_gsm_map_MC_SS_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mc_SS_Info);
6627 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_) {
6628 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6633 static int dissect_cs_AllocationRetentionPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6634 return dissect_gsm_map_CS_AllocationRetentionPriority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cs_AllocationRetentionPriority);
6638 static const value_string gsm_map_GPRS_TriggerDetectionPoint_vals[] = {
6640 { 2, "attachChangeOfPosition" },
6641 { 11, "pdp-ContextEstablishment" },
6642 { 12, "pdp-ContextEstablishmentAcknowledgement" },
6643 { 14, "pdp-ContextChangeOfPosition" },
6649 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_) {
6650 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6655 static int dissect_gprs_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6656 return dissect_gsm_map_GPRS_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_TriggerDetectionPoint);
6660 static const value_string gsm_map_DefaultGPRS_Handling_vals[] = {
6661 { 0, "continueTransaction" },
6662 { 1, "releaseTransaction" },
6668 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_) {
6669 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6674 static int dissect_defaultSessionHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6675 return dissect_gsm_map_DefaultGPRS_Handling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSessionHandling);
6678 static const ber_sequence_t GPRS_CamelTDPData_sequence[] = {
6679 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprs_TriggerDetectionPoint_impl },
6680 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
6681 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
6682 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSessionHandling_impl },
6683 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6688 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_) {
6689 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6690 GPRS_CamelTDPData_sequence, hf_index, ett_gsm_map_GPRS_CamelTDPData);
6694 static int dissect_GPRS_CamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6695 return dissect_gsm_map_GPRS_CamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_GPRS_CamelTDPDataList_item);
6698 static const ber_sequence_t GPRS_CamelTDPDataList_sequence_of[1] = {
6699 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_GPRS_CamelTDPDataList_item },
6703 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_) {
6704 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6705 GPRS_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_GPRS_CamelTDPDataList);
6709 static int dissect_gprs_CamelTDPDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6710 return dissect_gsm_map_GPRS_CamelTDPDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CamelTDPDataList);
6713 static const ber_sequence_t GPRS_CSI_sequence[] = {
6714 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CamelTDPDataList_impl },
6715 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
6716 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6717 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6718 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6723 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_) {
6724 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6725 GPRS_CSI_sequence, hf_index, ett_gsm_map_GPRS_CSI);
6729 static int dissect_gprs_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6730 return dissect_gsm_map_GPRS_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CSI);
6733 static const ber_sequence_t MG_CSI_sequence[] = {
6734 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
6735 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
6736 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
6737 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6738 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
6739 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
6744 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_) {
6745 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6746 MG_CSI_sequence, hf_index, ett_gsm_map_MG_CSI);
6750 static int dissect_mg_csi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6751 return dissect_gsm_map_MG_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mg_csi);
6754 static const ber_sequence_t SGSN_CAMEL_SubscriptionInfo_sequence[] = {
6755 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CSI_impl },
6756 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
6757 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6758 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
6759 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
6760 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mg_csi_impl },
6765 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_) {
6766 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6767 SGSN_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_SGSN_CAMEL_SubscriptionInfo);
6771 static int dissect_sgsn_CAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6772 return dissect_gsm_map_SGSN_CAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_CAMEL_SubscriptionInfo);
6775 static const asn_namedbit AccessRestrictionData_bits[] = {
6776 { 0, &hf_gsm_map_AccessRestrictionData_utranNotAllowed, -1, -1, "utranNotAllowed", NULL },
6777 { 1, &hf_gsm_map_AccessRestrictionData_geranNotAllowed, -1, -1, "geranNotAllowed", NULL },
6778 { 0, NULL, 0, 0, NULL, NULL }
6782 dissect_gsm_map_AccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6783 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
6784 AccessRestrictionData_bits, hf_index, ett_gsm_map_AccessRestrictionData,
6789 static int dissect_accessRestrictionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6790 return dissect_gsm_map_AccessRestrictionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_accessRestrictionData);
6793 static const ber_sequence_t InsertSubscriberDataArg_sequence[] = {
6794 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6795 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6796 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_category_impl },
6797 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberStatus_impl },
6798 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerserviceList_impl },
6799 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
6800 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_provisionedSS_impl },
6801 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Data_impl },
6802 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
6803 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionData_impl },
6804 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsSubscriptionData_impl },
6805 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsSubscriptionData_impl },
6806 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlrCamelSubscriptionInfo_impl },
6807 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6808 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
6809 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSubscriptionData_impl },
6810 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl },
6811 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkAccessMode_impl },
6812 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaInformation_impl },
6813 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmu_Indicator_impl },
6814 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsInformation_impl },
6815 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istAlertTimer_impl },
6816 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_superChargerSupportedInHLR_impl },
6817 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mc_SS_Info_impl },
6818 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cs_AllocationRetentionPriority_impl },
6819 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_CAMEL_SubscriptionInfo_impl },
6820 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
6821 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessRestrictionData_impl },
6826 dissect_gsm_map_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6827 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6828 InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_InsertSubscriberDataArg);
6833 static const ber_sequence_t SS_List_sequence_of[1] = {
6834 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_SS_List_item },
6838 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_) {
6839 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6840 SS_List_sequence_of, hf_index, ett_gsm_map_SS_List);
6844 static int dissect_ss_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6845 return dissect_gsm_map_SS_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List);
6847 static int dissect_ss_List2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6848 return dissect_gsm_map_SS_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List2);
6852 static const value_string gsm_map_RegionalSubscriptionResponse_vals[] = {
6853 { 0, "networkNodeAreaRestricted" },
6854 { 1, "tooManyZoneCodes" },
6855 { 2, "zoneCodesConflict" },
6856 { 3, "regionalSubscNotSupported" },
6862 dissect_gsm_map_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6863 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6868 static int dissect_regionalSubscriptionResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6869 return dissect_gsm_map_RegionalSubscriptionResponse(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionResponse);
6872 static const ber_sequence_t InsertSubscriberDataRes_sequence[] = {
6873 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
6874 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerServiceList_impl },
6875 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
6876 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_GeneralData_impl },
6877 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
6878 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
6879 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6880 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
6885 dissect_gsm_map_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6886 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6887 InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_InsertSubscriberDataRes);
6892 static const ber_sequence_t BasicServiceList_sequence_of[1] = {
6893 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceList_item },
6897 dissect_gsm_map_BasicServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6898 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6899 BasicServiceList_sequence_of, hf_index, ett_gsm_map_BasicServiceList);
6903 static int dissect_basicServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6904 return dissect_gsm_map_BasicServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceList);
6907 static const ber_sequence_t ContextIdList_sequence_of[1] = {
6908 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ContextIdList_item },
6912 dissect_gsm_map_ContextIdList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6913 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6914 ContextIdList_sequence_of, hf_index, ett_gsm_map_ContextIdList);
6918 static int dissect_contextIdList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6919 return dissect_gsm_map_ContextIdList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_contextIdList);
6923 static const value_string gsm_map_GPRSSubscriptionDataWithdraw_vals[] = {
6924 { 0, "allGPRSData" },
6925 { 1, "contextIdList" },
6929 static const ber_choice_t GPRSSubscriptionDataWithdraw_choice[] = {
6930 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allGPRSData },
6931 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contextIdList },
6932 { 0, 0, 0, 0, NULL }
6936 dissect_gsm_map_GPRSSubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6937 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
6938 GPRSSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_GPRSSubscriptionDataWithdraw, NULL);
6942 static int dissect_gprsSubscriptionDataWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6943 return dissect_gsm_map_GPRSSubscriptionDataWithdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionDataWithdraw);
6946 static const ber_sequence_t LSAIdentityList_sequence_of[1] = {
6947 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_LSAIdentityList_item },
6951 dissect_gsm_map_LSAIdentityList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6952 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6953 LSAIdentityList_sequence_of, hf_index, ett_gsm_map_LSAIdentityList);
6957 static int dissect_lsaIdentityList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6958 return dissect_gsm_map_LSAIdentityList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentityList);
6962 static const value_string gsm_map_LSAInformationWithdraw_vals[] = {
6963 { 0, "allLSAData" },
6964 { 1, "lsaIdentityList" },
6968 static const ber_choice_t LSAInformationWithdraw_choice[] = {
6969 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allLSAData },
6970 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lsaIdentityList },
6971 { 0, 0, 0, 0, NULL }
6975 dissect_gsm_map_LSAInformationWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6976 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
6977 LSAInformationWithdraw_choice, hf_index, ett_gsm_map_LSAInformationWithdraw, NULL);
6981 static int dissect_lsaInformationWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6982 return dissect_gsm_map_LSAInformationWithdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformationWithdraw);
6985 static const asn_namedbit SpecificCSI_Withdraw_bits[] = {
6986 { 0, &hf_gsm_map_SpecificCSI_Withdraw_o_csi, -1, -1, "o-csi", NULL },
6987 { 1, &hf_gsm_map_SpecificCSI_Withdraw_ss_csi, -1, -1, "ss-csi", NULL },
6988 { 2, &hf_gsm_map_SpecificCSI_Withdraw_tif_csi, -1, -1, "tif-csi", NULL },
6989 { 3, &hf_gsm_map_SpecificCSI_Withdraw_d_csi, -1, -1, "d-csi", NULL },
6990 { 4, &hf_gsm_map_SpecificCSI_Withdraw_vt_csi, -1, -1, "vt-csi", NULL },
6991 { 5, &hf_gsm_map_SpecificCSI_Withdraw_mo_sms_csi, -1, -1, "mo-sms-csi", NULL },
6992 { 6, &hf_gsm_map_SpecificCSI_Withdraw_m_csi, -1, -1, "m-csi", NULL },
6993 { 7, &hf_gsm_map_SpecificCSI_Withdraw_gprs_csi, -1, -1, "gprs-csi", NULL },
6994 { 8, &hf_gsm_map_SpecificCSI_Withdraw_t_csi, -1, -1, "t-csi", NULL },
6995 { 9, &hf_gsm_map_SpecificCSI_Withdraw_mt_sms_csi, -1, -1, "mt-sms-csi", NULL },
6996 { 10, &hf_gsm_map_SpecificCSI_Withdraw_mg_csi, -1, -1, "mg-csi", NULL },
6997 { 11, &hf_gsm_map_SpecificCSI_Withdraw_o_IM_CSI, -1, -1, "o-IM-CSI", NULL },
6998 { 12, &hf_gsm_map_SpecificCSI_Withdraw_d_IM_CSI, -1, -1, "d-IM-CSI", NULL },
6999 { 13, &hf_gsm_map_SpecificCSI_Withdraw_vt_IM_CSI, -1, -1, "vt-IM-CSI", NULL },
7000 { 0, NULL, 0, 0, NULL, NULL }
7004 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_) {
7005 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7006 SpecificCSI_Withdraw_bits, hf_index, ett_gsm_map_SpecificCSI_Withdraw,
7011 static int dissect_specificCSI_Withdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7012 return dissect_gsm_map_SpecificCSI_Withdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_specificCSI_Withdraw);
7014 static int dissect_specificCSIDeletedList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7015 return dissect_gsm_map_SpecificCSI_Withdraw(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_specificCSIDeletedList);
7018 static const ber_sequence_t DeleteSubscriberDataArg_sequence[] = {
7019 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7020 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceList_impl },
7021 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
7022 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
7023 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionIdentifier_impl },
7024 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsGroupIndication_impl },
7025 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsGroupIndication_impl },
7026 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelSubscriptionInfoWithdraw_impl },
7027 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7028 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprsSubscriptionDataWithdraw_impl },
7029 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl },
7030 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_lsaInformationWithdraw_impl },
7031 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_ListWithdraw_impl },
7032 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_istInformationWithdraw },
7033 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificCSI_Withdraw_impl },
7034 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristicsWithdraw_impl },
7039 dissect_gsm_map_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7040 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7041 DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataArg);
7046 static const ber_sequence_t DeleteSubscriberDataRes_sequence[] = {
7047 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
7048 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7053 dissect_gsm_map_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7054 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7055 DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataRes);
7063 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_) {
7065 tvbuff_t *parameter_tvb;
7068 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7073 octet = tvb_get_guint8(parameter_tvb,0);
7075 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
7076 if ((octet & 0x01)== 1)
7077 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
7079 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
7080 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
7081 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
7087 static int dissect_ss_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7088 return dissect_gsm_map_SS_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
7090 static int dissect_ss_Status_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7091 return dissect_gsm_map_SS_Status(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
7097 dissect_gsm_map_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7098 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7103 static int dissect_bearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7104 return dissect_gsm_map_BearerServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerService);
7110 dissect_gsm_map_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7111 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7116 static int dissect_teleservice_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7117 return dissect_gsm_map_TeleserviceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice_code);
7121 static const value_string gsm_map_BasicServiceCode_vals[] = {
7122 { 2, "bearerService" },
7123 { 3, "teleservice" },
7127 static const ber_choice_t BasicServiceCode_choice[] = {
7128 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_bearerService_impl },
7129 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_teleservice_code_impl },
7130 { 0, 0, 0, 0, NULL }
7134 dissect_gsm_map_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7135 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
7136 BasicServiceCode_choice, hf_index, ett_gsm_map_BasicServiceCode, NULL);
7140 static int dissect_basicService(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7141 return dissect_gsm_map_BasicServiceCode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService);
7143 static int dissect_basicServiceGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7144 return dissect_gsm_map_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroup);
7147 static const ber_sequence_t CallBarringFeature_sequence[] = {
7148 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
7149 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
7154 dissect_gsm_map_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7155 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7156 CallBarringFeature_sequence, hf_index, ett_gsm_map_CallBarringFeature);
7160 static int dissect_CallBarringFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7161 return dissect_gsm_map_CallBarringFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CallBarringFeatureList_item);
7164 static const ber_sequence_t CallBarringFeatureList_sequence_of[1] = {
7165 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallBarringFeatureList_item },
7169 dissect_gsm_map_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7170 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7171 CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_CallBarringFeatureList);
7175 static int dissect_callBarringFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7176 return dissect_gsm_map_CallBarringFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringFeatureList);
7182 dissect_gsm_map_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7183 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7188 static int dissect_forwardingOptions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7189 return dissect_gsm_map_ForwardingOptions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingOptions);
7195 dissect_gsm_map_NoReplyConditionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7196 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7201 static int dissect_noReplyConditionTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7202 return dissect_gsm_map_NoReplyConditionTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noReplyConditionTime);
7205 static const ber_sequence_t ForwardingFeature_sequence[] = {
7206 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
7207 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
7208 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
7209 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
7210 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
7211 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
7212 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
7217 dissect_gsm_map_ForwardingFeature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7218 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7219 ForwardingFeature_sequence, hf_index, ett_gsm_map_ForwardingFeature);
7223 static int dissect_ForwardingFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7224 return dissect_gsm_map_ForwardingFeature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ForwardingFeatureList_item);
7227 static const ber_sequence_t ForwardingFeatureList_sequence_of[1] = {
7228 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ForwardingFeatureList_item },
7232 dissect_gsm_map_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7233 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7234 ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_ForwardingFeatureList);
7238 static int dissect_forwardingFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7239 return dissect_gsm_map_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList);
7241 static int dissect_forwardingFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7242 return dissect_gsm_map_ForwardingFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList);
7248 dissect_gsm_map_LongForwardedToNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7249 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7255 static const ber_sequence_t ForwardingInfo_sequence[] = {
7256 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
7257 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList },
7262 dissect_gsm_map_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7263 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7264 ForwardingInfo_sequence, hf_index, ett_gsm_map_ForwardingInfo);
7268 static int dissect_forwardingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7269 return dissect_gsm_map_ForwardingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInfo);
7272 static const ber_sequence_t CallBarringInfo_sequence[] = {
7273 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
7274 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_callBarringFeatureList },
7279 dissect_gsm_map_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7280 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7281 CallBarringInfo_sequence, hf_index, ett_gsm_map_CallBarringInfo);
7285 static int dissect_callBarringInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7286 return dissect_gsm_map_CallBarringInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringInfo);
7291 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_) {
7292 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7296 static int dissect_HLR_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7297 return dissect_gsm_map_HLR_Id(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_HLR_List_item);
7300 static const ber_sequence_t HLR_List_sequence_of[1] = {
7301 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_HLR_List_item },
7305 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_) {
7306 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7307 HLR_List_sequence_of, hf_index, ett_gsm_map_HLR_List);
7311 static int dissect_hlr_List(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7312 return dissect_gsm_map_HLR_List(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_List);
7315 static const ber_sequence_t ResetArg_sequence[] = {
7316 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
7317 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_hlr_List },
7322 dissect_gsm_map_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7323 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7324 ResetArg_sequence, hf_index, ett_gsm_map_ResetArg);
7332 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_) {
7333 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7339 static const ber_sequence_t RestoreDataArg_sequence[] = {
7340 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
7341 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
7342 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7343 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
7348 dissect_gsm_map_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7349 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7350 RestoreDataArg_sequence, hf_index, ett_gsm_map_RestoreDataArg);
7355 static const ber_sequence_t RestoreDataRes_sequence[] = {
7356 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
7357 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msNotReachable },
7358 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7363 dissect_gsm_map_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7364 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7365 RestoreDataRes_sequence, hf_index, ett_gsm_map_RestoreDataRes);
7373 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_) {
7374 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7379 static int dissect_traceReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7380 return dissect_gsm_map_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceReference);
7386 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_) {
7387 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7392 static int dissect_traceType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7393 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceType);
7399 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_) {
7400 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7405 static int dissect_omc_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7406 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_omc_Id);
7408 static int dissect_ss_EventSpecification_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7409 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification_item);
7412 static const ber_sequence_t ActivateTraceModeArg_sequence[] = {
7413 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7414 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
7415 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_traceType_impl },
7416 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_omc_Id_impl },
7417 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7422 dissect_gsm_map_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7423 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7424 ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_ActivateTraceModeArg);
7429 static const ber_sequence_t ActivateTraceModeRes_sequence[] = {
7430 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7435 dissect_gsm_map_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7436 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7437 ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_ActivateTraceModeRes);
7442 static const ber_sequence_t DeactivateTraceModeArg_sequence[] = {
7443 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7444 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
7445 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7450 dissect_gsm_map_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7451 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7452 DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_DeactivateTraceModeArg);
7457 static const ber_sequence_t DeactivateTraceModeRes_sequence[] = {
7458 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7463 dissect_gsm_map_DeactivateTraceModeRes(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 DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_DeactivateTraceModeRes);
7470 static const ber_sequence_t CUG_CheckInfo_sequence[] = {
7471 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
7472 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_OutgoingAccess },
7473 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7478 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_) {
7479 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7480 CUG_CheckInfo_sequence, hf_index, ett_gsm_map_CUG_CheckInfo);
7484 static int dissect_cug_CheckInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7485 return dissect_gsm_map_CUG_CheckInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_CheckInfo);
7491 dissect_gsm_map_NumberOfForwarding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7492 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7497 static int dissect_numberOfForwarding_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7498 return dissect_gsm_map_NumberOfForwarding(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfForwarding);
7502 static const value_string gsm_map_InterrogationType_vals[] = {
7504 { 1, "forwarding" },
7510 dissect_gsm_map_InterrogationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7511 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7516 static int dissect_interrogationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7517 return dissect_gsm_map_InterrogationType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_interrogationType);
7523 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_) {
7524 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7529 static int dissect_or_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7530 return dissect_gsm_map_OR_Phase(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Capability);
7536 dissect_gsm_map_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7537 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7542 static int dissect_callReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7543 return dissect_gsm_map_CallReferenceNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReferenceNumber);
7547 static const value_string gsm_map_ForwardingReason_vals[] = {
7548 { 0, "notReachable" },
7556 dissect_gsm_map_ForwardingReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7557 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7562 static int dissect_forwardingReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7563 return dissect_gsm_map_ForwardingReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingReason);
7566 static const ber_sequence_t ExternalSignalInfo_sequence[] = {
7567 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_protocolId },
7568 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
7569 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7574 dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7575 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7576 ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo);
7580 static int dissect_networkSignalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7581 return dissect_gsm_map_ExternalSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo);
7583 static int dissect_networkSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7584 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo);
7586 static int dissect_networkSignalInfo2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7587 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo2);
7589 static int dissect_gsm_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7590 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsm_BearerCapability);
7592 static int dissect_isdn_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7593 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_isdn_BearerCapability);
7595 static int dissect_chosenChannel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7596 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannel);
7598 static int dissect_lowerLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7599 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lowerLayerCompatibility);
7601 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7602 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_highLayerCompatibility);
7604 static int dissect_channelType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7605 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_channelType);
7607 static int dissect_callInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7608 return dissect_gsm_map_ExternalSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callInfo);
7610 static int dissect_callInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7611 return dissect_gsm_map_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callInfo);
7614 static const ber_sequence_t CamelInfo_sequence[] = {
7615 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_supportedCamelPhases },
7616 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_suppress_T_CSI },
7617 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7618 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
7623 dissect_gsm_map_CamelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7624 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7625 CamelInfo_sequence, hf_index, ett_gsm_map_CamelInfo);
7629 static int dissect_camelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7630 return dissect_gsm_map_CamelInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelInfo);
7636 dissect_gsm_map_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7637 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7641 static int dissect_suppressionOfAnnouncement_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7642 return dissect_gsm_map_SuppressionOfAnnouncement(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_suppressionOfAnnouncement);
7648 dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7649 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7654 static int dissect_alertingPattern(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7655 return dissect_gsm_map_AlertingPattern(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
7657 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7658 return dissect_gsm_map_AlertingPattern(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
7664 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_) {
7665 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7670 static int dissect_supportedCCBS_Phase_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7671 return dissect_gsm_map_SupportedCCBS_Phase(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCCBS_Phase);
7675 static const value_string gsm_map_Ext_ProtocolId_vals[] = {
7676 { 1, "ets-300356" },
7682 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_) {
7683 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7688 static int dissect_ext_ProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7689 return dissect_gsm_map_Ext_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ProtocolId);
7692 static const ber_sequence_t Ext_ExternalSignalInfo_sequence[] = {
7693 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ext_ProtocolId },
7694 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
7695 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7700 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_) {
7701 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7702 Ext_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_Ext_ExternalSignalInfo);
7706 static int dissect_additionalSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7707 return dissect_gsm_map_Ext_ExternalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSignalInfo);
7713 dissect_gsm_map_CallDiversionTreatmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7714 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7719 static int dissect_callDiversionTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7720 return dissect_gsm_map_CallDiversionTreatmentIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callDiversionTreatmentIndicator);
7723 static const ber_sequence_t SendRoutingInfoArg_sequence[] = {
7724 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7725 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
7726 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfForwarding_impl },
7727 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_interrogationType_impl },
7728 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
7729 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Capability_impl },
7730 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gmsc_OrGsmSCF_Address_impl },
7731 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
7732 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingReason_impl },
7733 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicServiceGroup_impl },
7734 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
7735 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelInfo_impl },
7736 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
7737 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7738 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
7739 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
7740 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCCBS_Phase_impl },
7741 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
7742 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istSupportIndicator_impl },
7743 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pre_pagingSupported_impl },
7744 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callDiversionTreatmentIndicator_impl },
7745 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
7746 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_suppress_VT_CSI },
7747 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_suppressIncomingCallBarring },
7748 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_gsmSCF_InitiatedCall },
7749 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup2_impl },
7750 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo2_impl },
7755 dissect_gsm_map_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7756 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7757 SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoArg);
7762 static const ber_sequence_t ForwardingData_sequence[] = {
7763 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
7764 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
7765 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
7766 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7767 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
7772 dissect_gsm_map_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7773 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7774 ForwardingData_sequence, hf_index, ett_gsm_map_ForwardingData);
7778 static int dissect_forwardingData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7779 return dissect_gsm_map_ForwardingData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
7781 static int dissect_forwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7782 return dissect_gsm_map_ForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
7786 static const value_string gsm_map_RoutingInfo_vals[] = {
7787 { 0, "roamingNumber" },
7788 { 1, "forwardingData" },
7792 static const ber_choice_t RoutingInfo_choice[] = {
7793 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
7794 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingData },
7795 { 0, 0, 0, 0, NULL }
7799 dissect_gsm_map_RoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7800 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
7801 RoutingInfo_choice, hf_index, ett_gsm_map_RoutingInfo, NULL);
7805 static int dissect_routingInfo2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7806 return dissect_gsm_map_RoutingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routingInfo2);
7808 static int dissect_routingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7809 return dissect_gsm_map_RoutingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_routingInfo);
7812 static const ber_sequence_t GmscCamelSubscriptionInfo_sequence[] = {
7813 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
7814 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
7815 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7816 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
7817 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
7818 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_csi_impl },
7823 dissect_gsm_map_GmscCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7824 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7825 GmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_GmscCamelSubscriptionInfo);
7829 static int dissect_gmscCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7830 return dissect_gsm_map_GmscCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmscCamelSubscriptionInfo);
7833 static const ber_sequence_t CamelRoutingInfo_sequence[] = {
7834 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_forwardingData },
7835 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gmscCamelSubscriptionInfo_impl },
7836 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7841 dissect_gsm_map_CamelRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7842 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7843 CamelRoutingInfo_sequence, hf_index, ett_gsm_map_CamelRoutingInfo);
7847 static int dissect_camelRoutingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7848 return dissect_gsm_map_CamelRoutingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelRoutingInfo);
7852 static const value_string gsm_map_ExtendedRoutingInfo_vals[] = {
7853 { 0, "routingInfo" },
7854 { 1, "camelRoutingInfo" },
7858 static const ber_choice_t ExtendedRoutingInfo_choice[] = {
7859 { 0, BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_routingInfo },
7860 { 1, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_camelRoutingInfo_impl },
7861 { 0, 0, 0, 0, NULL }
7865 dissect_gsm_map_ExtendedRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7866 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
7867 ExtendedRoutingInfo_choice, hf_index, ett_gsm_map_ExtendedRoutingInfo, NULL);
7871 static int dissect_extendedRoutingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7872 return dissect_gsm_map_ExtendedRoutingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extendedRoutingInfo);
7878 dissect_gsm_map_AgeOfLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7879 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7884 static int dissect_ageOfLocationInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7885 return dissect_gsm_map_AgeOfLocationInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationInformation);
7887 static int dissect_ageOfLocationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7888 return dissect_gsm_map_AgeOfLocationInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationEstimate);
7894 dissect_gsm_map_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7895 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7900 static int dissect_geographicalInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7901 return dissect_gsm_map_GeographicalInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_geographicalInformation);
7903 static int dissect_geographicalInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7904 return dissect_gsm_map_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geographicalInformation);
7910 dissect_gsm_map_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7911 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7916 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7917 return dissect_gsm_map_LocationNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationNumber);
7923 dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7924 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7929 static int dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7930 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength);
7934 static const value_string gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals[] = {
7935 { 0, "cellGlobalIdOrServiceAreaIdFixedLength" },
7936 { 1, "laiFixedLength" },
7940 static const ber_choice_t CellGlobalIdOrServiceAreaIdOrLAI_choice[] = {
7941 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl },
7942 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
7943 { 0, 0, 0, 0, NULL }
7947 dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7948 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
7949 CellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI, NULL);
7953 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7954 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI);
7956 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7957 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI);
7959 static int dissect_cellIdOrSai_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7960 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellIdOrSai);
7966 dissect_gsm_map_GeodeticInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7967 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7972 static int dissect_geodeticInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7973 return dissect_gsm_map_GeodeticInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_geodeticInformation);
7975 static int dissect_geodeticInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7976 return dissect_gsm_map_GeodeticInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geodeticInformation);
7979 static const ber_sequence_t LocationInformation_sequence[] = {
7980 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ageOfLocationInformation },
7981 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
7982 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_number_impl },
7983 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
7984 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cellGlobalIdOrServiceAreaIdOrLAI_impl },
7985 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7986 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSA_Id_impl },
7987 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
7988 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geodeticInformation_impl },
7989 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocationRetrieved_impl },
7990 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
7995 dissect_gsm_map_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7996 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7997 LocationInformation_sequence, hf_index, ett_gsm_map_LocationInformation);
8001 static int dissect_locationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8002 return dissect_gsm_map_LocationInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformation);
8006 static const value_string gsm_map_SubscriberState_vals[] = {
8007 { 0, "assumedIdle" },
8009 { 2, "notProvidedFromVLR" },
8013 static const ber_choice_t SubscriberState_choice[] = {
8014 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assumedIdle_impl },
8015 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_camelBusy_impl },
8016 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_notProvidedFromVLR_impl },
8017 { 0, 0, 0, 0, NULL }
8021 dissect_gsm_map_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8022 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
8023 SubscriberState_choice, hf_index, ett_gsm_map_SubscriberState, NULL);
8027 static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8028 return dissect_gsm_map_SubscriberState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberState);
8034 dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8035 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8040 static int dissect_routeingAreaIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8041 return dissect_gsm_map_RAIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_routeingAreaIdentity);
8044 static const ber_sequence_t LocationInformationGPRS_sequence[] = {
8045 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_cellGlobalIdOrServiceAreaIdOrLAI },
8046 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_routeingAreaIdentity },
8047 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_geographicalInformation },
8048 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_sgsn_Number },
8049 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_selectedLSAIdentity },
8050 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
8051 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_sai_Present },
8052 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_geodeticInformation },
8053 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_currentLocationRetrieved },
8054 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_ageOfLocationInformation },
8059 dissect_gsm_map_LocationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8060 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8061 LocationInformationGPRS_sequence, hf_index, ett_gsm_map_LocationInformationGPRS);
8065 static int dissect_locationInformationGPRS(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8066 return dissect_gsm_map_LocationInformationGPRS(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationGPRS);
8068 static int dissect_locationInformationGPRS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8069 return dissect_gsm_map_LocationInformationGPRS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationGPRS);
8075 dissect_gsm_map_NSAPI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8076 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8081 static int dissect_nsapi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8082 return dissect_gsm_map_NSAPI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nsapi);
8088 dissect_gsm_map_TransactionId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8089 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8094 static int dissect_transactionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8095 return dissect_gsm_map_TransactionId(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_transactionId);
8101 dissect_gsm_map_TEID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8102 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8107 static int dissect_teid_ForGnAndGp_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8108 return dissect_gsm_map_TEID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForGnAndGp);
8110 static int dissect_teid_ForIu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8111 return dissect_gsm_map_TEID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForIu);
8117 dissect_gsm_map_GPRSChargingID(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_chargingId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8124 return dissect_gsm_map_GPRSChargingID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingId);
8127 static const ber_sequence_t PDP_ContextInfo_sequence[] = {
8128 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pdp_ContextIdentifier_impl },
8129 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ContextActive_impl },
8130 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
8131 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
8132 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_Subscribed_impl },
8133 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_InUse_impl },
8134 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nsapi_impl },
8135 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_transactionId_impl },
8136 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForGnAndGp_impl },
8137 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForIu_impl },
8138 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
8139 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_qos_Subscribed_impl },
8140 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Requested_impl },
8141 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Negotiated_impl },
8142 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingId_impl },
8143 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
8144 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rnc_Address_impl },
8145 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8146 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Subscribed_impl },
8147 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Requested_impl },
8148 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Negotiated_impl },
8153 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_) {
8154 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8155 PDP_ContextInfo_sequence, hf_index, ett_gsm_map_PDP_ContextInfo);
8159 static int dissect_PDP_ContextInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8160 return dissect_gsm_map_PDP_ContextInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PDP_ContextInfoList_item);
8163 static const ber_sequence_t PDP_ContextInfoList_sequence_of[1] = {
8164 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PDP_ContextInfoList_item },
8168 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_) {
8169 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8170 PDP_ContextInfoList_sequence_of, hf_index, ett_gsm_map_PDP_ContextInfoList);
8174 static int dissect_ps_PDP_ActiveNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8175 return dissect_gsm_map_PDP_ContextInfoList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveNotReachableForPaging);
8177 static int dissect_ps_PDP_ActiveReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8178 return dissect_gsm_map_PDP_ContextInfoList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveReachableForPaging);
8182 static const value_string gsm_map_NotReachableReason_vals[] = {
8184 { 1, "imsiDetached" },
8185 { 2, "restrictedArea" },
8186 { 3, "notRegistered" },
8192 dissect_gsm_map_NotReachableReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8193 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8198 static int dissect_netDetNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8199 return dissect_gsm_map_NotReachableReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_netDetNotReachable);
8203 static const value_string gsm_map_PS_SubscriberState_vals[] = {
8204 { 0, "notProvidedFromSGSN" },
8205 { 1, "ps-Detached" },
8206 { 2, "ps-AttachedNotReachableForPaging" },
8207 { 3, "ps-AttachedReachableForPaging" },
8208 { 4, "ps-PDP-ActiveNotReachableForPaging" },
8209 { 5, "ps-PDP-ActiveReachableForPaging" },
8210 { 6, "netDetNotReachable" },
8214 static const ber_choice_t PS_SubscriberState_choice[] = {
8215 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_notProvidedFromSGSN_impl },
8216 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ps_Detached_impl },
8217 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ps_AttachedNotReachableForPaging_impl },
8218 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ps_AttachedReachableForPaging_impl },
8219 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveNotReachableForPaging_impl },
8220 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveReachableForPaging_impl },
8221 { 6, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_netDetNotReachable },
8222 { 0, 0, 0, 0, NULL }
8226 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_) {
8227 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
8228 PS_SubscriberState_choice, hf_index, ett_gsm_map_PS_SubscriberState, NULL);
8232 static int dissect_ps_SubscriberState_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8233 return dissect_gsm_map_PS_SubscriberState(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_SubscriberState);
8239 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_) {
8240 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8245 static int dissect_ms_Classmark2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8246 return dissect_gsm_map_MS_Classmark2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_Classmark2);
8252 dissect_gsm_map_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8253 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8258 static int dissect_mSNetworkCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8259 return dissect_gsm_map_MSNetworkCapability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSNetworkCapability);
8265 dissect_gsm_map_MSRadioAccessCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8266 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8271 static int dissect_mSRadioAccessCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8272 return dissect_gsm_map_MSRadioAccessCapability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSRadioAccessCapability);
8275 static const ber_sequence_t GPRSMSClass_sequence[] = {
8276 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mSNetworkCapability_impl },
8277 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mSRadioAccessCapability_impl },
8282 dissect_gsm_map_GPRSMSClass(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 GPRSMSClass_sequence, hf_index, ett_gsm_map_GPRSMSClass);
8288 static int dissect_gprs_MS_Class_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8289 return dissect_gsm_map_GPRSMSClass(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_MS_Class);
8294 dissect_gsm_map_RouteingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8295 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
8299 static int dissect_routeingNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8300 return dissect_gsm_map_RouteingNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routeingNumber);
8304 static const value_string gsm_map_NumberPortabilityStatus_vals[] = {
8305 { 0, "notKnownToBePorted" },
8306 { 1, "ownNumberPortedOut" },
8307 { 2, "foreignNumberPortedToForeignNetwork" },
8308 { 4, "ownNumberNotPortedOut" },
8309 { 5, "foreignNumberPortedIn" },
8315 dissect_gsm_map_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8316 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8321 static int dissect_numberPortabilityStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8322 return dissect_gsm_map_NumberPortabilityStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberPortabilityStatus);
8325 static const ber_sequence_t MNPInfoRes_sequence[] = {
8326 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingNumber_impl },
8327 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8328 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
8329 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
8330 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8335 dissect_gsm_map_MNPInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8336 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8337 MNPInfoRes_sequence, hf_index, ett_gsm_map_MNPInfoRes);
8341 static int dissect_mnpInfoRes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8342 return dissect_gsm_map_MNPInfoRes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpInfoRes);
8345 static const ber_sequence_t SubscriberInfo_sequence[] = {
8346 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
8347 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_subscriberState },
8348 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8349 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
8350 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ps_SubscriberState_impl },
8351 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
8352 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_Classmark2_impl },
8353 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_MS_Class_impl },
8354 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mnpInfoRes_impl },
8359 dissect_gsm_map_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8360 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8361 SubscriberInfo_sequence, hf_index, ett_gsm_map_SubscriberInfo);
8365 static int dissect_subscriberInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8366 return dissect_gsm_map_SubscriberInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
8368 static int dissect_subscriberInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8369 return dissect_gsm_map_SubscriberInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
8372 static const ber_sequence_t CCBS_Indicators_sequence[] = {
8373 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
8374 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_keepCCBS_CallIndicator_impl },
8375 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8380 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_) {
8381 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8382 CCBS_Indicators_sequence, hf_index, ett_gsm_map_CCBS_Indicators);
8386 static int dissect_ccbs_Indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8387 return dissect_gsm_map_CCBS_Indicators(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Indicators);
8390 static const asn_namedbit AllowedServices_bits[] = {
8391 { 0, &hf_gsm_map_AllowedServices_firstServiceAllowed, -1, -1, "firstServiceAllowed", NULL },
8392 { 1, &hf_gsm_map_AllowedServices_secondServiceAllowed, -1, -1, "secondServiceAllowed", NULL },
8393 { 0, NULL, 0, 0, NULL, NULL }
8397 dissect_gsm_map_AllowedServices(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8398 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8399 AllowedServices_bits, hf_index, ett_gsm_map_AllowedServices,
8404 static int dissect_allowedServices_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8405 return dissect_gsm_map_AllowedServices(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedServices);
8409 static const value_string gsm_map_UnavailabilityCause_vals[] = {
8410 { 1, "bearerServiceNotProvisioned" },
8411 { 2, "teleserviceNotProvisioned" },
8412 { 3, "absentSubscriber" },
8413 { 4, "busySubscriber" },
8414 { 5, "callBarred" },
8415 { 6, "cug-Reject" },
8421 dissect_gsm_map_UnavailabilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8422 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8427 static int dissect_unavailabilityCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8428 return dissect_gsm_map_UnavailabilityCause(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unavailabilityCause);
8431 static const ber_sequence_t SendRoutingInfoRes_sequence[] = {
8432 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8433 { -1/*choice*/ , -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extendedRoutingInfo },
8434 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
8435 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cugSubscriptionFlag_impl },
8436 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberInfo_impl },
8437 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
8438 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService_impl },
8439 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingInterrogationRequired_impl },
8440 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vmsc_Address_impl },
8441 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8442 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
8443 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Indicators_impl },
8444 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
8445 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
8446 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istAlertTimer_impl },
8447 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhasesInVMSC_impl },
8448 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInVMSC_impl },
8449 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_routingInfo2_impl },
8450 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List2_impl },
8451 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService2_impl },
8452 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedServices_impl },
8453 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unavailabilityCause_impl },
8454 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseResourcesSupported_impl },
8459 dissect_gsm_map_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8460 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8461 SendRoutingInfoRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoRes);
8467 static const value_string gsm_map_SubscriberId_vals[] = {
8473 static const ber_choice_t SubscriberId_choice[] = {
8474 { 0, BER_CLASS_CON, 0, 0, dissect_imsi },
8475 { 1, BER_CLASS_CON, 1, 0, dissect_tmsi },
8476 { 0, 0, 0, 0, NULL }
8480 dissect_gsm_map_SubscriberId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8481 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
8482 SubscriberId_choice, hf_index, ett_gsm_map_SubscriberId, NULL);
8488 static const value_string gsm_map_SubscriberIdentity_vals[] = {
8494 static const ber_choice_t SubscriberIdentity_choice[] = {
8495 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8496 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
8497 { 0, 0, 0, 0, NULL }
8501 dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8502 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
8503 SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity, NULL);
8507 static int dissect_subscriberIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8508 return dissect_gsm_map_SubscriberIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberIdentity);
8510 static int dissect_subscriberIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8511 return dissect_gsm_map_SubscriberIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberIdentity);
8513 static int dissect_targetMS(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8514 return dissect_gsm_map_SubscriberIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMS);
8516 static int dissect_targetMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8517 return dissect_gsm_map_SubscriberIdentity(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetMS);
8521 static const value_string gsm_map_NetDetNotReachable_vals[] = {
8523 { 1, "imsiDetached" },
8524 { 2, "restrictedArea" },
8525 { 3, "notRegistered" },
8531 dissect_gsm_map_NetDetNotReachable(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8532 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8541 dissect_gsm_map_RoamingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8542 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8551 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_) {
8552 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8561 dissect_gsm_map_ExtSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8562 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8571 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_) {
8572 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8578 static const ber_sequence_t ProvideRoamingNumberArg_sequence[] = {
8579 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8580 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
8581 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
8582 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
8583 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
8584 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
8585 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
8586 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmsc_Address_impl },
8587 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
8588 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
8589 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8590 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
8591 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
8592 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhasesInInterrogatingNode_impl },
8593 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
8594 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_orNotSupportedInGMSC_impl },
8595 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pre_pagingSupported_impl },
8596 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
8597 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppress_VT_CSI_impl },
8598 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInInterrogatingNode_impl },
8603 dissect_gsm_map_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8604 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8605 ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberArg);
8610 static const ber_sequence_t ProvideRoamingNumberRes_sequence[] = {
8611 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
8612 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8613 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_releaseResourcesSupported },
8618 dissect_gsm_map_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8619 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8620 ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberRes);
8628 dissect_gsm_map_UUIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8629 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8634 static int dissect_uuIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8635 return dissect_gsm_map_UUIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uuIndicator);
8641 dissect_gsm_map_UUI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8642 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8647 static int dissect_uui_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8648 return dissect_gsm_map_UUI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uui);
8651 static const ber_sequence_t UU_Data_sequence[] = {
8652 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uuIndicator_impl },
8653 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uui_impl },
8654 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uusCFInteraction_impl },
8655 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8660 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_) {
8661 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8662 UU_Data_sequence, hf_index, ett_gsm_map_UU_Data);
8666 static int dissect_uu_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8667 return dissect_gsm_map_UU_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uu_Data);
8670 static const ber_sequence_t ResumeCallHandlingArg_sequence[] = {
8671 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
8672 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ext_basicServiceGroup },
8673 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingData_impl },
8674 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8675 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
8676 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
8677 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8678 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
8679 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
8680 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uu_Data_impl },
8681 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allInformationSent_impl },
8682 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_csi_impl },
8683 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDPCriteriaList_impl },
8684 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup2_impl },
8689 dissect_gsm_map_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8690 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8691 ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ResumeCallHandlingArg);
8696 static const ber_sequence_t ResumeCallHandlingRes_sequence[] = {
8697 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8702 dissect_gsm_map_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8703 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8704 ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ResumeCallHandlingRes);
8712 dissect_gsm_map_CallDirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8713 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8718 static int dissect_call_Direction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8719 return dissect_gsm_map_CallDirection(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_call_Direction);
8722 static const ber_sequence_t ProvideSIWFSNumberArg_sequence[] = {
8723 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
8724 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_isdn_BearerCapability_impl },
8725 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_call_Direction_impl },
8726 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_b_Subscriber_Address_impl },
8727 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
8728 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lowerLayerCompatibility_impl },
8729 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
8730 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8735 dissect_gsm_map_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8736 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8737 ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberArg);
8742 static const ber_sequence_t ProvideSIWFSNumberRes_sequence[] = {
8743 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sIWFSNumber_impl },
8744 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8749 dissect_gsm_map_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8750 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8751 ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberRes);
8756 static const ber_sequence_t SIWFSSignallingModifyArg_sequence[] = {
8757 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_channelType_impl },
8758 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
8759 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8764 dissect_gsm_map_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8765 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8766 SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyArg);
8771 static const ber_sequence_t SIWFSSignallingModifyRes_sequence[] = {
8772 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_channelType_impl },
8773 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8778 dissect_gsm_map_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8779 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8780 SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyRes);
8786 static const value_string gsm_map_Ccbs_Monitoring_vals[] = {
8787 { 0, "stopMonitoring" },
8788 { 1, "startMonitoring" },
8794 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_) {
8795 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8802 static const value_string gsm_map_ReportingState_vals[] = {
8803 { 0, "stopMonitoring" },
8804 { 1, "startMonitoring" },
8810 dissect_gsm_map_ReportingState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8811 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8816 static int dissect_ccbs_Monitoring(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8817 return dissect_gsm_map_ReportingState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Monitoring);
8820 static const ber_sequence_t SetReportingStateArg_sequence[] = {
8821 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_imsi },
8822 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_lmsi },
8823 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_ccbs_Monitoring },
8824 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
8829 dissect_gsm_map_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8830 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8831 SetReportingStateArg_sequence, hf_index, ett_gsm_map_SetReportingStateArg);
8837 static const value_string gsm_map_CCBS_SubscriberStatus_vals[] = {
8838 { 0, "ccbsNotIdle" },
8840 { 2, "ccbsNotReachable" },
8846 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_) {
8847 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8852 static int dissect_ccbs_SubscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8853 return dissect_gsm_map_CCBS_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_SubscriberStatus);
8856 static const ber_sequence_t SetReportingStateRes_sequence[] = {
8857 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
8858 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8863 dissect_gsm_map_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8864 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8865 SetReportingStateRes_sequence, hf_index, ett_gsm_map_SetReportingStateRes);
8870 static const ber_sequence_t EventReportData_sequence[] = {
8871 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
8872 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8877 dissect_gsm_map_EventReportData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8878 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8879 EventReportData_sequence, hf_index, ett_gsm_map_EventReportData);
8883 static int dissect_eventReportData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8884 return dissect_gsm_map_EventReportData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_eventReportData);
8888 static const value_string gsm_map_MonitoringMode_vals[] = {
8896 dissect_gsm_map_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8897 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8902 static int dissect_monitoringMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8903 return dissect_gsm_map_MonitoringMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_monitoringMode);
8907 static const value_string gsm_map_CallOutcome_vals[] = {
8916 dissect_gsm_map_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8917 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8922 static int dissect_callOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8923 return dissect_gsm_map_CallOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callOutcome);
8926 static const ber_sequence_t CallReportData_sequence[] = {
8927 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitoringMode_impl },
8928 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callOutcome_impl },
8929 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8934 dissect_gsm_map_CallReportData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8935 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8936 CallReportData_sequence, hf_index, ett_gsm_map_CallReportData);
8940 static int dissect_callReportdata_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8941 return dissect_gsm_map_CallReportData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReportdata);
8944 static const ber_sequence_t StatusReportArg_sequence[] = {
8945 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8946 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventReportData_impl },
8947 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReportdata_impl },
8948 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8953 dissect_gsm_map_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8954 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8955 StatusReportArg_sequence, hf_index, ett_gsm_map_StatusReportArg);
8960 static const ber_sequence_t StatusReportRes_sequence[] = {
8961 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8966 dissect_gsm_map_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8967 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8968 StatusReportRes_sequence, hf_index, ett_gsm_map_StatusReportRes);
8974 static const value_string gsm_map_Ruf_Outcome_vals[] = {
8977 { 2, "noResponseFromFreeMS" },
8978 { 3, "noResponseFromBusyMS" },
8979 { 4, "udubFromFreeMS" },
8980 { 5, "udubFromBusyMS" },
8986 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_) {
8987 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8992 static int dissect_ruf_Outcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8993 return dissect_gsm_map_Ruf_Outcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ruf_Outcome);
8996 static const ber_sequence_t IST_AlertArg_sequence[] = {
8997 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
8998 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9003 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_) {
9004 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9005 IST_AlertArg_sequence, hf_index, ett_gsm_map_IST_AlertArg);
9011 static const value_string gsm_map_CallTerminationIndicator_vals[] = {
9012 { 0, "terminateCallActivityReferred" },
9013 { 1, "terminateAllCallActivities" },
9019 dissect_gsm_map_CallTerminationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9020 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9025 static int dissect_callTerminationIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9026 return dissect_gsm_map_CallTerminationIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callTerminationIndicator);
9029 static const ber_sequence_t IST_AlertRes_sequence[] = {
9030 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istAlertTimer_impl },
9031 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istInformationWithdraw_impl },
9032 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTerminationIndicator_impl },
9033 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9038 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_) {
9039 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9040 IST_AlertRes_sequence, hf_index, ett_gsm_map_IST_AlertRes);
9045 static const ber_sequence_t IST_CommandArg_sequence[] = {
9046 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9047 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9052 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_) {
9053 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9054 IST_CommandArg_sequence, hf_index, ett_gsm_map_IST_CommandArg);
9059 static const ber_sequence_t IST_CommandRes_sequence[] = {
9060 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9065 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_) {
9066 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9067 IST_CommandRes_sequence, hf_index, ett_gsm_map_IST_CommandRes);
9072 static const ber_sequence_t ReleaseResourcesArg_sequence[] = {
9073 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msrn },
9074 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9079 dissect_gsm_map_ReleaseResourcesArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9080 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9081 ReleaseResourcesArg_sequence, hf_index, ett_gsm_map_ReleaseResourcesArg);
9086 static const ber_sequence_t ReleaseResourcesRes_sequence[] = {
9087 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9092 dissect_gsm_map_ReleaseResourcesRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9093 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9094 ReleaseResourcesRes_sequence, hf_index, ett_gsm_map_ReleaseResourcesRes);
9102 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_) {
9103 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9108 static int dissect_ccbs_Index_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9109 return dissect_gsm_map_CCBS_Index(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Index);
9112 static const ber_sequence_t CCBS_Feature_sequence[] = {
9113 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
9114 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberNumber_impl },
9115 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberSubaddress_impl },
9116 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup_impl },
9121 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_) {
9122 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9123 CCBS_Feature_sequence, hf_index, ett_gsm_map_CCBS_Feature);
9127 static int dissect_ccbs_Feature(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9128 return dissect_gsm_map_CCBS_Feature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Feature);
9130 static int dissect_ccbs_Feature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9131 return dissect_gsm_map_CCBS_Feature(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Feature);
9133 static int dissect_CCBS_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9134 return dissect_gsm_map_CCBS_Feature(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CCBS_FeatureList_item);
9137 static const ber_sequence_t RemoteUserFreeArg_sequence[] = {
9138 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9139 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callInfo_impl },
9140 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
9141 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_translatedB_Number_impl },
9142 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_replaceB_Number_impl },
9143 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
9144 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9149 dissect_gsm_map_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9150 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9151 RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_RemoteUserFreeArg);
9156 static const ber_sequence_t RemoteUserFreeRes_sequence[] = {
9157 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ruf_Outcome_impl },
9158 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9163 dissect_gsm_map_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9164 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9165 RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_RemoteUserFreeRes);
9173 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_) {
9174 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9180 static const ber_sequence_t SS_Data_sequence[] = {
9181 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
9182 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
9183 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_SubscriptionOption },
9184 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ext_basicServiceGroupList },
9185 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
9186 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
9191 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_) {
9192 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9193 SS_Data_sequence, hf_index, ett_gsm_map_SS_Data);
9197 static int dissect_ss_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9198 return dissect_gsm_map_SS_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Data);
9201 static const ber_sequence_t RegisterSS_Arg_sequence[] = {
9202 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
9203 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
9204 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_addr_impl },
9205 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
9206 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
9207 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
9208 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
9209 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
9214 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_) {
9215 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9216 RegisterSS_Arg_sequence, hf_index, ett_gsm_map_RegisterSS_Arg);
9222 static const value_string gsm_map_SS_Info_vals[] = {
9223 { 0, "forwardingInfo" },
9224 { 1, "callBarringInfo" },
9229 static const ber_choice_t SS_Info_choice[] = {
9230 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfo_impl },
9231 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfo_impl },
9232 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ss_Data_impl },
9233 { 0, 0, 0, 0, NULL }
9237 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_) {
9238 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
9239 SS_Info_choice, hf_index, ett_gsm_map_SS_Info, NULL);
9247 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_) {
9248 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9254 static const ber_sequence_t CCBS_FeatureList_sequence_of[1] = {
9255 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CCBS_FeatureList_item },
9259 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_) {
9260 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
9261 CCBS_FeatureList_sequence_of, hf_index, ett_gsm_map_CCBS_FeatureList);
9265 static int dissect_ccbs_FeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9266 return dissect_gsm_map_CCBS_FeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_FeatureList);
9269 static const ber_sequence_t GenericServiceInfo_sequence[] = {
9270 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
9271 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cliRestrictionOption },
9272 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumEntitledPriority_impl },
9273 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
9274 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_FeatureList_impl },
9275 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrSB_impl },
9276 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrUser_impl },
9277 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nbrSN_impl },
9282 dissect_gsm_map_GenericServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9283 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9284 GenericServiceInfo_sequence, hf_index, ett_gsm_map_GenericServiceInfo);
9288 static int dissect_genericServiceInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9289 return dissect_gsm_map_GenericServiceInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_genericServiceInfo);
9293 static const value_string gsm_map_InterrogateSS_Res_vals[] = {
9295 { 2, "basicServiceGroupList" },
9296 { 3, "forwardingFeatureList" },
9297 { 4, "genericServiceInfo" },
9301 static const ber_choice_t InterrogateSS_Res_choice[] = {
9302 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
9303 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_basicServiceGroupList_impl },
9304 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_forwardingFeatureList_impl },
9305 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_genericServiceInfo_impl },
9306 { 0, 0, 0, 0, NULL }
9310 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_) {
9311 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
9312 InterrogateSS_Res_choice, hf_index, ett_gsm_map_InterrogateSS_Res, NULL);
9320 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_) {
9321 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9326 static int dissect_ussd_DataCodingScheme(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9327 return dissect_gsm_map_USSD_DataCodingScheme(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_DataCodingScheme);
9329 static int dissect_dataCodingScheme_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9330 return dissect_gsm_map_USSD_DataCodingScheme(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dataCodingScheme);
9336 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_) {
9337 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9342 static int dissect_ussd_String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9343 return dissect_gsm_map_USSD_String(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_String);
9346 static const ber_sequence_t Ussd_Arg_sequence[] = {
9347 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
9348 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
9349 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertingPattern },
9350 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9355 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_) {
9356 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9357 Ussd_Arg_sequence, hf_index, ett_gsm_map_Ussd_Arg);
9362 static const ber_sequence_t Ussd_Res_sequence[] = {
9363 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
9364 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
9369 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_) {
9370 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9371 Ussd_Res_sequence, hf_index, ett_gsm_map_Ussd_Res);
9377 static const value_string gsm_map_FailureCause_vals[] = {
9378 { 0, "wrongUserResponse" },
9379 { 1, "wrongNetworkSignature" },
9385 dissect_gsm_map_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9386 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9391 static int dissect_failureCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9392 return dissect_gsm_map_FailureCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_failureCause);
9398 dissect_gsm_map_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9399 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
9403 static int dissect_re_attempt(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9404 return dissect_gsm_map_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_re_attempt);
9406 static int dissect_sm_RP_PRI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9407 return dissect_gsm_map_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_PRI);
9411 static const value_string gsm_map_AccessType_vals[] = {
9413 { 1, "emergencyCall" },
9414 { 2, "locationUpdating" },
9415 { 3, "supplementaryService" },
9416 { 4, "shortMessage" },
9417 { 5, "gprsAttach" },
9418 { 6, "routingAreaUpdating" },
9419 { 7, "serviceRequest" },
9420 { 8, "pdpContextActivation" },
9421 { 9, "pdpContextDeactivation" },
9422 { 10, "gprsDetach" },
9428 dissect_gsm_map_AccessType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9429 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9434 static int dissect_accessType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9435 return dissect_gsm_map_AccessType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_accessType);
9438 static const ber_sequence_t AuthenticationFailureReportArg_sequence[] = {
9439 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
9440 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_failureCause },
9441 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9442 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_re_attempt },
9443 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_accessType },
9444 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_rand },
9445 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Number_impl },
9446 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
9451 dissect_gsm_map_AuthenticationFailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9452 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9453 AuthenticationFailureReportArg_sequence, hf_index, ett_gsm_map_AuthenticationFailureReportArg);
9458 static const ber_sequence_t AuthenticationFailureReportRes_sequence[] = {
9459 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9464 dissect_gsm_map_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9465 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9466 AuthenticationFailureReportRes_sequence, hf_index, ett_gsm_map_AuthenticationFailureReportRes);
9473 dissect_gsm_map_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9474 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
9475 pinfo, tree, tvb, offset, hf_index,
9482 static const value_string gsm_map_GetPasswordArg_vals[] = {
9484 { 1, "enterNewPW" },
9485 { 2, "enterNewPW-Again" },
9491 dissect_gsm_map_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9492 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9500 dissect_gsm_map_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9501 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
9502 pinfo, tree, tvb, offset, hf_index,
9508 static const asn_namedbit ServiceIndicator_bits[] = {
9509 { 0, &hf_gsm_map_ServiceIndicator_clir_invoked, -1, -1, "clir-invoked", NULL },
9510 { 1, &hf_gsm_map_ServiceIndicator_camel_invoked, -1, -1, "camel-invoked", NULL },
9511 { 0, NULL, 0, 0, NULL, NULL }
9515 dissect_gsm_map_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9516 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
9517 ServiceIndicator_bits, hf_index, ett_gsm_map_ServiceIndicator,
9522 static int dissect_serviceIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9523 return dissect_gsm_map_ServiceIndicator(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceIndicator);
9526 static const ber_sequence_t CCBS_Data_sequence[] = {
9527 { BER_CLASS_CON, 0, 0, dissect_ccbs_Feature },
9528 { BER_CLASS_CON, 1, 0, dissect_translatedB_Number },
9529 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_serviceIndicator },
9530 { BER_CLASS_CON, 3, 0, dissect_callInfo },
9531 { BER_CLASS_CON, 4, 0, dissect_networkSignalInfo },
9536 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_) {
9537 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9538 CCBS_Data_sequence, hf_index, ett_gsm_map_CCBS_Data);
9542 static int dissect_ccbs_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9543 return dissect_gsm_map_CCBS_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Data);
9546 static const ber_sequence_t RegisterCC_EntryArg_sequence[] = {
9547 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
9548 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Data_impl },
9553 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_) {
9554 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9555 RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_RegisterCC_EntryArg);
9560 static const ber_sequence_t RegisterCC_EntryRes_sequence[] = {
9561 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
9566 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_) {
9567 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9568 RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_RegisterCC_EntryRes);
9573 static const ber_sequence_t EraseCC_EntryArg_sequence[] = {
9574 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
9575 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
9580 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_) {
9581 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9582 EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_EraseCC_EntryArg);
9587 static const ber_sequence_t EraseCC_EntryRes_sequence[] = {
9588 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
9589 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
9594 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_) {
9595 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9596 EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_EraseCC_EntryRes);
9604 dissect_gsm_map_ServiceCentreAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9606 tvbuff_t *parameter_tvb;
9609 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9614 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
9615 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
9616 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
9618 digit_str = unpack_digits(parameter_tvb, 1);
9620 proto_tree_add_string(tree, hf_gsm_map_servicecentreaddress_digits, parameter_tvb, 1, -1, digit_str);
9623 pinfo->p2p_dir = P2P_DIR_SENT;
9628 static int dissect_serviceCentreAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9629 return dissect_gsm_map_ServiceCentreAddress(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
9631 static int dissect_serviceCentreAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9632 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
9634 static int dissect_serviceCentreAddressOA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9635 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressOA);
9637 static int dissect_serviceCentreAddressDA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9638 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressDA);
9644 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_) {
9645 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9650 static int dissect_sm_RP_MTI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9651 return dissect_gsm_map_INTEGER_0_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_MTI);
9657 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_) {
9658 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9663 static int dissect_sm_RP_SMEA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9664 return dissect_gsm_map_OCTET_STRING_SIZE_1_12(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_SMEA);
9667 static const ber_sequence_t RoutingInfoForSMArg_sequence[] = {
9668 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9669 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sm_RP_PRI_impl },
9670 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddress_impl },
9671 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9672 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
9673 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_MTI_impl },
9674 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_SMEA_impl },
9679 dissect_gsm_map_RoutingInfoForSMArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9680 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9681 RoutingInfoForSMArg_sequence, hf_index, ett_gsm_map_RoutingInfoForSMArg);
9687 static const value_string gsm_map_Additional_Number_vals[] = {
9688 { 0, "msc-Number" },
9689 { 1, "sgsn-Number" },
9693 static const ber_choice_t Additional_Number_choice[] = {
9694 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
9695 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
9696 { 0, 0, 0, 0, NULL }
9700 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_) {
9701 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
9702 Additional_Number_choice, hf_index, ett_gsm_map_Additional_Number, NULL);
9706 static int dissect_additional_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9707 return dissect_gsm_map_Additional_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additional_Number);
9710 static const ber_sequence_t LocationInfoWithLMSI_sequence[] = {
9711 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_networkNode_Number_impl },
9712 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
9713 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9714 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsNodeIndicator_impl },
9715 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_additional_Number_impl },
9720 dissect_gsm_map_LocationInfoWithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9721 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9722 LocationInfoWithLMSI_sequence, hf_index, ett_gsm_map_LocationInfoWithLMSI);
9726 static int dissect_locationInfoWithLMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9727 return dissect_gsm_map_LocationInfoWithLMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInfoWithLMSI);
9730 static const ber_sequence_t RoutingInfoForSM_Res_sequence[] = {
9731 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
9732 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationInfoWithLMSI_impl },
9733 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9738 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_) {
9739 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9740 RoutingInfoForSM_Res_sequence, hf_index, ett_gsm_map_RoutingInfoForSM_Res);
9746 static const value_string gsm_map_Sm_RP_DA_vals[] = {
9749 { 4, "serviceCentreAddressDA" },
9750 { 5, "noSM-RP-DA" },
9754 static const ber_choice_t Sm_RP_DA_choice[] = {
9755 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9756 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
9757 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressDA_impl },
9758 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_DA_impl },
9759 { 0, 0, 0, 0, NULL }
9763 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_) {
9764 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
9765 Sm_RP_DA_choice, hf_index, ett_gsm_map_Sm_RP_DA, NULL);
9769 static int dissect_sm_RP_DA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9770 return dissect_gsm_map_Sm_RP_DA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_DA);
9774 static const value_string gsm_map_Sm_RP_OA_vals[] = {
9776 { 4, "serviceCentreAddressOA" },
9777 { 5, "noSM-RP-OA" },
9781 static const ber_choice_t Sm_RP_OA_choice[] = {
9782 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9783 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressOA_impl },
9784 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_OA_impl },
9785 { 0, 0, 0, 0, NULL }
9789 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_) {
9790 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
9791 Sm_RP_OA_choice, hf_index, ett_gsm_map_Sm_RP_OA, NULL);
9795 static int dissect_sm_RP_OA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9796 return dissect_gsm_map_Sm_RP_OA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_OA);
9802 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_) {
9806 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9809 * dissect the embedded TPDU message
9814 dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
9818 static int dissect_sm_RP_UI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9819 return dissect_gsm_map_Sm_RP_UI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_UI);
9822 static const ber_sequence_t Mo_forwardSM_Arg_sequence[] = {
9823 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
9824 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
9825 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
9826 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9827 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
9832 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_) {
9833 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9834 Mo_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Arg);
9839 static const ber_sequence_t Mo_forwardSM_Res_sequence[] = {
9840 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
9841 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9846 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_) {
9847 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9848 Mo_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Res);
9853 static const ber_sequence_t Mt_forwardSM_Arg_sequence[] = {
9854 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
9855 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
9856 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
9857 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_moreMessagesToSend },
9858 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9863 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_) {
9864 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9865 Mt_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Arg);
9870 static const ber_sequence_t Mt_forwardSM_Res_sequence[] = {
9871 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
9872 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9877 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_) {
9878 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9879 Mt_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Res);
9886 dissect_gsm_map_StoredMSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9887 offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
9891 static int dissect_storedMSISDN(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9892 return dissect_gsm_map_StoredMSISDN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_storedMSISDN);
9896 static const value_string gsm_map_Sm_DeliveryOutcome_vals[] = {
9897 { 0, "memoryCapacityExceeded" },
9898 { 1, "absentSubscriber" },
9899 { 2, "successfulTransfer" },
9905 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_) {
9906 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9911 static int dissect_sm_DeliveryOutcome(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9912 return dissect_gsm_map_Sm_DeliveryOutcome(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_DeliveryOutcome);
9914 static int dissect_additionalSM_DeliveryOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9915 return dissect_gsm_map_Sm_DeliveryOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSM_DeliveryOutcome);
9921 dissect_gsm_map_AbsentSubscriberDiagnosticSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9922 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9927 static int dissect_absentSubscriberDiagnosticSM(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9928 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
9930 static int dissect_absentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9931 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
9933 static int dissect_additionalAbsentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9934 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalAbsentSubscriberDiagnosticSM);
9936 static int dissect_mobileNotReachableReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9937 return dissect_gsm_map_AbsentSubscriberDiagnosticSM(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mobileNotReachableReason);
9940 static const ber_sequence_t ReportSM_DeliveryStatusArg_sequence[] = {
9941 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
9942 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
9943 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_DeliveryOutcome },
9944 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberDiagnosticSM_impl },
9945 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9946 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
9947 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deliveryOutcomeIndicator_impl },
9948 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSM_DeliveryOutcome_impl },
9949 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
9954 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_) {
9955 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9956 ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusArg);
9961 static const ber_sequence_t ReportSM_DeliveryStatusRes_sequence[] = {
9962 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
9963 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9968 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_) {
9969 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9970 ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusRes);
9975 static const asn_namedbit T_mw_Status_bits[] = {
9976 { 0, &hf_gsm_map_T_mw_Status_scAddressNotIncluded, -1, -1, "scAddressNotIncluded", NULL },
9977 { 1, &hf_gsm_map_T_mw_Status_mnrfSet, -1, -1, "mnrfSet", NULL },
9978 { 2, &hf_gsm_map_T_mw_Status_mcefSet, -1, -1, "mcefSet", NULL },
9979 { 3, &hf_gsm_map_T_mw_Status_mnrgSet, -1, -1, "mnrgSet", NULL },
9980 { 0, NULL, 0, 0, NULL, NULL }
9984 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_) {
9985 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
9986 T_mw_Status_bits, hf_index, ett_gsm_map_T_mw_Status,
9991 static int dissect_mw_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9992 return dissect_gsm_map_T_mw_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mw_Status);
9995 static const ber_sequence_t InformServiceCentreArg_sequence[] = {
9996 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
9997 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_mw_Status },
9998 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10003 dissect_gsm_map_InformServiceCentreArg(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 InformServiceCentreArg_sequence, hf_index, ett_gsm_map_InformServiceCentreArg);
10010 static const ber_sequence_t AlertServiceCentreArg_sequence[] = {
10011 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
10012 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
10017 dissect_gsm_map_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10018 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10019 AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_AlertServiceCentreArg);
10025 static const value_string gsm_map_T_alertReason_vals[] = {
10026 { 0, "msPresent" },
10027 { 1, "memoryAvailable" },
10033 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_) {
10034 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10039 static int dissect_alertReason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10040 return dissect_gsm_map_T_alertReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReason);
10043 static const ber_sequence_t ReadyForSM_Arg_sequence[] = {
10044 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10045 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_alertReason },
10046 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertReasonIndicator },
10047 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10052 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_) {
10053 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10054 ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_ReadyForSM_Arg);
10059 static const ber_sequence_t ReadyForSM_Res_sequence[] = {
10060 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10065 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_) {
10066 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10067 ReadyForSM_Res_sequence, hf_index, ett_gsm_map_ReadyForSM_Res);
10073 static const value_string gsm_map_T_requestedDomain_vals[] = {
10074 { 0, "cs-Domain" },
10075 { 1, "ps-Domain" },
10081 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_) {
10082 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10087 static int dissect_requestedDomain_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10088 return dissect_gsm_map_T_requestedDomain(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedDomain);
10091 static const ber_sequence_t RequestedInfo_sequence[] = {
10092 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_flg_impl },
10093 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberState_flg_impl },
10094 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10095 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocation_impl },
10096 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedDomain_impl },
10097 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_flg_impl },
10098 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_classmark_impl },
10099 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mnpRequestedInfo_impl },
10104 dissect_gsm_map_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10105 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10106 RequestedInfo_sequence, hf_index, ett_gsm_map_RequestedInfo);
10110 static int dissect_requestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10111 return dissect_gsm_map_RequestedInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedInfo);
10114 static const ber_sequence_t ProvideSubscriberInfoArg_sequence[] = {
10115 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10116 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
10117 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
10118 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10123 dissect_gsm_map_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10124 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10125 ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoArg);
10130 static const ber_sequence_t ProvideSubscriberInfoRes_sequence[] = {
10131 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
10132 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10137 dissect_gsm_map_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10138 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10139 ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoRes);
10144 static const ber_sequence_t AnyTimeInterrogationArg_sequence[] = {
10145 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
10146 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
10147 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
10148 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10153 dissect_gsm_map_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10154 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10155 AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationArg);
10160 static const ber_sequence_t AnyTimeInterrogationRes_sequence[] = {
10161 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
10162 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10167 dissect_gsm_map_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10168 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10169 AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationRes);
10174 static const ber_sequence_t SS_ForBS_Code_sequence[] = {
10175 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
10176 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
10177 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
10182 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_) {
10183 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10184 SS_ForBS_Code_sequence, hf_index, ett_gsm_map_SS_ForBS_Code);
10188 static int dissect_requestedSS_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10189 return dissect_gsm_map_SS_ForBS_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSS_Info);
10193 static const value_string gsm_map_RequestedCAMEL_SubscriptionInfo_vals[] = {
10199 { 5, "mo-sms-CSI" },
10208 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_) {
10209 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10214 static int dissect_requestedCAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10215 return dissect_gsm_map_RequestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCAMEL_SubscriptionInfo);
10217 static int dissect_requestedCamel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10218 return dissect_gsm_map_RequestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCamel_SubscriptionInfo);
10222 static const value_string gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = {
10223 { 0, "mt-sms-CSI" },
10227 { 4, "vt-IM-CSI" },
10233 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_) {
10234 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10239 static int dissect_additionalRequestedCAMEL_SubscriptionInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10240 return dissect_gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo);
10243 static const ber_sequence_t RequestedSubscriptionInfo_sequence[] = {
10244 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedSS_Info_impl },
10245 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_impl },
10246 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedCAMEL_SubscriptionInfo_impl },
10247 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_flg_impl },
10248 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_flg_impl },
10249 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10250 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_additionalRequestedCAMEL_SubscriptionInfo },
10255 dissect_gsm_map_RequestedSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10256 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10257 RequestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_RequestedSubscriptionInfo);
10261 static int dissect_requestedSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10262 return dissect_gsm_map_RequestedSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSubscriptionInfo);
10265 static const ber_sequence_t AnyTimeSubscriptionInterrogationArg_sequence[] = {
10266 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity_impl },
10267 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedSubscriptionInfo_impl },
10268 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
10269 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10270 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
10275 dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10276 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10277 AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationArg);
10282 static const ber_sequence_t CallForwardingData_sequence[] = {
10283 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_forwardingFeatureList },
10284 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
10285 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10290 dissect_gsm_map_CallForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10291 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10292 CallForwardingData_sequence, hf_index, ett_gsm_map_CallForwardingData);
10296 static int dissect_callForwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10297 return dissect_gsm_map_CallForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callForwardingData);
10302 dissect_gsm_map_Password(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10303 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10304 pinfo, tree, tvb, offset, hf_index,
10309 static int dissect_password(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10310 return dissect_gsm_map_Password(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_password);
10312 static int dissect_password_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10313 return dissect_gsm_map_Password(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_password);
10319 dissect_gsm_map_WrongPasswordAttemptsCounter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10320 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10325 static int dissect_wrongPasswordAttemptsCounter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10326 return dissect_gsm_map_WrongPasswordAttemptsCounter(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
10328 static int dissect_wrongPasswordAttemptsCounter_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10329 return dissect_gsm_map_WrongPasswordAttemptsCounter(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
10332 static const ber_sequence_t CallBarringData_sequence[] = {
10333 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ext_callBarringFeatureList },
10334 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_password },
10335 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_wrongPasswordAttemptsCounter },
10336 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
10337 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10342 dissect_gsm_map_CallBarringData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10343 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10344 CallBarringData_sequence, hf_index, ett_gsm_map_CallBarringData);
10348 static int dissect_callBarringData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10349 return dissect_gsm_map_CallBarringData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringData);
10352 static const ber_sequence_t ODB_Info_sequence[] = {
10353 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_odb_Data },
10354 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
10355 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10360 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_) {
10361 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10362 ODB_Info_sequence, hf_index, ett_gsm_map_ODB_Info);
10366 static int dissect_odb_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10367 return dissect_gsm_map_ODB_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Info);
10370 static const ber_sequence_t CAMEL_SubscriptionInfo_sequence[] = {
10371 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
10372 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
10373 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_CSI_impl },
10374 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
10375 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
10376 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_CSI_impl },
10377 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl },
10378 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
10379 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_NotificationToCSE_impl },
10380 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CSI_impl },
10381 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
10382 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
10383 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_m_CSI_impl },
10384 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10385 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificCSIDeletedList_impl },
10386 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
10387 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
10388 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mg_csi_impl },
10389 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_CSI_impl },
10390 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_BcsmCamelTDP_CriteriaList_impl },
10391 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_IM_CSI_impl },
10392 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_CSI_impl },
10393 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl },
10398 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_) {
10399 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10400 CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_CAMEL_SubscriptionInfo);
10404 static int dissect_camel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10405 return dissect_gsm_map_CAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camel_SubscriptionInfo);
10408 static const ber_sequence_t AnyTimeSubscriptionInterrogationRes_sequence[] = {
10409 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callForwardingData_impl },
10410 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callBarringData_impl },
10411 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
10412 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
10413 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_impl },
10414 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_impl },
10415 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10416 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInVLR_impl },
10417 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInSGSN_impl },
10422 dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10423 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10424 AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationRes);
10429 static const asn_namedbit OfferedCamel4Functionalities_bits[] = {
10430 { 0, &hf_gsm_map_OfferedCamel4Functionalities_initiateCallAttempt, -1, -1, "initiateCallAttempt", NULL },
10431 { 1, &hf_gsm_map_OfferedCamel4Functionalities_splitLeg, -1, -1, "splitLeg", NULL },
10432 { 2, &hf_gsm_map_OfferedCamel4Functionalities_moveLeg, -1, -1, "moveLeg", NULL },
10433 { 3, &hf_gsm_map_OfferedCamel4Functionalities_disconnectLeg, -1, -1, "disconnectLeg", NULL },
10434 { 4, &hf_gsm_map_OfferedCamel4Functionalities_entityReleased, -1, -1, "entityReleased", NULL },
10435 { 5, &hf_gsm_map_OfferedCamel4Functionalities_dfc_WithArgument, -1, -1, "dfc-WithArgument", NULL },
10436 { 6, &hf_gsm_map_OfferedCamel4Functionalities_playTone, -1, -1, "playTone", NULL },
10437 { 7, &hf_gsm_map_OfferedCamel4Functionalities_dtmf_MidCall, -1, -1, "dtmf-MidCall", NULL },
10438 { 8, &hf_gsm_map_OfferedCamel4Functionalities_chargingIndicator, -1, -1, "chargingIndicator", NULL },
10439 { 9, &hf_gsm_map_OfferedCamel4Functionalities_alertingDP, -1, -1, "alertingDP", NULL },
10440 { 10, &hf_gsm_map_OfferedCamel4Functionalities_locationAtAlerting, -1, -1, "locationAtAlerting", NULL },
10441 { 11, &hf_gsm_map_OfferedCamel4Functionalities_changeOfPositionDP, -1, -1, "changeOfPositionDP", NULL },
10442 { 12, &hf_gsm_map_OfferedCamel4Functionalities_or_Interactions, -1, -1, "or-Interactions", NULL },
10443 { 13, &hf_gsm_map_OfferedCamel4Functionalities_warningToneEnhancements, -1, -1, "warningToneEnhancements", NULL },
10444 { 14, &hf_gsm_map_OfferedCamel4Functionalities_cf_Enhancements, -1, -1, "cf-Enhancements", NULL },
10445 { 15, &hf_gsm_map_OfferedCamel4Functionalities_subscribedEnhancedDialledServices, -1, -1, "subscribedEnhancedDialledServices", NULL },
10446 { 16, &hf_gsm_map_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices, -1, -1, "servingNetworkEnhancedDialledServices", NULL },
10447 { 17, &hf_gsm_map_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP, -1, -1, "criteriaForChangeOfPositionDP", NULL },
10448 { 18, &hf_gsm_map_OfferedCamel4Functionalities_serviceChangeDP, -1, -1, "serviceChangeDP", NULL },
10449 { 0, NULL, 0, 0, NULL, NULL }
10453 dissect_gsm_map_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10454 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
10455 OfferedCamel4Functionalities_bits, hf_index, ett_gsm_map_OfferedCamel4Functionalities,
10460 static int dissect_offeredCamel4Functionalities(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10461 return dissect_gsm_map_OfferedCamel4Functionalities(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4Functionalities);
10465 static const value_string gsm_map_ModificationInstruction_vals[] = {
10466 { 0, "deactivate" },
10473 dissect_gsm_map_ModificationInstruction(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_modifyNotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10480 return dissect_gsm_map_ModificationInstruction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyNotificationToCSE);
10482 static int dissect_modifyCSI_State_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10483 return dissect_gsm_map_ModificationInstruction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyCSI_State);
10486 static const ber_sequence_t ModificationRequestFor_CF_Info_sequence[] = {
10487 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10488 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService_impl },
10489 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
10490 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_addr_impl },
10491 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
10492 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_noReplyConditionTime_impl },
10493 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
10494 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10499 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_) {
10500 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10501 ModificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_ModificationRequestFor_CF_Info);
10505 static int dissect_modificationRequestFor_CF_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10506 return dissect_gsm_map_ModificationRequestFor_CF_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CF_Info);
10509 static const ber_sequence_t ModificationRequestFor_CB_Info_sequence[] = {
10510 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10511 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ext_basicService_impl },
10512 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_ss_Status_impl },
10513 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_password_impl },
10514 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_wrongPasswordAttemptsCounter_impl },
10515 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
10516 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10521 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_) {
10522 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10523 ModificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_ModificationRequestFor_CB_Info);
10527 static int dissect_modificationRequestFor_CB_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10528 return dissect_gsm_map_ModificationRequestFor_CB_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CB_Info);
10531 static const ber_sequence_t ModificationRequestFor_CSI_sequence[] = {
10532 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedCamel_SubscriptionInfo_impl },
10533 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
10534 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyCSI_State_impl },
10535 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10536 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_additionalRequestedCAMEL_SubscriptionInfo },
10541 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_) {
10542 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10543 ModificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_ModificationRequestFor_CSI);
10547 static int dissect_modificationRequestFor_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10548 return dissect_gsm_map_ModificationRequestFor_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CSI);
10551 static const ber_sequence_t ModificationRequestFor_ODB_data_sequence[] = {
10552 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_data_impl },
10553 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
10554 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10559 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_) {
10560 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10561 ModificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_ModificationRequestFor_ODB_data);
10565 static int dissect_modificationRequestFor_ODB_data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10566 return dissect_gsm_map_ModificationRequestFor_ODB_data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_ODB_data);
10569 static const ber_sequence_t AnyTimeModificationArg_sequence[] = {
10570 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity_impl },
10571 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
10572 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CF_Info_impl },
10573 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CB_Info_impl },
10574 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CSI_impl },
10575 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10576 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
10577 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_modificationRequestFor_ODB_data },
10582 dissect_gsm_map_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10583 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10584 AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_AnyTimeModificationArg);
10589 static const ber_sequence_t Ext_ForwardingInfoFor_CSE_sequence[] = {
10590 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10591 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_forwardingFeatureList_impl },
10592 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
10593 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10598 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_) {
10599 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10600 Ext_ForwardingInfoFor_CSE_sequence, hf_index, ett_gsm_map_Ext_ForwardingInfoFor_CSE);
10604 static int dissect_forwardingInfoFor_CSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10605 return dissect_gsm_map_Ext_ForwardingInfoFor_CSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInfoFor_CSE);
10608 static const ber_sequence_t Ext_CallBarringInfoFor_CSE_sequence[] = {
10609 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10610 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ext_callBarringFeatureList_impl },
10611 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_password_impl },
10612 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_wrongPasswordAttemptsCounter_impl },
10613 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
10614 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10619 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_) {
10620 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10621 Ext_CallBarringInfoFor_CSE_sequence, hf_index, ett_gsm_map_Ext_CallBarringInfoFor_CSE);
10625 static int dissect_callBarringInfoFor_CSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10626 return dissect_gsm_map_Ext_CallBarringInfoFor_CSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringInfoFor_CSE);
10630 static const value_string gsm_map_Ext_SS_InfoFor_CSE_vals[] = {
10631 { 0, "forwardingInfoFor-CSE" },
10632 { 1, "callBarringInfoFor-CSE" },
10636 static const ber_choice_t Ext_SS_InfoFor_CSE_choice[] = {
10637 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfoFor_CSE_impl },
10638 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfoFor_CSE_impl },
10639 { 0, 0, 0, 0, NULL }
10643 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_) {
10644 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
10645 Ext_SS_InfoFor_CSE_choice, hf_index, ett_gsm_map_Ext_SS_InfoFor_CSE, NULL);
10649 static int dissect_ss_InfoFor_CSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10650 return dissect_gsm_map_Ext_SS_InfoFor_CSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_InfoFor_CSE);
10653 static const ber_sequence_t AnyTimeModificationRes_sequence[] = {
10654 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_InfoFor_CSE_impl },
10655 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
10656 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10657 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
10662 dissect_gsm_map_AnyTimeModificationRes(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 AnyTimeModificationRes_sequence, hf_index, ett_gsm_map_AnyTimeModificationRes);
10669 static const ber_sequence_t NoteSubscriberDataModifiedArg_sequence[] = {
10670 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
10671 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
10672 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingInfoFor_CSE_impl },
10673 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callBarringInfoFor_CSE_impl },
10674 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
10675 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
10676 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_allInformationSent },
10677 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10682 dissect_gsm_map_NoteSubscriberDataModifiedArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10683 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10684 NoteSubscriberDataModifiedArg_sequence, hf_index, ett_gsm_map_NoteSubscriberDataModifiedArg);
10689 static const ber_sequence_t NoteSubscriberDataModifiedRes_sequence[] = {
10690 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10695 dissect_gsm_map_NoteSubscriberDataModifiedRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10696 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10697 NoteSubscriberDataModifiedRes_sequence, hf_index, ett_gsm_map_NoteSubscriberDataModifiedRes);
10702 static const ber_sequence_t NoteMM_EventArg_sequence[] = {
10703 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
10704 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventMet_impl },
10705 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10706 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
10707 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
10708 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCAMELPhases_impl },
10709 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10710 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_locationInformationGPRS },
10711 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_offeredCamel4Functionalities },
10716 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_) {
10717 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10718 NoteMM_EventArg_sequence, hf_index, ett_gsm_map_NoteMM_EventArg);
10723 static const ber_sequence_t NoteMM_EventRes_sequence[] = {
10724 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10729 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_) {
10730 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10731 NoteMM_EventRes_sequence, hf_index, ett_gsm_map_NoteMM_EventRes);
10737 static const value_string gsm_map_ModifyNotificationToCSE_vals[] = {
10738 { 0, "deactivate" },
10745 dissect_gsm_map_ModifyNotificationToCSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10746 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10755 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_) {
10756 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10761 static int dissect_ss_Event_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10762 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Event);
10765 static const ber_sequence_t T_ss_EventSpecification_sequence_of[1] = {
10766 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_EventSpecification_item },
10770 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_) {
10771 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
10772 T_ss_EventSpecification_sequence_of, hf_index, ett_gsm_map_T_ss_EventSpecification);
10776 static int dissect_ss_EventSpecification_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10777 return dissect_gsm_map_T_ss_EventSpecification(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification);
10780 static const ber_sequence_t Ss_InvocationNotificationArg_sequence[] = {
10781 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
10782 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
10783 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ss_Event_impl },
10784 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_EventSpecification_impl },
10785 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10790 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_) {
10791 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10792 Ss_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationArg);
10797 static const ber_sequence_t Ss_InvocationNotificationRes_sequence[] = {
10798 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10803 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_) {
10804 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10805 Ss_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationRes);
10813 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_) {
10814 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10819 static int dissect_codec_Info(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10820 return dissect_gsm_map_CODEC_Info(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_codec_Info);
10826 dissect_gsm_map_CipheringAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10827 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10832 static int dissect_cipheringAlgorithm(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10833 return dissect_gsm_map_CipheringAlgorithm(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cipheringAlgorithm);
10839 dissect_gsm_map_GroupKeyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10840 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10845 static int dissect_groupKeyNumber_Vk_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10846 return dissect_gsm_map_GroupKeyNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKeyNumber_Vk_Id);
10852 dissect_gsm_map_VSTK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10853 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10858 static int dissect_vstk_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10859 return dissect_gsm_map_VSTK(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vstk);
10865 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_) {
10866 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10871 static int dissect_vstk_rand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10872 return dissect_gsm_map_VSTK_RAND(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vstk_rand);
10875 static const ber_sequence_t PrepareGroupCallArg_sequence[] = {
10876 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_teleservice },
10877 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_asciCallReference },
10878 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_codec_Info },
10879 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cipheringAlgorithm },
10880 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKeyNumber_Vk_Id_impl },
10881 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKey_impl },
10882 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
10883 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkFree_impl },
10884 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10885 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vstk_impl },
10886 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vstk_rand_impl },
10891 dissect_gsm_map_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10892 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10893 PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_PrepareGroupCallArg);
10898 static const ber_sequence_t PrepareGroupCallRes_sequence[] = {
10899 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupCallNumber },
10900 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10905 dissect_gsm_map_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10906 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10907 PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_PrepareGroupCallRes);
10912 static const ber_sequence_t SendGroupCallEndSignalArg_sequence[] = {
10913 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
10914 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10919 dissect_gsm_map_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10920 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10921 SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalArg);
10926 static const ber_sequence_t SendGroupCallEndSignalRes_sequence[] = {
10927 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10932 dissect_gsm_map_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10933 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10934 SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalRes);
10939 static const ber_sequence_t ProcessGroupCallSignallingArg_sequence[] = {
10940 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequest_impl },
10941 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
10942 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseGroupCall_impl },
10943 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10948 dissect_gsm_map_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10949 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10950 ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ProcessGroupCallSignallingArg);
10955 static const ber_sequence_t ForwardGroupCallSignallingArg_sequence[] = {
10956 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
10957 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequestAck_impl },
10958 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
10959 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRejectCommand_impl },
10960 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkSeizedCommand_impl },
10961 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseCommand_impl },
10962 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10967 dissect_gsm_map_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10968 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10969 ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ForwardGroupCallSignallingArg);
10974 static const ber_sequence_t SGSN_Capability_sequence[] = {
10975 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_solsaSupportIndicator },
10976 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10977 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_superChargerSupportedInServingNetworkEntity_impl },
10978 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsEnhancementsSupportIndicator_impl },
10979 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
10980 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
10981 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
10982 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_smsCallBarringSupportIndicator_impl },
10987 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_) {
10988 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10989 SGSN_Capability_sequence, hf_index, ett_gsm_map_SGSN_Capability);
10993 static int dissect_sgsn_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10994 return dissect_gsm_map_SGSN_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Capability);
10997 static const ber_sequence_t UpdateGprsLocationArg_sequence[] = {
10998 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
10999 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Number },
11000 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Address },
11001 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11002 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Capability_impl },
11003 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_informPreviousNetworkEntity_impl },
11004 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ps_LCS_NotSupportedByUE_impl },
11005 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_v_gmlc_Address_impl },
11006 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_info_impl },
11011 dissect_gsm_map_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11012 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11013 UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_UpdateGprsLocationArg);
11018 static const ber_sequence_t UpdateGprsLocationRes_sequence[] = {
11019 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
11020 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11021 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_add_Capability },
11026 dissect_gsm_map_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11027 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11028 UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_UpdateGprsLocationRes);
11033 static const ber_sequence_t SendRoutingInfoForGprsArg_sequence[] = {
11034 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11035 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
11036 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
11037 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11042 dissect_gsm_map_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11043 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11044 SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsArg);
11049 static const ber_sequence_t SendRoutingInfoForGprsRes_sequence[] = {
11050 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
11051 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
11052 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mobileNotReachableReason_impl },
11053 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11058 dissect_gsm_map_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11059 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11060 SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsRes);
11065 static const ber_sequence_t FailureReportArg_sequence[] = {
11066 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11067 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
11068 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
11069 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11074 dissect_gsm_map_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11075 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11076 FailureReportArg_sequence, hf_index, ett_gsm_map_FailureReportArg);
11081 static const ber_sequence_t FailureReportRes_sequence[] = {
11082 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
11083 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11088 dissect_gsm_map_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11089 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11090 FailureReportRes_sequence, hf_index, ett_gsm_map_FailureReportRes);
11095 static const ber_sequence_t NoteMsPresentForGprsArg_sequence[] = {
11096 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11097 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
11098 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
11099 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11104 dissect_gsm_map_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11105 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11106 NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsArg);
11111 static const ber_sequence_t NoteMsPresentForGprsRes_sequence[] = {
11112 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11117 dissect_gsm_map_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11118 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11119 NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsRes);
11125 static const value_string gsm_map_LocationEstimateType_vals[] = {
11126 { 0, "currentLocation" },
11127 { 1, "currentOrLastKnownLocation" },
11128 { 2, "initialLocation" },
11129 { 3, "activateDeferredLocation" },
11130 { 4, "cancelDeferredLocation" },
11136 dissect_gsm_map_LocationEstimateType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11137 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11142 static int dissect_locationEstimateType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11143 return dissect_gsm_map_LocationEstimateType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimateType);
11146 static const asn_namedbit DeferredLocationEventType_bits[] = {
11147 { 0, &hf_gsm_map_DeferredLocationEventType_msAvailable, -1, -1, "msAvailable", NULL },
11148 { 1, &hf_gsm_map_DeferredLocationEventType_enteringIntoArea, -1, -1, "enteringIntoArea", NULL },
11149 { 2, &hf_gsm_map_DeferredLocationEventType_leavingFromArea, -1, -1, "leavingFromArea", NULL },
11150 { 3, &hf_gsm_map_DeferredLocationEventType_beingInsideArea, -1, -1, "beingInsideArea", NULL },
11151 { 0, NULL, 0, 0, NULL, NULL }
11155 dissect_gsm_map_DeferredLocationEventType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11156 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
11157 DeferredLocationEventType_bits, hf_index, ett_gsm_map_DeferredLocationEventType,
11162 static int dissect_deferredLocationEventType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11163 return dissect_gsm_map_DeferredLocationEventType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_deferredLocationEventType);
11166 static const ber_sequence_t LocationType_sequence[] = {
11167 { BER_CLASS_CON, 0, 0, dissect_locationEstimateType },
11168 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_deferredLocationEventType },
11173 dissect_gsm_map_LocationType(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 LocationType_sequence, hf_index, ett_gsm_map_LocationType);
11179 static int dissect_locationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11180 return dissect_gsm_map_LocationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationType);
11184 static const value_string gsm_map_LCSClientType_vals[] = {
11185 { 0, "emergencyServices" },
11186 { 1, "valueAddedServices" },
11187 { 2, "plmnOperatorServices" },
11188 { 3, "lawfulInterceptServices" },
11194 dissect_gsm_map_LCSClientType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11195 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11200 static int dissect_lcsClientType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11201 return dissect_gsm_map_LCSClientType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientType);
11206 dissect_gsm_map_NameString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11207 offset = dissect_gsm_map_USSD_String(implicit_tag, tvb, offset, pinfo, tree, hf_index);
11211 static int dissect_nameString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11212 return dissect_gsm_map_NameString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nameString);
11216 static const value_string gsm_map_LCS_FormatIndicator_vals[] = {
11217 { 0, "logicalName" },
11218 { 1, "e-mailAddress" },
11227 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_) {
11228 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11233 static int dissect_lcs_FormatIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11234 return dissect_gsm_map_LCS_FormatIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_FormatIndicator);
11237 static const ber_sequence_t LCSClientName_sequence[] = {
11238 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
11239 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_nameString_impl },
11240 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_FormatIndicator_impl },
11245 dissect_gsm_map_LCSClientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11246 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11247 LCSClientName_sequence, hf_index, ett_gsm_map_LCSClientName);
11251 static int dissect_lcsClientName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11252 return dissect_gsm_map_LCSClientName(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientName);
11257 dissect_gsm_map_RequestorIDString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11258 offset = dissect_gsm_map_USSD_String(implicit_tag, tvb, offset, pinfo, tree, hf_index);
11262 static int dissect_requestorIDString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11263 return dissect_gsm_map_RequestorIDString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestorIDString);
11266 static const ber_sequence_t LCSRequestorID_sequence[] = {
11267 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
11268 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestorIDString_impl },
11269 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_FormatIndicator_impl },
11274 dissect_gsm_map_LCSRequestorID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11275 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11276 LCSRequestorID_sequence, hf_index, ett_gsm_map_LCSRequestorID);
11280 static int dissect_lcsRequestorID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11281 return dissect_gsm_map_LCSRequestorID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsRequestorID);
11284 static const ber_sequence_t LCS_ClientID_sequence[] = {
11285 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lcsClientType_impl },
11286 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientExternalID_impl },
11287 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientDialedByMS_impl },
11288 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientInternalID_impl },
11289 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientName_impl },
11290 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsAPN_impl },
11291 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsRequestorID_impl },
11296 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_) {
11297 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11298 LCS_ClientID_sequence, hf_index, ett_gsm_map_LCS_ClientID);
11302 static int dissect_lcs_ClientID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11303 return dissect_gsm_map_LCS_ClientID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
11305 static int dissect_lcs_ClientID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11306 return dissect_gsm_map_LCS_ClientID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
11312 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_) {
11313 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11318 static int dissect_lcs_Priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11319 return dissect_gsm_map_LCS_Priority(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Priority);
11325 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_) {
11326 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11331 static int dissect_horizontal_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11332 return dissect_gsm_map_Horizontal_Accuracy(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_horizontal_accuracy);
11338 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_) {
11339 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11344 static int dissect_vertical_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11345 return dissect_gsm_map_Vertical_Accuracy(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vertical_accuracy);
11349 static const value_string gsm_map_ResponseTimeCategory_vals[] = {
11351 { 1, "delaytolerant" },
11357 dissect_gsm_map_ResponseTimeCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11358 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11363 static int dissect_responseTimeCategory(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11364 return dissect_gsm_map_ResponseTimeCategory(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_responseTimeCategory);
11367 static const ber_sequence_t ResponseTime_sequence[] = {
11368 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_responseTimeCategory },
11373 dissect_gsm_map_ResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11374 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11375 ResponseTime_sequence, hf_index, ett_gsm_map_ResponseTime);
11379 static int dissect_responseTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11380 return dissect_gsm_map_ResponseTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_responseTime);
11383 static const ber_sequence_t LCS_QoS_sequence[] = {
11384 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_horizontal_accuracy_impl },
11385 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_verticalCoordinateRequest_impl },
11386 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vertical_accuracy_impl },
11387 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseTime_impl },
11388 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11393 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_) {
11394 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11395 LCS_QoS_sequence, hf_index, ett_gsm_map_LCS_QoS);
11399 static int dissect_lcs_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11400 return dissect_gsm_map_LCS_QoS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_QoS);
11403 static const asn_namedbit SupportedGADShapes_bits[] = {
11404 { 0, &hf_gsm_map_SupportedGADShapes_ellipsoidPoint, -1, -1, "ellipsoidPoint", NULL },
11405 { 1, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle, -1, -1, "ellipsoidPointWithUncertaintyCircle", NULL },
11406 { 2, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse, -1, -1, "ellipsoidPointWithUncertaintyEllipse", NULL },
11407 { 3, &hf_gsm_map_SupportedGADShapes_polygon, -1, -1, "polygon", NULL },
11408 { 4, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitude, -1, -1, "ellipsoidPointWithAltitude", NULL },
11409 { 5, &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid, -1, -1, "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", NULL },
11410 { 6, &hf_gsm_map_SupportedGADShapes_ellipsoidArc, -1, -1, "ellipsoidArc", NULL },
11411 { 0, NULL, 0, 0, NULL, NULL }
11415 dissect_gsm_map_SupportedGADShapes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11416 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
11417 SupportedGADShapes_bits, hf_index, ett_gsm_map_SupportedGADShapes,
11422 static int dissect_supportedGADShapes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11423 return dissect_gsm_map_SupportedGADShapes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedGADShapes);
11429 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_) {
11430 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11435 static int dissect_lcs_ReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11436 return dissect_gsm_map_LCS_ReferenceNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ReferenceNumber);
11441 dissect_gsm_map_LCSCodewordString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11442 offset = dissect_gsm_map_USSD_String(implicit_tag, tvb, offset, pinfo, tree, hf_index);
11446 static int dissect_lcsCodewordString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11447 return dissect_gsm_map_LCSCodewordString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsCodewordString);
11450 static const ber_sequence_t LCSCodeword_sequence[] = {
11451 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
11452 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lcsCodewordString_impl },
11457 dissect_gsm_map_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11458 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11459 LCSCodeword_sequence, hf_index, ett_gsm_map_LCSCodeword);
11463 static int dissect_lcsCodeword_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11464 return dissect_gsm_map_LCSCodeword(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsCodeword);
11468 static const value_string gsm_map_PrivacyCheckRelatedAction_vals[] = {
11469 { 0, "allowedWithoutNotification" },
11470 { 1, "allowedWithNotification" },
11471 { 2, "allowedIfNoResponse" },
11472 { 3, "restrictedIfNoResponse" },
11473 { 4, "notAllowed" },
11479 dissect_gsm_map_PrivacyCheckRelatedAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11480 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11485 static int dissect_callSessionUnrelated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11486 return dissect_gsm_map_PrivacyCheckRelatedAction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callSessionUnrelated);
11488 static int dissect_callSessionRelated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11489 return dissect_gsm_map_PrivacyCheckRelatedAction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callSessionRelated);
11492 static const ber_sequence_t LCS_PrivacyCheck_sequence[] = {
11493 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callSessionUnrelated_impl },
11494 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSessionRelated_impl },
11499 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_) {
11500 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11501 LCS_PrivacyCheck_sequence, hf_index, ett_gsm_map_LCS_PrivacyCheck);
11505 static int dissect_lcs_PrivacyCheck_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11506 return dissect_gsm_map_LCS_PrivacyCheck(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyCheck);
11510 static const value_string gsm_map_AreaType_vals[] = {
11511 { 0, "countryCode" },
11513 { 2, "locationAreaId" },
11514 { 3, "routingAreaId" },
11515 { 4, "cellGlobalId" },
11521 dissect_gsm_map_AreaType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11522 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11527 static int dissect_areaType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11528 return dissect_gsm_map_AreaType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaType);
11534 dissect_gsm_map_AreaIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11535 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11540 static int dissect_areaIdentification_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11541 return dissect_gsm_map_AreaIdentification(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaIdentification);
11544 static const ber_sequence_t Area_sequence[] = {
11545 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_areaType_impl },
11546 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_areaIdentification_impl },
11551 dissect_gsm_map_Area(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11552 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11553 Area_sequence, hf_index, ett_gsm_map_Area);
11557 static int dissect_AreaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11558 return dissect_gsm_map_Area(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_AreaList_item);
11561 static const ber_sequence_t AreaList_sequence_of[1] = {
11562 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_AreaList_item },
11566 dissect_gsm_map_AreaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11567 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
11568 AreaList_sequence_of, hf_index, ett_gsm_map_AreaList);
11572 static int dissect_areaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11573 return dissect_gsm_map_AreaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaList);
11576 static const ber_sequence_t AreaDefinition_sequence[] = {
11577 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_areaList_impl },
11582 dissect_gsm_map_AreaDefinition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11583 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11584 AreaDefinition_sequence, hf_index, ett_gsm_map_AreaDefinition);
11588 static int dissect_areaDefinition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11589 return dissect_gsm_map_AreaDefinition(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaDefinition);
11593 static const value_string gsm_map_OccurrenceInfo_vals[] = {
11594 { 0, "oneTimeEvent" },
11595 { 1, "multipleTimeEvent" },
11601 dissect_gsm_map_OccurrenceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11602 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11607 static int dissect_occurrenceInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11608 return dissect_gsm_map_OccurrenceInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_occurrenceInfo);
11614 dissect_gsm_map_IntervalTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11615 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11620 static int dissect_intervalTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11621 return dissect_gsm_map_IntervalTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_intervalTime);
11624 static const ber_sequence_t AreaEventInfo_sequence[] = {
11625 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_areaDefinition_impl },
11626 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_occurrenceInfo_impl },
11627 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_intervalTime_impl },
11632 dissect_gsm_map_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11633 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11634 AreaEventInfo_sequence, hf_index, ett_gsm_map_AreaEventInfo);
11638 static int dissect_areaEventInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11639 return dissect_gsm_map_AreaEventInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_areaEventInfo);
11642 static const ber_sequence_t ProvideSubscriberLocation_Arg_sequence[] = {
11643 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_locationType },
11644 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_mlc_Number },
11645 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ClientID_impl },
11646 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privacyOverride_impl },
11647 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11648 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
11649 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
11650 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
11651 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_Priority_impl },
11652 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_QoS_impl },
11653 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11654 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedGADShapes_impl },
11655 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ReferenceNumber_impl },
11656 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsServiceTypeID_impl },
11657 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsCodeword_impl },
11658 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_PrivacyCheck_impl },
11659 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_areaEventInfo_impl },
11660 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_h_gmlc_Address_impl },
11665 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_) {
11666 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11667 ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Arg);
11675 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_) {
11676 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11681 static int dissect_locationEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11682 return dissect_gsm_map_Ext_GeographicalInformation(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
11684 static int dissect_locationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11685 return dissect_gsm_map_Ext_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
11691 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_) {
11692 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11697 static int dissect_add_LocationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11698 return dissect_gsm_map_Add_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_add_LocationEstimate);
11704 dissect_gsm_map_PositioningDataInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11705 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11710 static int dissect_geranPositioningData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11711 return dissect_gsm_map_PositioningDataInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geranPositioningData);
11717 dissect_gsm_map_UtranPositioningDataInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11718 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11723 static int dissect_utranPositioningData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11724 return dissect_gsm_map_UtranPositioningDataInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_utranPositioningData);
11727 static const ber_sequence_t ProvideSubscriberLocation_Res_sequence[] = {
11728 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_locationEstimate },
11729 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
11730 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11731 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_LocationEstimate_impl },
11732 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferredmt_lrResponseIndicator_impl },
11733 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranPositioningData_impl },
11734 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranPositioningData_impl },
11735 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cellIdOrSai_impl },
11736 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
11741 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_) {
11742 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11743 ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Res);
11749 static const value_string gsm_map_TargetMS_vals[] = {
11755 static const ber_choice_t TargetMS_choice[] = {
11756 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11757 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
11758 { 0, 0, 0, 0, NULL }
11762 dissect_gsm_map_TargetMS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11763 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
11764 TargetMS_choice, hf_index, ett_gsm_map_TargetMS, NULL);
11769 static const ber_sequence_t RoutingInfoForLCS_Arg_sequence[] = {
11770 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mlcNumber_impl },
11771 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_targetMS_impl },
11772 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11777 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_) {
11778 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11779 RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Arg);
11784 static const ber_sequence_t LCSLocationInfo_sequence[] = {
11785 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_networkNode_Number },
11786 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
11787 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
11788 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsNodeIndicator_impl },
11789 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_additional_Number_impl },
11790 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
11791 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additional_LCS_CapabilitySets_impl },
11796 dissect_gsm_map_LCSLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11797 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11798 LCSLocationInfo_sequence, hf_index, ett_gsm_map_LCSLocationInfo);
11802 static int dissect_lcsLocationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11803 return dissect_gsm_map_LCSLocationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
11805 static int dissect_lcsLocationInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11806 return dissect_gsm_map_LCSLocationInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
11809 static const ber_sequence_t RoutingInfoForLCS_Res_sequence[] = {
11810 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_targetMS },
11811 { BER_CLASS_CON, 1, 0, dissect_lcsLocationInfo },
11812 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
11813 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_v_gmlc_Address },
11814 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_h_gmlc_Address },
11815 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_ppr_Address },
11816 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_additional_v_gmlc_Address },
11821 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_) {
11822 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11823 RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Res);
11829 static const value_string gsm_map_LCS_Event_vals[] = {
11830 { 0, "emergencyCallOrigination" },
11831 { 1, "emergencyCallRelease" },
11833 { 3, "deferredmt-lrResponse" },
11839 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_) {
11840 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11845 static int dissect_lcs_Event(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11846 return dissect_gsm_map_LCS_Event(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Event);
11850 static const value_string gsm_map_TerminationCause_vals[] = {
11852 { 1, "errorundefined" },
11853 { 2, "internalTimeout" },
11854 { 3, "congestion" },
11855 { 4, "mt-lrRestart" },
11856 { 5, "privacyViolation" },
11857 { 6, "shapeOfLocationEstimateNotSupported" },
11863 dissect_gsm_map_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11864 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11869 static int dissect_terminationCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11870 return dissect_gsm_map_TerminationCause(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_terminationCause);
11873 static const ber_sequence_t Deferredmt_lrData_sequence[] = {
11874 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_deferredLocationEventType },
11875 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminationCause_impl },
11876 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsLocationInfo_impl },
11881 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_) {
11882 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11883 Deferredmt_lrData_sequence, hf_index, ett_gsm_map_Deferredmt_lrData);
11887 static int dissect_deferredmt_lrData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11888 return dissect_gsm_map_Deferredmt_lrData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deferredmt_lrData);
11891 static const ber_sequence_t SubscriberLocationReport_Arg_sequence[] = {
11892 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_lcs_Event },
11893 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcs_ClientID },
11894 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcsLocationInfo },
11895 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
11896 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
11897 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
11898 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRD_impl },
11899 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_impl },
11900 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationEstimate_impl },
11901 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
11902 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_slr_ArgExtensionContainer_impl },
11903 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_LocationEstimate_impl },
11904 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferredmt_lrData_impl },
11905 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ReferenceNumber_impl },
11906 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranPositioningData_impl },
11907 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranPositioningData_impl },
11908 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cellIdOrSai_impl },
11909 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_h_gmlc_Address_impl },
11910 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsServiceTypeID_impl },
11911 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
11912 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pseudonymIndicator_impl },
11917 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_) {
11918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11919 SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Arg);
11924 static const ber_sequence_t SubscriberLocationReport_Res_sequence[] = {
11925 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
11926 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_impl },
11927 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRD_impl },
11932 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_) {
11933 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11934 SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Res);
11942 dissect_gsm_map_SecurityParametersIndex(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11943 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11948 static int dissect_securityParametersIndex(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11949 return dissect_gsm_map_SecurityParametersIndex(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_securityParametersIndex);
11955 dissect_gsm_map_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11956 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
11961 static int dissect_localValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11962 return dissect_gsm_map_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_localValue);
11966 static const value_string gsm_map_OperationCode_vals[] = {
11967 { 0, "localValue" },
11968 { 1, "globalValue" },
11972 static const ber_choice_t OperationCode_choice[] = {
11973 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_localValue },
11974 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_globalValue },
11975 { 0, 0, 0, 0, NULL }
11979 dissect_gsm_map_OperationCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
11980 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
11981 OperationCode_choice, hf_index, ett_gsm_map_OperationCode, NULL);
11985 static int dissect_operationCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11986 return dissect_gsm_map_OperationCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_operationCode);
11990 static const value_string gsm_map_ErrorCode_vals[] = {
11991 { 0, "localValue" },
11992 { 1, "globalValue" },
11996 static const ber_choice_t ErrorCode_choice[] = {
11997 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_localValue },
11998 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_globalValue },
11999 { 0, 0, 0, 0, NULL }
12003 dissect_gsm_map_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12004 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
12005 ErrorCode_choice, hf_index, ett_gsm_map_ErrorCode, NULL);
12009 static int dissect_errorCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12010 return dissect_gsm_map_ErrorCode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_errorCode);
12014 static const value_string gsm_map_OriginalComponentIdentifier_vals[] = {
12015 { 0, "operationCode" },
12016 { 1, "errorCode" },
12021 static const ber_choice_t OriginalComponentIdentifier_choice[] = {
12022 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_operationCode_impl },
12023 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_errorCode_impl },
12024 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_userInfo_impl },
12025 { 0, 0, 0, 0, NULL }
12029 dissect_gsm_map_OriginalComponentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12030 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
12031 OriginalComponentIdentifier_choice, hf_index, ett_gsm_map_OriginalComponentIdentifier, NULL);
12035 static int dissect_originalComponentIdentifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12036 return dissect_gsm_map_OriginalComponentIdentifier(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_originalComponentIdentifier);
12042 dissect_gsm_map_InitialisationVector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12043 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12048 static int dissect_initialisationVector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12049 return dissect_gsm_map_InitialisationVector(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_initialisationVector);
12052 static const ber_sequence_t SecurityHeader_sequence[] = {
12053 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_securityParametersIndex },
12054 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_originalComponentIdentifier },
12055 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_initialisationVector },
12060 dissect_gsm_map_SecurityHeader(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 SecurityHeader_sequence, hf_index, ett_gsm_map_SecurityHeader);
12066 static int dissect_securityHeader(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12067 return dissect_gsm_map_SecurityHeader(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_securityHeader);
12073 dissect_gsm_map_ProtectedPayload(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12074 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12079 static int dissect_protectedPayload(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12080 return dissect_gsm_map_ProtectedPayload(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_protectedPayload);
12083 static const ber_sequence_t SecureTransportArg_sequence[] = {
12084 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_securityHeader },
12085 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_protectedPayload },
12090 dissect_gsm_map_SecureTransportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12091 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12092 SecureTransportArg_sequence, hf_index, ett_gsm_map_SecureTransportArg);
12097 static const ber_sequence_t SecureTransportRes_sequence[] = {
12098 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_securityHeader },
12099 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_protectedPayload },
12104 dissect_gsm_map_SecureTransportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12105 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12106 SecureTransportRes_sequence, hf_index, ett_gsm_map_SecureTransportRes);
12112 static const value_string gsm_map_NetworkResource_vals[] = {
12117 { 4, "controllingMSC" },
12126 dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12127 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12132 static int dissect_networkResource(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12133 return dissect_gsm_map_NetworkResource(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkResource);
12136 static const ber_sequence_t T_extensibleSystemFailureParam_sequence[] = {
12137 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_networkResource },
12138 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12143 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_) {
12144 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12145 T_extensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_T_extensibleSystemFailureParam);
12149 static int dissect_extensibleSystemFailureParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12150 return dissect_gsm_map_T_extensibleSystemFailureParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleSystemFailureParam);
12154 static const value_string gsm_map_SystemFailureParam_vals[] = {
12155 { 0, "networkResource" },
12156 { 1, "extensibleSystemFailureParam" },
12160 static const ber_choice_t SystemFailureParam_choice[] = {
12161 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_networkResource },
12162 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleSystemFailureParam },
12163 { 0, 0, 0, 0, NULL }
12167 dissect_gsm_map_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12168 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
12169 SystemFailureParam_choice, hf_index, ett_gsm_map_SystemFailureParam, NULL);
12174 static const ber_sequence_t DataMissingParam_sequence[] = {
12175 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12180 dissect_gsm_map_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12181 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12182 DataMissingParam_sequence, hf_index, ett_gsm_map_DataMissingParam);
12187 static const ber_sequence_t UnexpectedDataParam_sequence[] = {
12188 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12193 dissect_gsm_map_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12194 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12195 UnexpectedDataParam_sequence, hf_index, ett_gsm_map_UnexpectedDataParam);
12200 static const ber_sequence_t FacilityNotSupParam_sequence[] = {
12201 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12206 dissect_gsm_map_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12207 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12208 FacilityNotSupParam_sequence, hf_index, ett_gsm_map_FacilityNotSupParam);
12213 static const ber_sequence_t IncompatibleTerminalParam_sequence[] = {
12214 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12219 dissect_gsm_map_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12220 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12221 IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_IncompatibleTerminalParam);
12226 static const ber_sequence_t ResourceLimitationParam_sequence[] = {
12227 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12232 dissect_gsm_map_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12233 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12234 ResourceLimitationParam_sequence, hf_index, ett_gsm_map_ResourceLimitationParam);
12240 static const value_string gsm_map_T_unknownSubscriberDiagnostic_vals[] = {
12241 { 0, "imsiUnknown" },
12242 { 1, "gprsSubscriptionUnknown" },
12248 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_) {
12249 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12254 static int dissect_unknownSubscriberDiagnostic(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12255 return dissect_gsm_map_T_unknownSubscriberDiagnostic(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_unknownSubscriberDiagnostic);
12258 static const ber_sequence_t UnknownSubscriberParam_sequence[] = {
12259 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12260 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_unknownSubscriberDiagnostic },
12265 dissect_gsm_map_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12266 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12267 UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_UnknownSubscriberParam);
12272 static const ber_sequence_t NumberChangedParam_sequence[] = {
12273 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12278 dissect_gsm_map_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12279 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12280 NumberChangedParam_sequence, hf_index, ett_gsm_map_NumberChangedParam);
12285 static const ber_sequence_t UnidentifiedSubParam_sequence[] = {
12286 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12291 dissect_gsm_map_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12292 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12293 UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_UnidentifiedSubParam);
12299 static const value_string gsm_map_T_roamingNotAllowedCause_vals[] = {
12300 { 0, "plmnRoamingNotAllowed" },
12301 { 3, "operatorDeterminedBarring" },
12307 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_) {
12308 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12313 static int dissect_roamingNotAllowedCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12314 return dissect_gsm_map_T_roamingNotAllowedCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNotAllowedCause);
12317 static const ber_sequence_t RoamingNotAllowedParam_sequence[] = {
12318 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_roamingNotAllowedCause },
12319 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12324 dissect_gsm_map_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12325 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12326 RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_RoamingNotAllowedParam);
12331 static const ber_sequence_t IllegalSubscriberParam_sequence[] = {
12332 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12337 dissect_gsm_map_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12338 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12339 IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_IllegalSubscriberParam);
12344 static const ber_sequence_t IllegalEquipmentParam_sequence[] = {
12345 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12350 dissect_gsm_map_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12351 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12352 IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_IllegalEquipmentParam);
12357 static const ber_sequence_t BearerServNotProvParam_sequence[] = {
12358 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12363 dissect_gsm_map_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12364 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12365 BearerServNotProvParam_sequence, hf_index, ett_gsm_map_BearerServNotProvParam);
12370 static const ber_sequence_t TeleservNotProvParam_sequence[] = {
12371 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12376 dissect_gsm_map_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12377 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12378 TeleservNotProvParam_sequence, hf_index, ett_gsm_map_TeleservNotProvParam);
12383 static const ber_sequence_t TracingBufferFullParam_sequence[] = {
12384 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12389 dissect_gsm_map_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12390 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12391 TracingBufferFullParam_sequence, hf_index, ett_gsm_map_TracingBufferFullParam);
12396 static const ber_sequence_t NoRoamingNbParam_sequence[] = {
12397 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12402 dissect_gsm_map_NoRoamingNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12403 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12404 NoRoamingNbParam_sequence, hf_index, ett_gsm_map_NoRoamingNbParam);
12410 static const value_string gsm_map_T_absentSubscriberReason_vals[] = {
12411 { 0, "imsiDetach" },
12412 { 1, "restrictedArea" },
12413 { 2, "noPageResponse" },
12419 dissect_gsm_map_T_absentSubscriberReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12420 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12425 static int dissect_absentSubscriberReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12426 return dissect_gsm_map_T_absentSubscriberReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberReason);
12429 static const ber_sequence_t AbsentSubscriberParam_sequence[] = {
12430 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12431 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberReason_impl },
12436 dissect_gsm_map_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12437 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12438 AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_AbsentSubscriberParam);
12443 static const ber_sequence_t BusySubscriberParam_sequence[] = {
12444 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12445 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
12446 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Busy_impl },
12451 dissect_gsm_map_BusySubscriberParam(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 BusySubscriberParam_sequence, hf_index, ett_gsm_map_BusySubscriberParam);
12458 static const ber_sequence_t NoSubscriberReplyParam_sequence[] = {
12459 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12464 dissect_gsm_map_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12465 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12466 NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_NoSubscriberReplyParam);
12472 static const value_string gsm_map_CallBarringCause_vals[] = {
12473 { 0, "barringServiceActive" },
12474 { 1, "operatorBarring" },
12480 dissect_gsm_map_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12481 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12486 static int dissect_callBarringCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12487 return dissect_gsm_map_CallBarringCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringCause);
12490 static const ber_sequence_t T_extensibleCallBarredParam_sequence[] = {
12491 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
12492 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12493 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorisedMessageOriginator_impl },
12498 dissect_gsm_map_T_extensibleCallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12499 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12500 T_extensibleCallBarredParam_sequence, hf_index, ett_gsm_map_T_extensibleCallBarredParam);
12504 static int dissect_extensibleCallBarredParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12505 return dissect_gsm_map_T_extensibleCallBarredParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleCallBarredParam);
12509 static const value_string gsm_map_CallBarredParam_vals[] = {
12510 { 0, "callBarringCause" },
12511 { 1, "extensibleCallBarredParam" },
12515 static const ber_choice_t CallBarredParam_choice[] = {
12516 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
12517 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleCallBarredParam },
12518 { 0, 0, 0, 0, NULL }
12522 dissect_gsm_map_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12523 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
12524 CallBarredParam_choice, hf_index, ett_gsm_map_CallBarredParam, NULL);
12529 static const ber_sequence_t ForwardingFailedParam_sequence[] = {
12530 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12535 dissect_gsm_map_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12536 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12537 ForwardingFailedParam_sequence, hf_index, ett_gsm_map_ForwardingFailedParam);
12542 static const ber_sequence_t Or_NotAllowedParam_sequence[] = {
12543 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12548 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_) {
12549 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12550 Or_NotAllowedParam_sequence, hf_index, ett_gsm_map_Or_NotAllowedParam);
12555 static const ber_sequence_t ForwardingViolationParam_sequence[] = {
12556 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12561 dissect_gsm_map_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12562 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12563 ForwardingViolationParam_sequence, hf_index, ett_gsm_map_ForwardingViolationParam);
12569 static const value_string gsm_map_T_cug_RejectCause_vals[] = {
12570 { 0, "incomingCallsBarredWithinCUG" },
12571 { 1, "subscriberNotMemberOfCUG" },
12572 { 5, "requestedBasicServiceViolatesCUG-Constraints" },
12573 { 7, "calledPartySS-InteractionViolation" },
12579 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_) {
12580 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12585 static int dissect_cug_RejectCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12586 return dissect_gsm_map_T_cug_RejectCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_RejectCause);
12589 static const ber_sequence_t Cug_RejectParam_sequence[] = {
12590 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_RejectCause },
12591 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12596 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_) {
12597 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12598 Cug_RejectParam_sequence, hf_index, ett_gsm_map_Cug_RejectParam);
12603 static const ber_sequence_t Ati_NotAllowedParam_sequence[] = {
12604 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12609 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_) {
12610 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12611 Ati_NotAllowedParam_sequence, hf_index, ett_gsm_map_Ati_NotAllowedParam);
12616 static const ber_sequence_t NoGroupCallNbParam_sequence[] = {
12617 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12622 dissect_gsm_map_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12623 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12624 NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_NoGroupCallNbParam);
12629 static const ber_sequence_t SS_IncompatibilityCause_sequence[] = {
12630 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
12631 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
12632 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
12637 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_) {
12638 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12639 SS_IncompatibilityCause_sequence, hf_index, ett_gsm_map_SS_IncompatibilityCause);
12645 static const value_string gsm_map_Pw_RegistrationFailureCause_vals[] = {
12646 { 0, "undetermined" },
12647 { 1, "invalidFormat" },
12648 { 2, "newPasswordsMismatch" },
12654 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_) {
12655 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12661 static const ber_sequence_t ShortTermDenialParam_sequence[] = {
12666 dissect_gsm_map_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12667 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12668 ShortTermDenialParam_sequence, hf_index, ett_gsm_map_ShortTermDenialParam);
12673 static const ber_sequence_t LongTermDenialParam_sequence[] = {
12678 dissect_gsm_map_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12679 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12680 LongTermDenialParam_sequence, hf_index, ett_gsm_map_LongTermDenialParam);
12685 static const ber_sequence_t SubBusyForMT_SMS_Param_sequence[] = {
12686 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12687 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gprsConnectionSuspended },
12692 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_) {
12693 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12694 SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_SubBusyForMT_SMS_Param);
12700 static const value_string gsm_map_T_sm_EnumeratedDeliveryFailureCause_vals[] = {
12701 { 0, "memoryCapacityExceeded" },
12702 { 1, "equipmentProtocolError" },
12703 { 2, "equipmentNotSM-Equipped" },
12704 { 3, "unknownServiceCentre" },
12705 { 4, "sc-Congestion" },
12706 { 5, "invalidSME-Address" },
12707 { 6, "subscriberNotSC-Subscriber" },
12713 dissect_gsm_map_T_sm_EnumeratedDeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12714 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12719 static int dissect_sm_EnumeratedDeliveryFailureCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12720 return dissect_gsm_map_T_sm_EnumeratedDeliveryFailureCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_EnumeratedDeliveryFailureCause);
12726 dissect_gsm_map_OCTET_STRING_SIZE_1_200(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12727 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12732 static int dissect_diagnosticInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12733 return dissect_gsm_map_OCTET_STRING_SIZE_1_200(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_diagnosticInfo);
12736 static const ber_sequence_t Sm_DeliveryFailureCause_sequence[] = {
12737 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_EnumeratedDeliveryFailureCause },
12738 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnosticInfo },
12739 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12744 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_) {
12745 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12746 Sm_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_Sm_DeliveryFailureCause);
12751 static const ber_sequence_t MessageWaitListFullParam_sequence[] = {
12752 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12757 dissect_gsm_map_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12758 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12759 MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_MessageWaitListFullParam);
12764 static const ber_sequence_t AbsentSubscriberSM_Param_sequence[] = {
12765 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_absentSubscriberDiagnosticSM },
12766 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12767 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
12772 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_) {
12773 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12774 AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_AbsentSubscriberSM_Param);
12779 static const ber_sequence_t UnauthorizedRequestingNetwork_Param_sequence[] = {
12780 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12785 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_) {
12786 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12787 UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_UnauthorizedRequestingNetwork_Param);
12793 static const value_string gsm_map_T_unauthorizedLCSClient_Diagnostic_vals[] = {
12794 { 0, "noAdditionalInformation" },
12795 { 1, "clientNotInMSPrivacyExceptionList" },
12796 { 2, "callToClientNotSetup" },
12797 { 3, "privacyOverrideNotApplicable" },
12798 { 4, "disallowedByLocalRegulatoryRequirements" },
12804 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_) {
12805 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12810 static int dissect_unauthorizedLCSClient_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12811 return dissect_gsm_map_T_unauthorizedLCSClient_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorizedLCSClient_Diagnostic);
12814 static const ber_sequence_t UnauthorizedLCSClient_Param_sequence[] = {
12815 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorizedLCSClient_Diagnostic_impl },
12816 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12821 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_) {
12822 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12823 UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_UnauthorizedLCSClient_Param);
12829 static const value_string gsm_map_T_positionMethodFailure_Diagnostic_vals[] = {
12830 { 0, "congestion" },
12831 { 1, "insufficientResources" },
12832 { 2, "insufficientMeasurementData" },
12833 { 3, "inconsistentMeasurementData" },
12834 { 4, "locationProcedureNotCompleted" },
12835 { 5, "locationProcedureNotSupportedByTargetMS" },
12836 { 6, "qoSNotAttainable" },
12837 { 7, "positionMethodNotAvailableInNetwork" },
12838 { 8, "positionMethodNotAvailableInLocationArea" },
12844 dissect_gsm_map_T_positionMethodFailure_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
12845 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
12850 static int dissect_positionMethodFailure_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
12851 return dissect_gsm_map_T_positionMethodFailure_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_positionMethodFailure_Diagnostic);
12854 static const ber_sequence_t PositionMethodFailure_Param_sequence[] = {
12855 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_positionMethodFailure_Diagnostic_impl },
12856 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
12861 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_) {
12862 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12863 PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_PositionMethodFailure_Param);
12868 static const ber_sequence_t UnknownOrUnreachableLCSClient_Param_sequence[] = {
12869 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
12874 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_) {
12875 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
12876 UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_UnknownOrUnreachableLCSClient_Param);
12882 /*--- End of included file: packet-gsm_map-fn.c ---*/
12885 const value_string gsm_map_opr_code_strings[] = {
12886 { 2, "updateLocation" },
12887 { 3, "cancelLocation" },
12888 { 4, "provideRoamingNumber" },
12889 { 5, "noteSubscriberDataModified" },
12890 { 6, "resumeCallHandling" },
12891 { 7, "insertSubscriberData" },
12892 { 8, "deleteSubscriberData" },
12893 { 9, "sendParameters" }, /* map-ac infoRetrieval (14) version1 (1)*/
12894 { 10, "registerSS" },
12896 { 12, "activateSS" },
12897 { 13, "deactivateSS" },
12898 { 14, "interrogateSS" },
12899 { 15, "authenticationFailureReport" },
12900 { 17, "registerPassword" },
12901 { 18, "getPassword" },
12902 { 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */
12903 { 20, "releaseResources" },
12904 { 22, "sendRoutingInfo" },
12905 { 23, "updateGprsLocation" },
12906 { 24, "sendRoutingInfoForGprs" },
12907 { 25, "failureReport" },
12908 { 26, "noteMsPresentForGprs" },
12909 { 28, "performHandover" }, /* map-ac handoverControl (11) version1 (1)*/
12910 { 29, "sendEndSignal" },
12911 { 30, "performSubsequentHandover" }, /* map-ac handoverControl (11) version1 (1) */
12912 { 31, "provideSIWFSNumber" },
12913 { 32, "sIWFSSignallingModify" },
12914 { 33, "processAccessSignalling" },
12915 { 34, "forwardAccessSignalling" },
12916 { 35, "noteInternalHandover" }, /* map-ac handoverControl (11) version1 (1) */
12918 { 38, "forwardCheckSS-Indication" },
12919 { 39, "prepareGroupCall" },
12920 { 40, "sendGroupCallEndSignal" },
12921 { 41, "processGroupCallSignalling" },
12922 { 42, "forwardGroupCallSignalling" },
12923 { 43, "checkIMEI" },
12924 { 44, "mt-forwardSM" },
12925 { 45, "sendRoutingInfoForSM" },
12926 { 46, "mo-forwardSM" },
12927 { 47, "reportSM-DeliveryStatus" },
12928 { 48, "noteSubscriberPresent" }, /* map-ac mwdMngt (24) version1 (1) */
12929 { 49, "alertServiceCentreWithoutResult" }, /* map-ac shortMsgAlert (23) version1 (1) */
12930 { 50, "activateTraceMode" },
12931 { 51, "deactivateTraceMode" },
12932 { 52, "traceSubscriberActivity" }, /* map-ac handoverControl (11) version1 (1) */
12933 { 54, "beginSubscriberActivity" }, /* map-ac networkFunctionalSs (18) version1 (1) */
12934 { 55, "sendIdentification" },
12935 { 56, "sendAuthenticationInfo" },
12936 { 57, "restoreData" },
12937 { 58, "sendIMSI" },
12938 { 59, "processUnstructuredSS-Request" },
12939 { 60, "unstructuredSS-Request" },
12940 { 61, "unstructuredSS-Notify" },
12941 { 62, "anyTimeSubscriptionInterrogation" },
12942 { 63, "informServiceCentre" },
12943 { 64, "alertServiceCentre" },
12944 { 65, "anyTimeModification" },
12945 { 66, "readyForSM" },
12947 { 68, "prepareHandover" },
12948 { 69, "prepareSubsequentHandover" },
12949 { 70, "provideSubscriberInfo" },
12950 { 71, "anyTimeInterrogation" },
12951 { 72, "ss-InvocationNotification" },
12952 { 73, "setReportingState" },
12953 { 74, "statusReport" },
12954 { 75, "remoteUserFree" },
12955 { 76, "registerCC-Entry" },
12956 { 77, "eraseCC-Entry" },
12957 { 78, "secureTransportClass1" },
12958 { 79, "secureTransportClass2" },
12959 { 80, "secureTransportClass3" },
12960 { 81, "secureTransportClass4" },
12961 { 83, "provideSubscriberLocation" },
12962 { 85, "sendRoutingInfoForLCS" },
12963 { 86, "subscriberLocationReport" },
12964 { 87, "ist-Alert" },
12965 { 88, "ist-Command" },
12966 { 89, "noteMM-Event" },
12969 static const value_string gsm_map_err_code_string_vals[] = {
12970 { 1, "Unknown Subscriber" },
12971 { 3, "Unknown MSC" },
12972 { 5, "Unidentified Subscriber" },
12973 { 6, "Absent Subscriber SM" },
12974 { 7, "Unknown Equipment" },
12975 { 8, "Roaming Not Allowed" },
12976 { 9, "Illegal Subscriber" },
12977 { 10, "Bearer Service Not Provisioned" },
12978 { 11, "Teleservice Not Provisioned" },
12979 { 12, "Illegal Equipment" },
12980 { 13, "Call Barred" },
12981 { 14, "Forwarding Violation" },
12982 { 15, "CUG Reject" },
12983 { 16, "Illegal SS Operation" },
12984 { 17, "SS Error Status" },
12985 { 18, "SS Not Available" },
12986 { 19, "SS Subscription Violation" },
12987 { 20, "SS Incompatibility" },
12988 { 21, "Facility Not Supported" },
12989 { 25, "No Handover Number Available" },
12990 { 26, "Subsequent Handover Failure" },
12991 { 27, "Absent Subscriber" },
12992 { 28, "Incompatible Terminal" },
12993 { 29, "Short Term Denial" },
12994 { 30, "Long Term Denial" },
12995 { 31, "Subscriber Busy For MT SMS" },
12996 { 32, "SM Delivery Failure" },
12997 { 33, "Message Waiting List Full" },
12998 { 34, "System Failure" },
12999 { 35, "Data Missing" },
13000 { 36, "Unexpected Data Value" },
13001 { 37, "PW Registration Failure" },
13002 { 38, "Negative PW Check" },
13003 { 39, "No Roaming Number Available" },
13004 { 40, "Tracing Buffer Full" },
13005 { 42, "Target Cell Outside Group Call Area" },
13006 { 43, "Number Of PW Attempts Violation" },
13007 { 44, "Number Changed" },
13008 { 45, "Busy Subscriber" },
13009 { 46, "No Subscriber Reply" },
13010 { 47, "Forwarding Failed" },
13011 { 48, "OR Not Allowed" },
13012 { 49, "ATI Not Allowed" },
13013 { 50, "No Group Call Number Available" },
13014 { 51, "Resource Limitation" },
13015 { 52, "Unauthorized Requesting Network" },
13016 { 53, "Unauthorized LCS Client" },
13017 { 54, "Position Method Failure" },
13018 { 58, "Unknown Or Unreachable LCS Client" },
13019 { 59, "MM Event Not Supported" },
13020 { 60, "ATSI Not Allowed" },
13021 { 61, "ATM Not Allowed" },
13022 { 62, "Information Not Available" },
13023 { 71, "Unknown Alphabet" },
13024 { 72, "USSD Busy" },
13025 { 120, "Nbr Sb Exceeded" },
13026 { 121, "Rejected By User" },
13027 { 122, "Rejected By Network" },
13028 { 123, "Deflection To Served Subscriber" },
13029 { 124, "Special Service Code" },
13030 { 125, "Invalid Deflected To Number" },
13031 { 126, "Max Number Of MPTY Participants Exceeded" },
13032 { 127, "Resources Not Available" },
13035 static const true_false_string gsm_map_extension_value = {
13039 static const value_string gsm_map_nature_of_number_values[] = {
13040 { 0x00, "unknown" },
13041 { 0x01, "International Number" },
13042 { 0x02, "National Significant Number" },
13043 { 0x03, "Network Specific Number" },
13044 { 0x04, "Subscriber Number" },
13045 { 0x05, "Reserved" },
13046 { 0x06, "Abbreviated Number" },
13047 { 0x07, "Reserved for extension" },
13050 static const value_string gsm_map_number_plan_values[] = {
13051 { 0x00, "unknown" },
13052 { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
13054 { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
13055 { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
13057 { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
13059 { 0x08, "National Numbering" },
13060 { 0x09, "Private Numbering" },
13061 { 0x0f, "Reserved for extension" },
13065 static const true_false_string gsm_map_Ss_Status_q_bit_values = {
13069 static const true_false_string gsm_map_Ss_Status_p_values = {
13073 static const true_false_string gsm_map_Ss_Status_r_values = {
13077 static const true_false_string gsm_map_Ss_Status_a_values = {
13082 static guint32 opcode=0;
13085 dissect_gsm_map_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
13086 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
13088 if (check_col(pinfo->cinfo, COL_INFO)){
13089 col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
13095 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13100 case 2: /*updateLocation*/
13101 offset=dissect_gsm_map_UpdateLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
13103 case 3: /*cancelLocation*/
13104 octet = tvb_get_guint8(tvb,0) & 0xf;
13105 if ( octet == 3){ /* */
13106 offset = offset +2;
13107 offset=dissect_gsm_map_CancelLocationArg(TRUE, tvb, offset, pinfo, tree, -1);
13109 offset=dissect_gsm_map_CancelLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
13112 case 4: /*provideRoamingNumber*/
13113 offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
13115 case 6: /*resumeCallHandling*/
13116 offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1);
13118 case 7: /*insertSubscriberData*/
13119 offset=dissect_gsm_map_InsertSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
13121 case 8: /*deleteSubscriberData*/
13122 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
13124 /* TODO find out why this isn't in the ASN1 file
13125 case 9: sendParameters
13126 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
13129 case 10: /*registerSS*/
13130 offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13132 case 11: /*eraseSS*/
13133 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
13135 case 12: /*activateSS*/
13136 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
13138 case 13: /*deactivateSS*/
13139 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
13141 case 14: /*interrogateSS*/
13142 offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
13144 case 15: /*authenticationFailureReport*/
13145 offset=dissect_gsm_map_AuthenticationFailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
13147 case 17: /*registerPassword*/
13148 offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
13150 case 18: /*getPassword*/
13151 offset=dissect_gsm_map_GetPasswordArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_getPassword);
13153 case 20: /*releaseResources*/
13154 offset=dissect_gsm_map_ReleaseResourcesArg(FALSE, tvb, offset, pinfo, tree, -1);
13156 case 22: /*sendRoutingInfo*/
13157 offset=dissect_gsm_map_SendRoutingInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
13159 case 23: /*updateGprsLocation*/
13160 offset=dissect_gsm_map_UpdateGprsLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
13162 case 24: /*sendRoutingInfoForGprs*/
13163 offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
13165 case 25: /*failureReport*/
13166 offset=dissect_gsm_map_FailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
13168 case 26: /*noteMsPresentForGprs*/
13169 offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
13171 case 29: /*sendEndSignal*/
13172 octet = tvb_get_guint8(tvb,0) & 0xf;
13173 if ( octet == 3){ /* This is a V3 message ??? */
13174 offset = offset +2;
13175 offset=dissect_gsm_map_SendEndSignalArgV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
13177 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
13180 case 31: /*provideSIWFSNumbe*/
13181 offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
13183 case 32: /*sIWFSSignallingModify*/
13184 offset=dissect_gsm_map_SIWFSSignallingModifyArg(FALSE, tvb, offset, pinfo, tree, -1);
13186 case 33: /*processAccessSignalling*/
13187 octet = tvb_get_guint8(tvb,0) & 0xf;
13188 if ( octet == 3){ /* This is a V3 message ??? */
13189 offset = offset +2;
13190 offset = dissect_gsm_map_ProcessAccessSignallingArgV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
13192 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
13195 case 34: /*forwardAccessSignalling*/
13196 octet = tvb_get_guint8(tvb,0) & 0xf;
13197 if ( octet == 3){ /* This is a V3 message ??? */
13198 offset = offset +2;
13199 offset=dissect_gsm_map_ForwardAccessSignallingArgV3(TRUE, tvb, offset, pinfo, tree, -1);
13201 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
13205 offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1);
13207 case 38: /*forwardCheckSS-Indication*/
13210 case 39: /*prepareGroupCall*/
13211 offset=dissect_gsm_map_PrepareGroupCallArg(FALSE, tvb, offset, pinfo, tree, -1);
13213 case 40: /*sendGroupCallEndSignal*/
13214 dissect_gsm_map_SendGroupCallEndSignalArg(FALSE, tvb, offset, pinfo, tree, -1);
13216 case 42: /*processGroupCallSignalling*/
13217 offset=dissect_gsm_map_ProcessGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
13219 case 43: /*checkIMEI*/
13220 if (application_context_version < 2 ){
13221 offset=dissect_gsm_map_CheckIMEIArgV2(FALSE, tvb, offset, pinfo, tree, -1);
13223 offset=dissect_gsm_map_CheckIMEIArgV2(FALSE, tvb, offset, pinfo, tree, -1);
13226 case 44: /*mt-forwardSM*/
13227 offset=dissect_gsm_map_Mt_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13229 case 45: /*sendRoutingInfoForSM*/
13230 offset=dissect_gsm_map_RoutingInfoForSMArg(FALSE, tvb, offset, pinfo, tree, -1);
13232 case 46: /*mo-forwardSM*/
13233 offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13235 case 47: /*reportSM-DeliveryStatus*/
13236 offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
13238 case 50: /*activateTraceMode*/
13239 offset=dissect_gsm_map_ActivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
13241 case 51: /*deactivateTraceMode*/
13242 offset=dissect_gsm_map_DeactivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
13244 case 55: /*sendIdentification*/
13245 offset=dissect_gsm_map_TMSI(FALSE, tvb, offset, pinfo, tree, -1);
13247 case 56: /*sendAuthenticationInfo*/
13248 if (application_context_version < 3 ){
13249 offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
13251 offset=dissect_gsm_map_SendAuthenticationInfoArgV2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoArg);
13254 case 57: /*restoreData*/
13255 offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1);
13257 case 58: /*sendIMSI*/
13258 offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, pinfo, tree, -1);
13260 case 59: /*processUnstructuredSS-Request*/
13261 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13263 case 60: /*unstructuredSS-Request*/
13264 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13266 case 61: /*unstructuredSS-Notify*/
13267 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13269 case 62: /*AnyTimeSubscriptionInterrogation*/
13270 offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
13272 case 63: /*informServiceCentre*/
13273 offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
13275 case 64: /*alertServiceCentre*/
13276 offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
13278 case 65: /*AnyTimeModification*/
13279 offset=dissect_gsm_map_AnyTimeModificationArg(FALSE, tvb, offset, pinfo, tree, -1);
13281 case 66: /*readyForSM*/
13282 offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13284 case 67: /*purgeMS*/
13285 offset=dissect_gsm_map_PurgeMSArg(FALSE, tvb, offset, pinfo, tree, -1);
13287 case 68: /*prepareHandover*/
13288 octet = tvb_get_guint8(tvb,0) & 0xf;
13289 if ( octet == 3){ /* This is a V3 message ??? */
13290 offset = offset +2;
13291 offset=dissect_gsm_map_PrepareHO_ArgV3(TRUE, tvb, offset, pinfo, tree, -1);
13293 offset=dissect_gsm_map_PrepareHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13296 case 69: /*prepareSubsequentHandover*/
13297 offset=dissect_gsm_map_PrepareSubsequentHOArg(FALSE, tvb, offset, pinfo, tree, -1);
13299 case 70: /*provideSubscriberInfo*/
13300 offset=dissect_gsm_map_ProvideSubscriberInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
13302 case 71: /*anyTimeInterrogation*/
13303 offset=dissect_gsm_map_AnyTimeInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
13305 case 72: /*ss-InvocationNotificatio*/
13306 offset=dissect_gsm_map_Ss_InvocationNotificationArg(FALSE, tvb, offset, pinfo, tree, -1);
13308 case 73: /*setReportingState*/
13309 offset=dissect_gsm_map_SetReportingStateArg(FALSE, tvb, offset, pinfo, tree, -1);
13311 case 74: /*statusReport*/
13312 offset=dissect_gsm_map_StatusReportArg(FALSE, tvb, offset, pinfo, tree, -1);
13314 case 75: /*remoteUserFree*/
13315 offset=dissect_gsm_map_RemoteUserFreeArg(FALSE, tvb, offset, pinfo, tree, -1);
13317 case 76: /*registerCC-Entry*/
13318 offset=dissect_gsm_map_RegisterCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
13320 case 77: /*eraseCC-Entry*/
13321 offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
13323 case 78: /*secureTransportClass1*/
13324 case 79: /*secureTransportClass1*/
13325 case 80: /*secureTransportClass1*/
13326 case 81: /*secureTransportClass1*/
13327 offset=dissect_gsm_map_SecureTransportArg(FALSE, tvb, offset, pinfo, tree, -1);
13329 case 83: /*provideSubscriberLocation*/
13330 offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
13332 offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13334 case 85: /*sendRoutingInfoForLCS*/
13335 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13337 case 86: /*subscriberLocationReport*/
13338 offset=dissect_gsm_map_SubscriberLocationReport_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13340 case 87: /*ist-Alert*/
13341 offset=dissect_gsm_map_IST_AlertArg(FALSE, tvb, offset, pinfo, tree, -1);
13343 case 88: /*ist-Command*/
13344 offset=dissect_gsm_map_IST_CommandArg(FALSE, tvb, offset, pinfo, tree, -1);
13346 case 89: /*noteMM-Event*/
13347 offset=dissect_gsm_map_NoteMM_EventArg(FALSE, tvb, offset, pinfo, tree, -1);
13350 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
13356 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13360 case 2: /*updateLocation*/
13361 octet = tvb_get_guint8(tvb,offset);
13362 /* As it seems like SEQUENCE OF sometimes is omitted, find out if it's there */
13363 if ( octet == 0x30 ){ /* Class 0 Univerasl, P/C 1 Constructed,Tag 16 Sequence OF */
13364 offset=dissect_gsm_map_UpdateLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
13365 }else{ /* Try decoding with IMPLICIT flag set */
13366 offset=dissect_gsm_map_UpdateLocationRes(TRUE, tvb, offset, pinfo, tree, -1);
13369 case 3: /*cancelLocation*/
13370 offset=dissect_gsm_map_CancelLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
13372 case 4: /*provideRoamingNumber*/
13373 offset=dissect_gsm_map_ProvideRoamingNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
13375 case 6: /*resumeCallHandling*/
13376 offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1);
13378 case 7: /*insertSubscriberData*/
13379 offset=dissect_gsm_map_InsertSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
13381 case 8: /*deleteSubscriberData*/
13382 offset=dissect_gsm_map_DeleteSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
13384 /* TODO find out why this isn't in the ASN1 file
13385 case 9: sendParameters
13386 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
13389 case 10: /*registerSS*/
13390 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
13392 case 11: /*eraseSS*/
13393 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
13395 case 12: /*activateSS*/
13396 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
13398 case 13: /*deactivateSS*/
13399 offset=dissect_gsm_map_SS_Info(FALSE, tvb, offset, pinfo, tree, -1);
13401 case 14: /*interrogateSS*/
13402 offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
13404 case 15: /*authenticationFailureReport*/
13405 offset=dissect_gsm_map_AuthenticationFailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
13407 case 17: /*registerPassword*/
13408 offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
13410 case 18: /*getPassword*/
13411 offset=dissect_gsm_map_CurrentPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentPassword);
13413 case 20: /*releaseResources*/
13414 offset=dissect_gsm_map_ReleaseResourcesRes(FALSE, tvb, offset, pinfo, tree, -1);
13416 case 22: /*sendRoutingInfo*/
13417 /* This is done to get around a problem with IMPLICIT tag:s */
13418 offset = offset +2;
13419 offset=dissect_gsm_map_SendRoutingInfoRes(TRUE, tvb, offset, pinfo, tree, -1);
13421 case 23: /*updateGprsLocation*/
13422 offset=dissect_gsm_map_UpdateGprsLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
13424 case 24: /*sendRoutingInfoForGprs*/
13425 offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
13427 case 25: /*failureReport*/
13428 offset=dissect_gsm_map_FailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
13430 case 26: /*noteMsPresentForGprs*/
13431 offset=dissect_gsm_map_NoteMsPresentForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
13433 case 29: /*sendEndSignal*/
13434 /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
13435 * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
13437 offset=dissect_gsm_map_SendEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
13439 case 31: /*provideSIWFSNumbe*/
13440 offset=dissect_gsm_map_ProvideSIWFSNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
13442 case 32: /*provideSIWFSNumbe*/
13443 offset=dissect_gsm_map_SIWFSSignallingModifyRes(FALSE, tvb, offset, pinfo, tree, -1);
13445 case 39: /*prepareGroupCall*/
13446 offset=dissect_gsm_map_PrepareGroupCallRes(FALSE, tvb, offset, pinfo, tree, -1);
13448 case 40: /*sendGroupCallEndSignal*/
13449 dissect_gsm_map_SendGroupCallEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
13451 case 43: /*checkIMEI*/
13452 offset=dissect_gsm_map_CheckIMEIRes(FALSE, tvb, offset, pinfo, tree, -1);
13454 case 44: /*mt-forwardSM*/
13455 offset=dissect_gsm_map_Mt_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
13457 case 45: /*sendRoutingInfoForSM*/
13458 offset=dissect_gsm_map_RoutingInfoForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
13460 case 46: /*mo-forwardSM*/
13461 offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
13463 case 48: /*reportSM-DeliveryStatus*/
13464 offset=dissect_gsm_map_ReportSM_DeliveryStatusRes(FALSE, tvb, offset, pinfo, tree, -1);
13466 case 50: /*activateTraceMode*/
13467 offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
13469 case 51: /*deactivateTraceMode*/
13470 offset=dissect_gsm_map_DeactivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
13472 case 55: /*sendIdentification*/
13473 offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
13475 case 56: /*sendAuthenticationInfo*/
13476 octet = tvb_get_guint8(tvb,0) & 0xf;
13477 if ( octet == 3){ /* This is a V3 message ??? */
13478 offset = offset +2;
13479 offset=dissect_gsm_map_SendAuthenticationInfoResV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
13481 offset=dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
13484 case 57: /*restoreData*/
13485 offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
13487 case 58: /*sendIMSI*/
13488 offset=dissect_gsm_map_IMSI(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
13490 case 59: /*unstructuredSS-Request*/
13491 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
13493 case 60: /*unstructuredSS-Request*/
13494 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
13496 case 61: /*unstructuredSS-Notify*/
13498 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
13500 case 62: /*AnyTimeSubscriptionInterrogation*/
13501 offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
13503 case 65: /*AnyTimeModification*/
13504 offset=dissect_gsm_map_AnyTimeModificationRes(FALSE, tvb, offset, pinfo, tree, -1);
13506 case 66: /*readyForSM*/
13507 offset=dissect_gsm_map_ReadyForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
13509 case 67: /*purgeMS*/
13510 offset=dissect_gsm_map_PurgeMSRes(FALSE, tvb, offset, pinfo, tree, -1);
13512 case 68: /*prepareHandover*/
13513 octet = tvb_get_guint8(tvb,0) & 0xf;
13514 if ( octet == 3){ /* This is a V3 message ??? */
13515 offset = offset +2;
13516 offset=dissect_gsm_map_PrepareHO_ResV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
13518 offset=dissect_gsm_map_PrepareHO_Res(FALSE, tvb, offset, pinfo, tree, -1);
13521 case 69: /*prepareSubsequentHandover*/
13522 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
13524 case 70: /*provideSubscriberInfo*/
13525 offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
13527 case 71: /*anyTimeInterrogation*/
13528 offset=dissect_gsm_map_AnyTimeInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
13530 case 72: /*ss-InvocationNotificatio*/
13531 offset=dissect_gsm_map_Ss_InvocationNotificationRes(FALSE, tvb, offset, pinfo, tree, -1);
13533 case 73: /*setReportingState*/
13534 offset=dissect_gsm_map_SetReportingStateRes(FALSE, tvb, offset, pinfo, tree, -1);
13536 case 74: /*statusReport*/
13537 offset=dissect_gsm_map_StatusReportRes(FALSE, tvb, offset, pinfo, tree, -1);
13539 case 75: /*remoteUserFree*/
13540 offset=dissect_gsm_map_RemoteUserFreeRes(FALSE, tvb, offset, pinfo, tree, -1);
13542 case 76: /*registerCC-Entry*/
13543 offset=dissect_gsm_map_RegisterCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
13545 case 77: /*eraseCC-Entry*/
13546 offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
13548 case 78: /*secureTransportClass1*/
13549 case 79: /*secureTransportClass2*/
13550 case 80: /*secureTransportClass3*/
13551 case 81: /*secureTransportClass4*/
13552 offset=dissect_gsm_map_SecureTransportRes(FALSE, tvb, offset, pinfo, tree, -1);
13554 case 83: /*provideSubscriberLocation*/
13555 offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1);
13557 case 85: /*sendRoutingInfoForLCS*/
13558 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
13560 case 86: /*subscriberLocationReport*/
13561 offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1);
13563 case 87: /*ist-Alert*/
13564 offset=dissect_gsm_map_IST_AlertRes(FALSE, tvb, offset, pinfo, tree, -1);
13566 case 88: /*ist-Command*/
13567 offset=dissect_gsm_map_IST_CommandRes(FALSE, tvb, offset, pinfo, tree, -1);
13569 case 89: /*noteMM-Event*/
13570 offset=dissect_gsm_map_NoteMM_EventRes(FALSE, tvb, offset, pinfo, tree, -1);
13573 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
13579 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13580 return dissect_gsm_map_Opcode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeCmd);
13583 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13584 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_invokeid, NULL);
13588 static const value_string InvokeId_vals[] = {
13594 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13595 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absent);
13599 static const ber_choice_t InvokeId_choice[] = {
13600 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
13601 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
13602 { 0, 0, 0, 0, NULL }
13606 dissect_gsm_map_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
13607 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
13608 InvokeId_choice, hf_index, ett_gsm_map_InvokeId, NULL);
13612 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13613 return dissect_gsm_map_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeId);
13616 static const ber_sequence_t InvokePDU_sequence[] = {
13617 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
13618 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
13619 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
13624 dissect_gsm_map_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
13625 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13626 InvokePDU_sequence, hf_index, ett_gsm_map_InvokePDU);
13630 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13631 return dissect_gsm_map_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invoke);
13634 static const ber_sequence_t ReturnResult_result_sequence[] = {
13635 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
13636 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
13640 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13641 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
13642 ReturnResult_result_sequence, hf_gsm_map_returnResult_result, ett_gsm_map_ReturnResult_result);
13647 static const ber_sequence_t ReturnResultPDU_sequence[] = {
13648 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
13649 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
13654 dissect_gsm_map_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
13655 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13656 ReturnResultPDU_sequence, hf_index, ett_gsm_map_ReturnResultPDU);
13660 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13661 return dissect_gsm_map_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResult);
13665 dissect_local_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13666 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_local_errorCode, NULL);
13670 dissect_global_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13671 offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
13672 hf_gsm_map_global_errorCode_oid, NULL);
13673 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_global_errorCode, NULL);
13675 static const ber_choice_t ReturnError_result_choice[] = {
13676 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_local_errorCode },
13677 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_global_errorCode },
13678 { 0, 0, 0, 0, NULL }
13683 dissect_ReturnError_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13685 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
13686 ReturnError_result_choice, hf_gsm_map_returnError_result, ett_gsm_map_ReturnError_result, NULL);
13691 static const ber_sequence_t ReturnErrorPDU_sequence[] = {
13692 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
13693 { BER_CLASS_UNI, -1/*choice*/,BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ReturnError_result },
13698 dissect_gsm_map_ReturnErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
13699 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
13700 ReturnErrorPDU_sequence, hf_index, ett_gsm_map_ReturnErrorPDU);
13704 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
13705 return dissect_gsm_map_ReturnErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnError);
13709 static const value_string GSMMAPPDU_vals[] = {
13711 { 2, "ReturnResult " },
13712 { 3, "ReturnError " },
13717 static const ber_choice_t GSMMAPPDU_choice[] = {
13718 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
13719 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
13720 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
13722 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
13724 { 0, 0, 0, 0, NULL }
13727 static guint8 gsmmap_pdu_type = 0;
13728 static guint8 gsm_map_pdu_size = 0;
13731 dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo , proto_tree *tree, int hf_index) {
13733 char *version_ptr, *version_str;
13736 application_context_version = 0;
13737 if (pinfo->private_data != NULL){
13738 version_ptr = strrchr(pinfo->private_data,'.');
13740 version_str = g_strdup(version_ptr+1);
13741 application_context_version = atoi(version_str);
13745 gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
13746 /* Get the length and add 2 */
13747 gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
13749 if (check_col(pinfo->cinfo, COL_INFO)){
13750 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(gsmmap_pdu_type, GSMMAPPDU_vals, "Unknown GSM-MAP PDU (%u)"));
13753 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
13754 GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU, NULL);
13764 dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
13766 proto_item *item=NULL;
13767 proto_tree *tree=NULL;
13768 /* Used for gsm_map TAP */
13769 static gsm_map_tap_rec_t tap_rec;
13773 if (check_col(pinfo->cinfo, COL_PROTOCOL))
13775 col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
13778 top_tree = parent_tree;
13779 dissector_add("tcap.itu_ssn",pinfo->match_port, map_handle);
13780 /* create display subtree for the protocol */
13782 item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE);
13783 tree = proto_item_add_subtree(item, ett_gsm_map);
13786 dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
13787 match_strval_idx(opcode, gsm_map_opr_code_strings, &op_idx);
13789 tap_rec.invoke = FALSE;
13790 if ( gsmmap_pdu_type == 1 )
13791 tap_rec.invoke = TRUE;
13792 tap_rec.opr_code_idx = op_idx;
13793 tap_rec.size = gsm_map_pdu_size;
13795 tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
13798 static const value_string ssCode_vals[] = {
13799 { 0x00, "allSS - all SS" },
13800 { 0x10 ,"allLineIdentificationSS - all line identification SS" },
13801 { 0x11 ,"clip - calling line identification presentation" },
13802 { 0x12 ,"clir - calling line identification restriction" },
13803 { 0x13 ,"colp - connected line identification presentation" },
13804 { 0x14 ,"colr - connected line identification restriction" },
13805 { 0x15 ,"mci - malicious call identification" },
13806 { 0x18 ,"allNameIdentificationSS - all name indentification SS" },
13807 { 0x19 ,"cnap - calling name presentation" },
13808 { 0x20 ,"allForwardingSS - all forwarding SS" },
13809 { 0x21 ,"cfu - call forwarding unconditional" },
13810 { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
13811 { 0x29 ,"cfb - call forwarding busy" },
13812 { 0x2a ,"cfnry - call forwarding on no reply" },
13813 { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
13814 { 0x24 ,"cd - call deflection" },
13815 { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
13816 { 0x31 ,"ect - explicit call transfer" },
13817 { 0x32 ,"mah - mobile access hunting" },
13818 { 0x40 ,"allCallCompletionSS - all Call completion SS" },
13819 { 0x41 ,"cw - call waiting" },
13820 { 0x42 ,"hold - call hold" },
13821 { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
13822 { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
13823 { 0x45 ,"mc - multicall" },
13824 { 0x50 ,"allMultiPartySS - all multiparty SS" },
13825 { 0x51 ,"multiPTY - multiparty" },
13826 { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
13827 { 0x61 ,"cug - closed user group" },
13828 { 0x70 ,"allChargingSS - all charging SS" },
13829 { 0x71 ,"aoci - advice of charge information" },
13830 { 0x72 ,"aocc - advice of charge charging" },
13831 { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
13832 { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
13833 { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
13834 { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
13835 { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
13836 { 0x91 ,"barringOfOutgoingCalls" },
13837 { 0x92 ,"baoc - barring of all outgoing calls" },
13838 { 0x93 ,"boic - barring of outgoing international calls" },
13839 { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
13840 { 0x99 ,"barringOfIncomingCalls" },
13841 { 0x9a ,"baic - barring of all incoming calls" },
13842 { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
13843 { 0xf0 ,"allPLMN-specificSS" },
13844 { 0xa0 ,"allCallPrioritySS - all call priority SS" },
13845 { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
13846 { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
13847 { 0xb1 ,"universal - allow location by any LCS client" },
13848 { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
13849 { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
13850 { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
13851 { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
13852 { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
13853 { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
13854 { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
13856 { 0xf1 ,"plmn-specificSS-1" },
13857 { 0xf2 ,"plmn-specificSS-2" },
13858 { 0xf3 ,"plmn-specificSS-3" },
13859 { 0xf4 ,"plmn-specificSS-4" },
13860 { 0xf5 ,"plmn-specificSS-5" },
13861 { 0xf6 ,"plmn-specificSS-6" },
13862 { 0xf7 ,"plmn-specificSS-7" },
13863 { 0xf8 ,"plmn-specificSS-8" },
13864 { 0xf9 ,"plmn-specificSS-9" },
13865 { 0xfa ,"plmn-specificSS-a" },
13866 { 0xfb ,"plmn-specificSS-b" },
13867 { 0xfc ,"plmn-specificSS-c" },
13868 { 0xfd ,"plmn-specificSS-d" },
13869 { 0xfe ,"plmn-specificSS-e" },
13870 { 0xff ,"plmn-specificSS-f" },
13874 static const value_string Teleservice_vals[] = {
13875 {0x00, "allTeleservices" },
13876 {0x10, "allSpeechTransmissionServices" },
13877 {0x11, "telephony" },
13878 {0x12, "emergencyCalls" },
13879 {0x20, "allShortMessageServices" },
13880 {0x21, "shortMessageMT-PP" },
13881 {0x22, "shortMessageMO-PP" },
13882 {0x60, "allFacsimileTransmissionServices" },
13883 {0x61, "facsimileGroup3AndAlterSpeech" },
13884 {0x62, "automaticFacsimileGroup3" },
13885 {0x63, "facsimileGroup4" },
13887 {0x70, "allDataTeleservices" },
13888 {0x80, "allTeleservices-ExeptSMS" },
13890 {0x90, "allVoiceGroupCallServices" },
13891 {0x91, "voiceGroupCall" },
13892 {0x92, "voiceBroadcastCall" },
13894 {0xd0, "allPLMN-specificTS" },
13895 {0xd1, "plmn-specificTS-1" },
13896 {0xd2, "plmn-specificTS-2" },
13897 {0xd3, "plmn-specificTS-3" },
13898 {0xd4, "plmn-specificTS-4" },
13899 {0xd5, "plmn-specificTS-5" },
13900 {0xd6, "plmn-specificTS-6" },
13901 {0xd7, "plmn-specificTS-7" },
13902 {0xd8, "plmn-specificTS-8" },
13903 {0xd9, "plmn-specificTS-9" },
13904 {0xda, "plmn-specificTS-A" },
13905 {0xdb, "plmn-specificTS-B" },
13906 {0xdc, "plmn-specificTS-C" },
13907 {0xdd, "plmn-specificTS-D" },
13908 {0xde, "plmn-specificTS-E" },
13909 {0xdf, "plmn-specificTS-F" },
13913 static const value_string Bearerservice_vals[] = {
13914 {0x00, "allBearerServices" },
13915 {0x10, "allDataCDA-Services" },
13916 {0x11, "dataCDA-300bps" },
13917 {0x12, "dataCDA-1200bps" },
13918 {0x13, "dataCDA-1200-75bps" },
13919 {0x14, "dataCDA-2400bps" },
13920 {0x15, "dataCDA-4800bps" },
13921 {0x16, "dataCDA-9600bps" },
13922 {0x17, "general-dataCDA" },
13924 {0x18, "allDataCDS-Services" },
13925 {0x1A, "dataCDS-1200bps" },
13926 {0x1C, "dataCDS-2400bps" },
13927 {0x1D, "dataCDS-4800bps" },
13928 {0x1E, "dataCDS-9600bps" },
13929 {0x1F, "general-dataCDS" },
13931 {0x20, "allPadAccessCA-Services" },
13932 {0x21, "padAccessCA-300bps" },
13933 {0x22, "padAccessCA-1200bps" },
13934 {0x23, "padAccessCA-1200-75bps" },
13935 {0x24, "padAccessCA-2400bps" },
13936 {0x25, "padAccessCA-4800bps" },
13937 {0x26, "padAccessCA-9600bps" },
13938 {0x27, "general-padAccessCA" },
13940 {0x28, "allDataPDS-Services" },
13941 {0x2C, "dataPDS-2400bps" },
13942 {0x2D, "dataPDS-4800bps" },
13943 {0x2E, "dataPDS-9600bps" },
13944 {0x2F, "general-dataPDS" },
13946 {0x30, "allAlternateSpeech-DataCDA" },
13947 {0x38, "allAlternateSpeech-DataCDS" },
13948 {0x40, "allSpeechFollowedByDataCDA" },
13949 {0x48, "allSpeechFollowedByDataCDS" },
13951 {0x50, "allDataCircuitAsynchronous" },
13952 {0x60, "allAsynchronousServices" },
13953 {0x58, "allDataCircuitSynchronous" },
13954 {0x68, "allSynchronousServices" },
13956 {0xD0, "allPLMN-specificBS" },
13957 {0xD1, "plmn-specificBS-1" },
13958 {0xD2, "plmn-specificBS-2" },
13959 {0xD3, "plmn-specificBS-3" },
13960 {0xD4, "plmn-specificBS-4" },
13961 {0xD5, "plmn-specificBS-5" },
13962 {0xD6, "plmn-specificBS-6" },
13963 {0xD7, "plmn-specificBS-7" },
13964 {0xD8, "plmn-specificBS-8" },
13965 {0xD9, "plmn-specificBS-9" },
13966 {0xDA, "plmn-specificBS-A" },
13967 {0xDB, "plmn-specificBS-B" },
13968 {0xDC, "plmn-specificBS-C" },
13969 {0xDD, "plmn-specificBS-D" },
13970 {0xDE, "plmn-specificBS-E" },
13971 {0xDF, "plmn-specificBS-F" },
13976 /*--- proto_reg_handoff_gsm_map ---------------------------------------*/
13977 static void range_delete_callback(guint32 ssn)
13980 dissector_delete("tcap.itu_ssn", ssn, map_handle);
13984 static void range_add_callback(guint32 ssn)
13987 dissector_add("tcap.itu_ssn", ssn, map_handle);
13991 void proto_reg_handoff_gsm_map(void) {
13993 static int map_prefs_initialized = FALSE;
13994 data_handle = find_dissector("data");
13996 if (!map_prefs_initialized) {
13997 map_prefs_initialized = TRUE;
13998 map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
13999 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)");
14000 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)" );
14001 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)" );
14002 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)" );
14003 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)" );
14004 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)" );
14005 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)" );
14006 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)" );
14007 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)" );
14008 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)" );
14009 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)" );
14010 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)" );
14011 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)" );
14012 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)" );
14013 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)" );
14014 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)" );
14015 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)" );
14016 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)" );
14017 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)" );
14018 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)" );
14019 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)" );
14020 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)" );
14021 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)" );
14022 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)" );
14023 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)" );
14024 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) version2(2)" );
14025 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)" );
14026 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)" );
14027 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)" );
14028 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)" );
14029 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)" );
14030 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)" );
14031 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)" );
14032 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)" );
14033 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)" );
14034 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)" );
14035 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)" );
14036 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)" );
14037 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)" );
14038 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)" );
14039 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)" );
14040 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)" );
14041 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)" );
14042 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)" );
14043 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)" );
14044 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)" );
14045 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)" );
14046 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)" );
14047 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)" );
14048 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)" );
14049 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)" );
14050 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)" );
14051 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)" );
14052 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)" );
14053 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)" );
14054 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)" );
14055 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)" );
14056 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)" );
14057 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)" );
14058 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)" );
14061 range_foreach(ssn_range, range_delete_callback);
14065 ssn_range = range_copy(global_ssn_range);
14067 range_foreach(ssn_range, range_add_callback);
14071 /*--- proto_register_gsm_map -------------------------------------------*/
14072 void proto_register_gsm_map(void) {
14073 module_t *gsm_map_module;
14075 /* List of fields */
14076 static hf_register_info hf[] = {
14077 { &hf_gsm_map_invokeCmd,
14078 { "invokeCmd", "gsm_map.invokeCmd",
14079 FT_UINT32, BASE_DEC, VALS(gsm_map_opr_code_strings), 0,
14080 "InvokePDU/invokeCmd", HFILL }},
14081 { &hf_gsm_map_invokeid,
14082 { "invokeid", "gsm_map.invokeid",
14083 FT_INT32, BASE_DEC, NULL, 0,
14084 "InvokeId/invokeid", HFILL }},
14085 { &hf_gsm_map_absent,
14086 { "absent", "gsm_map.absent",
14087 FT_NONE, BASE_NONE, NULL, 0,
14088 "InvokeId/absent", HFILL }},
14089 { &hf_gsm_map_invokeId,
14090 { "invokeId", "gsm_map.invokeId",
14091 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
14092 "InvokePDU/invokeId", HFILL }},
14093 { &hf_gsm_map_SendAuthenticationInfoArg,
14094 { "SendAuthenticationInfoArg", "gsm_map.SendAuthenticationInfoArg",
14095 FT_BYTES, BASE_NONE, NULL, 0,
14096 "SendAuthenticationInfoArg", HFILL }},
14097 { &hf_gsm_map_SendAuthenticationInfoRes,
14098 { "SendAuthenticationInfoRes", "gsm_map.SendAuthenticationInfoRes",
14099 FT_BYTES, BASE_NONE, NULL, 0,
14100 "SendAuthenticationInfoRes", HFILL }},
14101 { &hf_gsm_map_currentPassword,
14102 { "currentPassword", "gsm_map.currentPassword",
14103 FT_STRING, BASE_NONE, NULL, 0,
14105 { &hf_gsm_mapSendEndSignal,
14106 { "mapSendEndSignalArg", "gsm_map.mapsendendsignalarg",
14107 FT_BYTES, BASE_NONE, NULL, 0,
14108 "mapSendEndSignalArg", HFILL }},
14109 { &hf_gsm_map_invoke,
14110 { "invoke", "gsm_map.invoke",
14111 FT_NONE, BASE_NONE, NULL, 0,
14112 "GSMMAPPDU/invoke", HFILL }},
14113 { &hf_gsm_map_returnResult,
14114 { "returnResult", "gsm_map.returnResult",
14115 FT_NONE, BASE_NONE, NULL, 0,
14116 "GSMMAPPDU/returnResult", HFILL }},
14117 {&hf_gsm_map_returnResult_result,
14118 { "returnResult_result", "gsm_map.returnresultresult",
14119 FT_BYTES, BASE_NONE, NULL, 0,
14120 "returnResult_result", HFILL }},
14121 {&hf_gsm_map_returnError_result,
14122 { "returnError_result", "gsm_map.returnerrorresult",
14123 FT_UINT32, BASE_DEC, NULL, 0,
14124 "returnError_result", HFILL }},
14125 {&hf_gsm_map_returnError,
14126 { "returnError", "gsm_map.returnError",
14127 FT_NONE, BASE_NONE, NULL, 0,
14128 "GSMMAPPDU/returnError", HFILL }},
14129 {&hf_gsm_map_local_errorCode,
14130 { "Local Error Code", "gsm_map.localerrorCode",
14131 FT_UINT32, BASE_DEC, VALS(gsm_map_err_code_string_vals), 0,
14132 "localerrorCode", HFILL }},
14133 {&hf_gsm_map_global_errorCode_oid,
14134 { "Global Error Code OID", "gsm_map.hlobalerrorCodeoid",
14135 FT_BYTES, BASE_NONE, NULL, 0,
14136 "globalerrorCodeoid", HFILL }},
14137 {&hf_gsm_map_global_errorCode,
14138 { "Global Error Code", "gsm_map.globalerrorCode",
14139 FT_UINT32, BASE_DEC, NULL, 0,
14140 "globalerrorCode", HFILL }},
14141 { &hf_gsm_map_getPassword,
14142 { "Password", "gsm_map.password",
14143 FT_UINT8, BASE_DEC, VALS(gsm_map_GetPasswordArg_vals), 0,
14144 "Password", HFILL }},
14145 { &hf_gsm_map_extension,
14146 { "Extension", "gsm_map.extension",
14147 FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
14148 "Extension", HFILL }},
14149 { &hf_gsm_map_nature_of_number,
14150 { "Nature of number", "gsm_map.nature_of_number",
14151 FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70,
14152 "ature of number", HFILL }},
14153 { &hf_gsm_map_number_plan,
14154 { "Number plan", "gsm_map.number_plan",
14155 FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f,
14156 "Number plan", HFILL }},
14157 { &hf_gsm_map_isdn_address_digits,
14158 { "ISDN Address digits", "gsm_map.isdn.adress.digits",
14159 FT_STRING, BASE_NONE, NULL, 0,
14160 "ISDN Address digits", HFILL }},
14161 { &hf_gsm_map_servicecentreaddress_digits,
14162 { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
14163 FT_STRING, BASE_NONE, NULL, 0,
14164 "ServiceCentreAddress digits", HFILL }},
14165 { &hf_gsm_map_imsi_digits,
14166 { "Imsi digits", "gsm_map.imsi_digits",
14167 FT_STRING, BASE_NONE, NULL, 0,
14168 "Imsi digits", HFILL }},
14169 { &hf_gsm_map_Ss_Status_unused,
14170 { "Unused", "gsm_map.unused",
14171 FT_UINT8, BASE_HEX, NULL, 0xf0,
14172 "Unused", HFILL }},
14173 { &hf_gsm_map_Ss_Status_q_bit,
14174 { "Q bit", "gsm_map.ss_status_q_bit",
14175 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
14177 { &hf_gsm_map_Ss_Status_p_bit,
14178 { "P bit", "gsm_map.ss_status_p_bit",
14179 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
14181 { &hf_gsm_map_Ss_Status_r_bit,
14182 { "R bit", "gsm_map.ss_status_r_bit",
14183 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
14185 { &hf_gsm_map_Ss_Status_a_bit,
14186 { "A bit", "gsm_map.ss_status_a_bit",
14187 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
14191 /*--- Included file: packet-gsm_map-hfarr.c ---*/
14193 { &hf_gsm_map_protocolId,
14194 { "protocolId", "gsm_map.protocolId",
14195 FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
14197 { &hf_gsm_map_signalInfo,
14198 { "signalInfo", "gsm_map.signalInfo",
14199 FT_BYTES, BASE_HEX, NULL, 0,
14201 { &hf_gsm_map_extensionContainer,
14202 { "extensionContainer", "gsm_map.extensionContainer",
14203 FT_NONE, BASE_NONE, NULL, 0,
14205 { &hf_gsm_map_imsi,
14206 { "imsi", "gsm_map.imsi",
14207 FT_BYTES, BASE_HEX, NULL, 0,
14209 { &hf_gsm_map_msc_Number,
14210 { "msc-Number", "gsm_map.msc_Number",
14211 FT_BYTES, BASE_HEX, NULL, 0,
14213 { &hf_gsm_map_vlr_Number,
14214 { "vlr-Number", "gsm_map.vlr_Number",
14215 FT_BYTES, BASE_HEX, NULL, 0,
14217 { &hf_gsm_map_lmsi,
14218 { "lmsi", "gsm_map.lmsi",
14219 FT_BYTES, BASE_HEX, NULL, 0,
14221 { &hf_gsm_map_vlr_Capability,
14222 { "vlr-Capability", "gsm_map.vlr_Capability",
14223 FT_NONE, BASE_NONE, NULL, 0,
14225 { &hf_gsm_map_informPreviousNetworkEntity,
14226 { "informPreviousNetworkEntity", "gsm_map.informPreviousNetworkEntity",
14227 FT_NONE, BASE_NONE, NULL, 0,
14229 { &hf_gsm_map_cs_LCS_NotSupportedByUE,
14230 { "cs-LCS-NotSupportedByUE", "gsm_map.cs_LCS_NotSupportedByUE",
14231 FT_NONE, BASE_NONE, NULL, 0,
14232 "UpdateLocationArg/cs-LCS-NotSupportedByUE", HFILL }},
14233 { &hf_gsm_map_v_gmlc_Address,
14234 { "v-gmlc-Address", "gsm_map.v_gmlc_Address",
14235 FT_BYTES, BASE_HEX, NULL, 0,
14237 { &hf_gsm_map_add_info,
14238 { "add-info", "gsm_map.add_info",
14239 FT_NONE, BASE_NONE, NULL, 0,
14241 { &hf_gsm_map_hlr_Number,
14242 { "hlr-Number", "gsm_map.hlr_Number",
14243 FT_BYTES, BASE_HEX, NULL, 0,
14245 { &hf_gsm_map_add_Capability,
14246 { "add-Capability", "gsm_map.add_Capability",
14247 FT_NONE, BASE_NONE, NULL, 0,
14249 { &hf_gsm_map_supportedCamelPhases,
14250 { "supportedCamelPhases", "gsm_map.supportedCamelPhases",
14251 FT_BYTES, BASE_HEX, NULL, 0,
14253 { &hf_gsm_map_solsaSupportIndicator,
14254 { "solsaSupportIndicator", "gsm_map.solsaSupportIndicator",
14255 FT_NONE, BASE_NONE, NULL, 0,
14257 { &hf_gsm_map_istSupportIndicator,
14258 { "istSupportIndicator", "gsm_map.istSupportIndicator",
14259 FT_UINT32, BASE_DEC, VALS(gsm_map_IST_SupportIndicator_vals), 0,
14261 { &hf_gsm_map_superChargerSupportedInServingNetworkEntity,
14262 { "superChargerSupportedInServingNetworkEntity", "gsm_map.superChargerSupportedInServingNetworkEntity",
14263 FT_UINT32, BASE_DEC, VALS(gsm_map_SuperChargerInfo_vals), 0,
14265 { &hf_gsm_map_longFTN_Supported,
14266 { "longFTN-Supported", "gsm_map.longFTN_Supported",
14267 FT_NONE, BASE_NONE, NULL, 0,
14269 { &hf_gsm_map_supportedLCS_CapabilitySets,
14270 { "supportedLCS-CapabilitySets", "gsm_map.supportedLCS_CapabilitySets",
14271 FT_BYTES, BASE_HEX, NULL, 0,
14273 { &hf_gsm_map_offeredCamel4CSIs,
14274 { "offeredCamel4CSIs", "gsm_map.offeredCamel4CSIs",
14275 FT_BYTES, BASE_HEX, NULL, 0,
14277 { &hf_gsm_map_sendSubscriberData,
14278 { "sendSubscriberData", "gsm_map.sendSubscriberData",
14279 FT_NONE, BASE_NONE, NULL, 0,
14280 "SuperChargerInfo/sendSubscriberData", HFILL }},
14281 { &hf_gsm_map_subscriberDataStored,
14282 { "subscriberDataStored", "gsm_map.subscriberDataStored",
14283 FT_BYTES, BASE_HEX, NULL, 0,
14284 "SuperChargerInfo/subscriberDataStored", HFILL }},
14285 { &hf_gsm_map_imeisv,
14286 { "imeisv", "gsm_map.imeisv",
14287 FT_BYTES, BASE_HEX, NULL, 0,
14289 { &hf_gsm_map_skipSubscriberDataUpdate,
14290 { "skipSubscriberDataUpdate", "gsm_map.skipSubscriberDataUpdate",
14291 FT_NONE, BASE_NONE, NULL, 0,
14292 "ADD-Info/skipSubscriberDataUpdate", HFILL }},
14293 { &hf_gsm_map_PrivateExtensionList_item,
14294 { "Item", "gsm_map.PrivateExtensionList_item",
14295 FT_NONE, BASE_NONE, NULL, 0,
14296 "PrivateExtensionList/_item", HFILL }},
14297 { &hf_gsm_map_extId,
14298 { "extId", "gsm_map.extId",
14299 FT_STRING, BASE_NONE, NULL, 0,
14300 "PrivateExtension/extId", HFILL }},
14301 { &hf_gsm_map_extType,
14302 { "extType", "gsm_map.extType",
14303 FT_NONE, BASE_NONE, NULL, 0,
14304 "PrivateExtension/extType", HFILL }},
14305 { &hf_gsm_map_privateExtensionList,
14306 { "privateExtensionList", "gsm_map.privateExtensionList",
14307 FT_NONE, BASE_NONE, NULL, 0,
14309 { &hf_gsm_map_slr_Arg_PCS_Extensions,
14310 { "slr-Arg-PCS-Extensions", "gsm_map.slr_Arg_PCS_Extensions",
14311 FT_NONE, BASE_NONE, NULL, 0,
14312 "SLR-ArgExtensionContainer/slr-Arg-PCS-Extensions", HFILL }},
14313 { &hf_gsm_map_na_ESRK_Request,
14314 { "na-ESRK-Request", "gsm_map.na_ESRK_Request",
14315 FT_NONE, BASE_NONE, NULL, 0,
14316 "SLR-Arg-PCS-Extensions/na-ESRK-Request", HFILL }},
14317 { &hf_gsm_map_identity,
14318 { "identity", "gsm_map.identity",
14319 FT_UINT32, BASE_DEC, VALS(gsm_map_Identity_vals), 0,
14320 "CancelLocationArg/identity", HFILL }},
14321 { &hf_gsm_map_cancellationType,
14322 { "cancellationType", "gsm_map.cancellationType",
14323 FT_UINT32, BASE_DEC, VALS(gsm_map_CancellationType_vals), 0,
14324 "CancelLocationArg/cancellationType", HFILL }},
14325 { &hf_gsm_map_sgsn_Number,
14326 { "sgsn-Number", "gsm_map.sgsn_Number",
14327 FT_BYTES, BASE_HEX, NULL, 0,
14329 { &hf_gsm_map_freezeTMSI,
14330 { "freezeTMSI", "gsm_map.freezeTMSI",
14331 FT_NONE, BASE_NONE, NULL, 0,
14332 "PurgeMSRes/freezeTMSI", HFILL }},
14333 { &hf_gsm_map_freezeP_TMSI,
14334 { "freezeP-TMSI", "gsm_map.freezeP_TMSI",
14335 FT_NONE, BASE_NONE, NULL, 0,
14336 "PurgeMSRes/freezeP-TMSI", HFILL }},
14337 { &hf_gsm_map_tmsi,
14338 { "tmsi", "gsm_map.tmsi",
14339 FT_BYTES, BASE_HEX, NULL, 0,
14341 { &hf_gsm_map_numberOfRequestedVectors,
14342 { "numberOfRequestedVectors", "gsm_map.numberOfRequestedVectors",
14343 FT_UINT32, BASE_DEC, NULL, 0,
14345 { &hf_gsm_map_segmentationProhibited,
14346 { "segmentationProhibited", "gsm_map.segmentationProhibited",
14347 FT_NONE, BASE_NONE, NULL, 0,
14349 { &hf_gsm_map_previous_LAI,
14350 { "previous-LAI", "gsm_map.previous_LAI",
14351 FT_BYTES, BASE_HEX, NULL, 0,
14352 "SendIdentificationArg/previous-LAI", HFILL }},
14353 { &hf_gsm_map_hopCounter,
14354 { "hopCounter", "gsm_map.hopCounter",
14355 FT_UINT32, BASE_DEC, NULL, 0,
14356 "SendIdentificationArg/hopCounter", HFILL }},
14357 { &hf_gsm_map_authenticationSetList,
14358 { "authenticationSetList", "gsm_map.authenticationSetList",
14359 FT_UINT32, BASE_DEC, VALS(gsm_map_AuthenticationSetList_vals), 0,
14361 { &hf_gsm_map_currentSecurityContext,
14362 { "currentSecurityContext", "gsm_map.currentSecurityContext",
14363 FT_UINT32, BASE_DEC, VALS(gsm_map_CurrentSecurityContext_vals), 0,
14364 "SendIdentificationRes/currentSecurityContext", HFILL }},
14365 { &hf_gsm_map_tripletList,
14366 { "tripletList", "gsm_map.tripletList",
14367 FT_NONE, BASE_NONE, NULL, 0,
14368 "AuthenticationSetList/tripletList", HFILL }},
14369 { &hf_gsm_map_quintupletList,
14370 { "quintupletList", "gsm_map.quintupletList",
14371 FT_NONE, BASE_NONE, NULL, 0,
14372 "AuthenticationSetList/quintupletList", HFILL }},
14373 { &hf_gsm_map_TripletList_item,
14374 { "Item", "gsm_map.TripletList_item",
14375 FT_NONE, BASE_NONE, NULL, 0,
14376 "TripletList/_item", HFILL }},
14377 { &hf_gsm_map_QuintupletList_item,
14378 { "Item", "gsm_map.QuintupletList_item",
14379 FT_NONE, BASE_NONE, NULL, 0,
14380 "QuintupletList/_item", HFILL }},
14381 { &hf_gsm_map_rand,
14382 { "rand", "gsm_map.rand",
14383 FT_BYTES, BASE_HEX, NULL, 0,
14385 { &hf_gsm_map_sres,
14386 { "sres", "gsm_map.sres",
14387 FT_BYTES, BASE_HEX, NULL, 0,
14390 { "kc", "gsm_map.kc",
14391 FT_BYTES, BASE_HEX, NULL, 0,
14393 { &hf_gsm_map_xres,
14394 { "xres", "gsm_map.xres",
14395 FT_BYTES, BASE_HEX, NULL, 0,
14396 "AuthenticationQuintuplet/xres", HFILL }},
14398 { "ck", "gsm_map.ck",
14399 FT_BYTES, BASE_HEX, NULL, 0,
14402 { "ik", "gsm_map.ik",
14403 FT_BYTES, BASE_HEX, NULL, 0,
14405 { &hf_gsm_map_autn,
14406 { "autn", "gsm_map.autn",
14407 FT_BYTES, BASE_HEX, NULL, 0,
14408 "AuthenticationQuintuplet/autn", HFILL }},
14409 { &hf_gsm_map_gsm_SecurityContextData,
14410 { "gsm-SecurityContextData", "gsm_map.gsm_SecurityContextData",
14411 FT_NONE, BASE_NONE, NULL, 0,
14412 "CurrentSecurityContext/gsm-SecurityContextData", HFILL }},
14413 { &hf_gsm_map_umts_SecurityContextData,
14414 { "umts-SecurityContextData", "gsm_map.umts_SecurityContextData",
14415 FT_NONE, BASE_NONE, NULL, 0,
14416 "CurrentSecurityContext/umts-SecurityContextData", HFILL }},
14417 { &hf_gsm_map_cksn,
14418 { "cksn", "gsm_map.cksn",
14419 FT_BYTES, BASE_HEX, NULL, 0,
14420 "GSM-SecurityContextData/cksn", HFILL }},
14422 { "ksi", "gsm_map.ksi",
14423 FT_BYTES, BASE_HEX, NULL, 0,
14424 "UMTS-SecurityContextData/ksi", HFILL }},
14425 { &hf_gsm_map_targetCellId,
14426 { "targetCellId", "gsm_map.targetCellId",
14427 FT_BYTES, BASE_HEX, NULL, 0,
14429 { &hf_gsm_map_ho_NumberNotRequired,
14430 { "ho-NumberNotRequired", "gsm_map.ho_NumberNotRequired",
14431 FT_NONE, BASE_NONE, NULL, 0,
14433 { &hf_gsm_map_bss_APDU,
14434 { "bss-APDU", "gsm_map.bss_APDU",
14435 FT_NONE, BASE_NONE, NULL, 0,
14437 { &hf_gsm_map_targetRNCId,
14438 { "targetRNCId", "gsm_map.targetRNCId",
14439 FT_BYTES, BASE_HEX, NULL, 0,
14441 { &hf_gsm_map_an_APDU,
14442 { "an-APDU", "gsm_map.an_APDU",
14443 FT_NONE, BASE_NONE, NULL, 0,
14445 { &hf_gsm_map_multipleBearerRequested,
14446 { "multipleBearerRequested", "gsm_map.multipleBearerRequested",
14447 FT_NONE, BASE_NONE, NULL, 0,
14448 "PrepareHO-ArgV3/multipleBearerRequested", HFILL }},
14449 { &hf_gsm_map_integrityProtectionInfo,
14450 { "integrityProtectionInfo", "gsm_map.integrityProtectionInfo",
14451 FT_BYTES, BASE_HEX, NULL, 0,
14453 { &hf_gsm_map_encryptionInfo,
14454 { "encryptionInfo", "gsm_map.encryptionInfo",
14455 FT_BYTES, BASE_HEX, NULL, 0,
14457 { &hf_gsm_map_radioResourceInformation,
14458 { "radioResourceInformation", "gsm_map.radioResourceInformation",
14459 FT_BYTES, BASE_HEX, NULL, 0,
14461 { &hf_gsm_map_allowedGSM_Algorithms,
14462 { "allowedGSM-Algorithms", "gsm_map.allowedGSM_Algorithms",
14463 FT_BYTES, BASE_HEX, NULL, 0,
14465 { &hf_gsm_map_allowedUMTS_Algorithms,
14466 { "allowedUMTS-Algorithms", "gsm_map.allowedUMTS_Algorithms",
14467 FT_NONE, BASE_NONE, NULL, 0,
14469 { &hf_gsm_map_radioResourceList,
14470 { "radioResourceList", "gsm_map.radioResourceList",
14471 FT_NONE, BASE_NONE, NULL, 0,
14473 { &hf_gsm_map_rab_Id,
14474 { "rab-Id", "gsm_map.rab_Id",
14475 FT_UINT32, BASE_DEC, NULL, 0,
14477 { &hf_gsm_map_bssmap_ServiceHandover,
14478 { "bssmap-ServiceHandover", "gsm_map.bssmap_ServiceHandover",
14479 FT_BYTES, BASE_HEX, NULL, 0,
14481 { &hf_gsm_map_ranap_ServiceHandover,
14482 { "ranap-ServiceHandover", "gsm_map.ranap_ServiceHandover",
14483 FT_BYTES, BASE_HEX, NULL, 0,
14485 { &hf_gsm_map_bssmap_ServiceHandoverList,
14486 { "bssmap-ServiceHandoverList", "gsm_map.bssmap_ServiceHandoverList",
14487 FT_NONE, BASE_NONE, NULL, 0,
14489 { &hf_gsm_map_asciCallReference,
14490 { "asciCallReference", "gsm_map.asciCallReference",
14491 FT_BYTES, BASE_HEX, NULL, 0,
14493 { &hf_gsm_map_geran_classmark,
14494 { "geran-classmark", "gsm_map.geran_classmark",
14495 FT_BYTES, BASE_HEX, NULL, 0,
14497 { &hf_gsm_map_iuCurrentlyUsedCodec,
14498 { "iuCurrentlyUsedCodec", "gsm_map.iuCurrentlyUsedCodec",
14499 FT_BYTES, BASE_HEX, NULL, 0,
14500 "PrepareHO-ArgV3/iuCurrentlyUsedCodec", HFILL }},
14501 { &hf_gsm_map_iuSupportedCodecsList,
14502 { "iuSupportedCodecsList", "gsm_map.iuSupportedCodecsList",
14503 FT_NONE, BASE_NONE, NULL, 0,
14505 { &hf_gsm_map_rab_ConfigurationIndicator,
14506 { "rab-ConfigurationIndicator", "gsm_map.rab_ConfigurationIndicator",
14507 FT_NONE, BASE_NONE, NULL, 0,
14509 { &hf_gsm_map_uesbi_Iu,
14510 { "uesbi-Iu", "gsm_map.uesbi_Iu",
14511 FT_NONE, BASE_NONE, NULL, 0,
14512 "PrepareHO-ArgV3/uesbi-Iu", HFILL }},
14513 { &hf_gsm_map_BSSMAP_ServiceHandoverList_item,
14514 { "Item", "gsm_map.BSSMAP_ServiceHandoverList_item",
14515 FT_NONE, BASE_NONE, NULL, 0,
14516 "BSSMAP-ServiceHandoverList/_item", HFILL }},
14517 { &hf_gsm_map_RadioResourceList_item,
14518 { "Item", "gsm_map.RadioResourceList_item",
14519 FT_NONE, BASE_NONE, NULL, 0,
14520 "RadioResourceList/_item", HFILL }},
14521 { &hf_gsm_map_handoverNumber,
14522 { "handoverNumber", "gsm_map.handoverNumber",
14523 FT_BYTES, BASE_HEX, NULL, 0,
14525 { &hf_gsm_map_relocationNumberList,
14526 { "relocationNumberList", "gsm_map.relocationNumberList",
14527 FT_NONE, BASE_NONE, NULL, 0,
14528 "PrepareHO-ResV3/relocationNumberList", HFILL }},
14529 { &hf_gsm_map_multicallBearerInfo,
14530 { "multicallBearerInfo", "gsm_map.multicallBearerInfo",
14531 FT_UINT32, BASE_DEC, NULL, 0,
14532 "PrepareHO-ResV3/multicallBearerInfo", HFILL }},
14533 { &hf_gsm_map_multipleBearerNotSupported,
14534 { "multipleBearerNotSupported", "gsm_map.multipleBearerNotSupported",
14535 FT_NONE, BASE_NONE, NULL, 0,
14536 "PrepareHO-ResV3/multipleBearerNotSupported", HFILL }},
14537 { &hf_gsm_map_selectedUMTS_Algorithms,
14538 { "selectedUMTS-Algorithms", "gsm_map.selectedUMTS_Algorithms",
14539 FT_NONE, BASE_NONE, NULL, 0,
14541 { &hf_gsm_map_chosenRadioResourceInformation,
14542 { "chosenRadioResourceInformation", "gsm_map.chosenRadioResourceInformation",
14543 FT_NONE, BASE_NONE, NULL, 0,
14545 { &hf_gsm_map_iuSelectedCodec,
14546 { "iuSelectedCodec", "gsm_map.iuSelectedCodec",
14547 FT_BYTES, BASE_HEX, NULL, 0,
14549 { &hf_gsm_map_iuAvailableCodecsList,
14550 { "iuAvailableCodecsList", "gsm_map.iuAvailableCodecsList",
14551 FT_NONE, BASE_NONE, NULL, 0,
14553 { &hf_gsm_map_integrityProtectionAlgorithm,
14554 { "integrityProtectionAlgorithm", "gsm_map.integrityProtectionAlgorithm",
14555 FT_BYTES, BASE_HEX, NULL, 0,
14556 "SelectedUMTS-Algorithms/integrityProtectionAlgorithm", HFILL }},
14557 { &hf_gsm_map_encryptionAlgorithm,
14558 { "encryptionAlgorithm", "gsm_map.encryptionAlgorithm",
14559 FT_BYTES, BASE_HEX, NULL, 0,
14560 "SelectedUMTS-Algorithms/encryptionAlgorithm", HFILL }},
14561 { &hf_gsm_map_chosenChannelInfo,
14562 { "chosenChannelInfo", "gsm_map.chosenChannelInfo",
14563 FT_BYTES, BASE_HEX, NULL, 0,
14564 "ChosenRadioResourceInformation/chosenChannelInfo", HFILL }},
14565 { &hf_gsm_map_chosenSpeechVersion,
14566 { "chosenSpeechVersion", "gsm_map.chosenSpeechVersion",
14567 FT_BYTES, BASE_HEX, NULL, 0,
14568 "ChosenRadioResourceInformation/chosenSpeechVersion", HFILL }},
14569 { &hf_gsm_map_RelocationNumberList_item,
14570 { "Item", "gsm_map.RelocationNumberList_item",
14571 FT_NONE, BASE_NONE, NULL, 0,
14572 "RelocationNumberList/_item", HFILL }},
14573 { &hf_gsm_map_selectedGSM_Algorithm,
14574 { "selectedGSM-Algorithm", "gsm_map.selectedGSM_Algorithm",
14575 FT_BYTES, BASE_HEX, NULL, 0,
14576 "ProcessAccessSignallingArgV3/selectedGSM-Algorithm", HFILL }},
14577 { &hf_gsm_map_selectedRab_Id,
14578 { "selectedRab-Id", "gsm_map.selectedRab_Id",
14579 FT_UINT32, BASE_DEC, NULL, 0,
14581 { &hf_gsm_map_iUSelectedCodec,
14582 { "iUSelectedCodec", "gsm_map.iUSelectedCodec",
14583 FT_BYTES, BASE_HEX, NULL, 0,
14584 "ProcessAccessSignallingArgV3/iUSelectedCodec", HFILL }},
14585 { &hf_gsm_map_utranCodecList,
14586 { "utranCodecList", "gsm_map.utranCodecList",
14587 FT_NONE, BASE_NONE, NULL, 0,
14588 "SupportedCodecsList/utranCodecList", HFILL }},
14589 { &hf_gsm_map_geranCodecList,
14590 { "geranCodecList", "gsm_map.geranCodecList",
14591 FT_NONE, BASE_NONE, NULL, 0,
14592 "SupportedCodecsList/geranCodecList", HFILL }},
14593 { &hf_gsm_map_codec1,
14594 { "codec1", "gsm_map.codec1",
14595 FT_BYTES, BASE_HEX, NULL, 0,
14596 "CodecList/codec1", HFILL }},
14597 { &hf_gsm_map_codec2,
14598 { "codec2", "gsm_map.codec2",
14599 FT_BYTES, BASE_HEX, NULL, 0,
14600 "CodecList/codec2", HFILL }},
14601 { &hf_gsm_map_codec3,
14602 { "codec3", "gsm_map.codec3",
14603 FT_BYTES, BASE_HEX, NULL, 0,
14604 "CodecList/codec3", HFILL }},
14605 { &hf_gsm_map_codec4,
14606 { "codec4", "gsm_map.codec4",
14607 FT_BYTES, BASE_HEX, NULL, 0,
14608 "CodecList/codec4", HFILL }},
14609 { &hf_gsm_map_codec5,
14610 { "codec5", "gsm_map.codec5",
14611 FT_BYTES, BASE_HEX, NULL, 0,
14612 "CodecList/codec5", HFILL }},
14613 { &hf_gsm_map_codec6,
14614 { "codec6", "gsm_map.codec6",
14615 FT_BYTES, BASE_HEX, NULL, 0,
14616 "CodecList/codec6", HFILL }},
14617 { &hf_gsm_map_codec7,
14618 { "codec7", "gsm_map.codec7",
14619 FT_BYTES, BASE_HEX, NULL, 0,
14620 "CodecList/codec7", HFILL }},
14621 { &hf_gsm_map_codec8,
14622 { "codec8", "gsm_map.codec8",
14623 FT_BYTES, BASE_HEX, NULL, 0,
14624 "CodecList/codec8", HFILL }},
14625 { &hf_gsm_map_keyStatus,
14626 { "keyStatus", "gsm_map.keyStatus",
14627 FT_UINT32, BASE_DEC, VALS(gsm_map_KeyStatus_vals), 0,
14628 "ForwardAccessSignallingArgV3/keyStatus", HFILL }},
14629 { &hf_gsm_map_currentlyUsedCodec,
14630 { "currentlyUsedCodec", "gsm_map.currentlyUsedCodec",
14631 FT_BYTES, BASE_HEX, NULL, 0,
14632 "ForwardAccessSignallingArgV3/currentlyUsedCodec", HFILL }},
14633 { &hf_gsm_map_integrityProtectionAlgorithms,
14634 { "integrityProtectionAlgorithms", "gsm_map.integrityProtectionAlgorithms",
14635 FT_BYTES, BASE_HEX, NULL, 0,
14636 "AllowedUMTS-Algorithms/integrityProtectionAlgorithms", HFILL }},
14637 { &hf_gsm_map_encryptionAlgorithms,
14638 { "encryptionAlgorithms", "gsm_map.encryptionAlgorithms",
14639 FT_BYTES, BASE_HEX, NULL, 0,
14640 "AllowedUMTS-Algorithms/encryptionAlgorithms", HFILL }},
14641 { &hf_gsm_map_targetMSC_Number,
14642 { "targetMSC-Number", "gsm_map.targetMSC_Number",
14643 FT_BYTES, BASE_HEX, NULL, 0,
14645 { &hf_gsm_map_immediateResponsePreferred,
14646 { "immediateResponsePreferred", "gsm_map.immediateResponsePreferred",
14647 FT_NONE, BASE_NONE, NULL, 0,
14648 "SendAuthenticationInfoArgV2/immediateResponsePreferred", HFILL }},
14649 { &hf_gsm_map_re_synchronisationInfo,
14650 { "re-synchronisationInfo", "gsm_map.re_synchronisationInfo",
14651 FT_NONE, BASE_NONE, NULL, 0,
14652 "SendAuthenticationInfoArgV2/re-synchronisationInfo", HFILL }},
14653 { &hf_gsm_map_requestingNodeType,
14654 { "requestingNodeType", "gsm_map.requestingNodeType",
14655 FT_UINT32, BASE_DEC, VALS(gsm_map_RequestingNodeType_vals), 0,
14656 "SendAuthenticationInfoArgV2/requestingNodeType", HFILL }},
14657 { &hf_gsm_map_requestingPLMN_Id,
14658 { "requestingPLMN-Id", "gsm_map.requestingPLMN_Id",
14659 FT_BYTES, BASE_HEX, NULL, 0,
14660 "SendAuthenticationInfoArgV2/requestingPLMN-Id", HFILL }},
14661 { &hf_gsm_map_SendAuthenticationInfoRes_item,
14662 { "Item", "gsm_map.SendAuthenticationInfoRes_item",
14663 FT_NONE, BASE_NONE, NULL, 0,
14664 "SendAuthenticationInfoRes/_item", HFILL }},
14665 { &hf_gsm_map_auts,
14666 { "auts", "gsm_map.auts",
14667 FT_BYTES, BASE_HEX, NULL, 0,
14668 "Re-synchronisationInfo/auts", HFILL }},
14669 { &hf_gsm_map_imei,
14670 { "imei", "gsm_map.imei",
14671 FT_BYTES, BASE_HEX, NULL, 0,
14673 { &hf_gsm_map_requestedEquipmentInfo,
14674 { "requestedEquipmentInfo", "gsm_map.requestedEquipmentInfo",
14675 FT_BYTES, BASE_HEX, NULL, 0,
14676 "CheckIMEIArgV2/requestedEquipmentInfo", HFILL }},
14677 { &hf_gsm_map_equipmentStatus,
14678 { "equipmentStatus", "gsm_map.equipmentStatus",
14679 FT_UINT32, BASE_DEC, VALS(gsm_map_EquipmentStatus_vals), 0,
14680 "CheckIMEIRes/equipmentStatus", HFILL }},
14681 { &hf_gsm_map_bmuef,
14682 { "bmuef", "gsm_map.bmuef",
14683 FT_NONE, BASE_NONE, NULL, 0,
14684 "CheckIMEIRes/bmuef", HFILL }},
14685 { &hf_gsm_map_uesbi_IuA,
14686 { "uesbi-IuA", "gsm_map.uesbi_IuA",
14687 FT_BYTES, BASE_HEX, NULL, 0,
14688 "UESBI-Iu/uesbi-IuA", HFILL }},
14689 { &hf_gsm_map_uesbi_IuB,
14690 { "uesbi-IuB", "gsm_map.uesbi_IuB",
14691 FT_BYTES, BASE_HEX, NULL, 0,
14692 "UESBI-Iu/uesbi-IuB", HFILL }},
14693 { &hf_gsm_map_bearerservice,
14694 { "bearerservice", "gsm_map.bearerservice",
14695 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
14696 "BasicService/bearerservice", HFILL }},
14697 { &hf_gsm_map_teleservice,
14698 { "teleservice", "gsm_map.teleservice",
14699 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
14700 "BasicService/teleservice", HFILL }},
14701 { &hf_gsm_map_BasicServiceGroupList_item,
14702 { "Item", "gsm_map.BasicServiceGroupList_item",
14703 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
14704 "BasicServiceGroupList/_item", HFILL }},
14705 { &hf_gsm_map_bcsmTriggerDetectionPoint,
14706 { "bcsmTriggerDetectionPoint", "gsm_map.bcsmTriggerDetectionPoint",
14707 FT_UINT32, BASE_DEC, VALS(gsm_map_BcsmTriggerDetectionPoint_vals), 0,
14708 "BcsmCamelTDPData/bcsmTriggerDetectionPoint", HFILL }},
14709 { &hf_gsm_map_serviceKey,
14710 { "serviceKey", "gsm_map.serviceKey",
14711 FT_UINT32, BASE_DEC, NULL, 0,
14713 { &hf_gsm_map_gsmSCFAddress,
14714 { "gsmSCFAddress", "gsm_map.gsmSCFAddress",
14715 FT_BYTES, BASE_HEX, NULL, 0,
14716 "BcsmCamelTDPData/gsmSCFAddress", HFILL }},
14717 { &hf_gsm_map_defaultCallHandling,
14718 { "defaultCallHandling", "gsm_map.defaultCallHandling",
14719 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultCallHandling_vals), 0,
14721 { &hf_gsm_map_BcsmCamelTDPDataList_item,
14722 { "Item", "gsm_map.BcsmCamelTDPDataList_item",
14723 FT_NONE, BASE_NONE, NULL, 0,
14724 "BcsmCamelTDPDataList/_item", HFILL }},
14725 { &hf_gsm_map_o_BcsmCamelTDPDataList,
14726 { "o-BcsmCamelTDPDataList", "gsm_map.o_BcsmCamelTDPDataList",
14727 FT_NONE, BASE_NONE, NULL, 0,
14728 "O-CSI/o-BcsmCamelTDPDataList", HFILL }},
14729 { &hf_gsm_map_camelCapabilityHandling,
14730 { "camelCapabilityHandling", "gsm_map.camelCapabilityHandling",
14731 FT_UINT32, BASE_DEC, NULL, 0,
14733 { &hf_gsm_map_notificationToCSE,
14734 { "notificationToCSE", "gsm_map.notificationToCSE",
14735 FT_NONE, BASE_NONE, NULL, 0,
14737 { &hf_gsm_map_csiActive,
14738 { "csiActive", "gsm_map.csiActive",
14739 FT_NONE, BASE_NONE, NULL, 0,
14740 "O-CSI/csiActive", HFILL }},
14741 { &hf_gsm_map_O_BcsmCamelTDPDataList_item,
14742 { "Item", "gsm_map.O_BcsmCamelTDPDataList_item",
14743 FT_NONE, BASE_NONE, NULL, 0,
14744 "O-BcsmCamelTDPDataList/_item", HFILL }},
14745 { &hf_gsm_map_o_BcsmTriggerDetectionPoint,
14746 { "o-BcsmTriggerDetectionPoint", "gsm_map.o_BcsmTriggerDetectionPoint",
14747 FT_UINT32, BASE_DEC, VALS(gsm_map_O_BcsmTriggerDetectionPoint_vals), 0,
14749 { &hf_gsm_map_gsmSCF_Address,
14750 { "gsmSCF-Address", "gsm_map.gsmSCF_Address",
14751 FT_BYTES, BASE_HEX, NULL, 0,
14753 { &hf_gsm_map_msisdn,
14754 { "msisdn", "gsm_map.msisdn",
14755 FT_BYTES, BASE_HEX, NULL, 0,
14757 { &hf_gsm_map_category,
14758 { "category", "gsm_map.category",
14759 FT_BYTES, BASE_HEX, NULL, 0,
14760 "InsertSubscriberDataArg/category", HFILL }},
14761 { &hf_gsm_map_subscriberStatus,
14762 { "subscriberStatus", "gsm_map.subscriberStatus",
14763 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberStatus_vals), 0,
14764 "InsertSubscriberDataArg/subscriberStatus", HFILL }},
14765 { &hf_gsm_map_bearerserviceList,
14766 { "bearerserviceList", "gsm_map.bearerserviceList",
14767 FT_NONE, BASE_NONE, NULL, 0,
14768 "InsertSubscriberDataArg/bearerserviceList", HFILL }},
14769 { &hf_gsm_map_teleserviceList,
14770 { "teleserviceList", "gsm_map.teleserviceList",
14771 FT_NONE, BASE_NONE, NULL, 0,
14773 { &hf_gsm_map_provisionedSS,
14774 { "provisionedSS", "gsm_map.provisionedSS",
14775 FT_NONE, BASE_NONE, NULL, 0,
14776 "InsertSubscriberDataArg/provisionedSS", HFILL }},
14777 { &hf_gsm_map_odb_Data,
14778 { "odb-Data", "gsm_map.odb_Data",
14779 FT_NONE, BASE_NONE, NULL, 0,
14781 { &hf_gsm_map_roamingRestrictionDueToUnsupportedFeature,
14782 { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.roamingRestrictionDueToUnsupportedFeature",
14783 FT_NONE, BASE_NONE, NULL, 0,
14785 { &hf_gsm_map_regionalSubscriptionData,
14786 { "regionalSubscriptionData", "gsm_map.regionalSubscriptionData",
14787 FT_NONE, BASE_NONE, NULL, 0,
14788 "InsertSubscriberDataArg/regionalSubscriptionData", HFILL }},
14789 { &hf_gsm_map_vbsSubscriptionData,
14790 { "vbsSubscriptionData", "gsm_map.vbsSubscriptionData",
14791 FT_NONE, BASE_NONE, NULL, 0,
14792 "InsertSubscriberDataArg/vbsSubscriptionData", HFILL }},
14793 { &hf_gsm_map_vgcsSubscriptionData,
14794 { "vgcsSubscriptionData", "gsm_map.vgcsSubscriptionData",
14795 FT_NONE, BASE_NONE, NULL, 0,
14796 "InsertSubscriberDataArg/vgcsSubscriptionData", HFILL }},
14797 { &hf_gsm_map_vlrCamelSubscriptionInfo,
14798 { "vlrCamelSubscriptionInfo", "gsm_map.vlrCamelSubscriptionInfo",
14799 FT_NONE, BASE_NONE, NULL, 0,
14800 "InsertSubscriberDataArg/vlrCamelSubscriptionInfo", HFILL }},
14801 { &hf_gsm_map_naea_PreferredCI,
14802 { "naea-PreferredCI", "gsm_map.naea_PreferredCI",
14803 FT_NONE, BASE_NONE, NULL, 0,
14805 { &hf_gsm_map_gprsSubscriptionData,
14806 { "gprsSubscriptionData", "gsm_map.gprsSubscriptionData",
14807 FT_NONE, BASE_NONE, NULL, 0,
14808 "InsertSubscriberDataArg/gprsSubscriptionData", HFILL }},
14809 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature,
14810 { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsupportedFeature",
14811 FT_NONE, BASE_NONE, NULL, 0,
14812 "InsertSubscriberDataArg/roamingRestrictedInSgsnDueToUnsupportedFeature", HFILL }},
14813 { &hf_gsm_map_networkAccessMode,
14814 { "networkAccessMode", "gsm_map.networkAccessMode",
14815 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkAccessMode_vals), 0,
14816 "InsertSubscriberDataArg/networkAccessMode", HFILL }},
14817 { &hf_gsm_map_lsaInformation,
14818 { "lsaInformation", "gsm_map.lsaInformation",
14819 FT_NONE, BASE_NONE, NULL, 0,
14820 "InsertSubscriberDataArg/lsaInformation", HFILL }},
14821 { &hf_gsm_map_lmu_Indicator,
14822 { "lmu-Indicator", "gsm_map.lmu_Indicator",
14823 FT_NONE, BASE_NONE, NULL, 0,
14824 "InsertSubscriberDataArg/lmu-Indicator", HFILL }},
14825 { &hf_gsm_map_lcsInformation,
14826 { "lcsInformation", "gsm_map.lcsInformation",
14827 FT_NONE, BASE_NONE, NULL, 0,
14828 "InsertSubscriberDataArg/lcsInformation", HFILL }},
14829 { &hf_gsm_map_istAlertTimer,
14830 { "istAlertTimer", "gsm_map.istAlertTimer",
14831 FT_UINT32, BASE_DEC, NULL, 0,
14833 { &hf_gsm_map_superChargerSupportedInHLR,
14834 { "superChargerSupportedInHLR", "gsm_map.superChargerSupportedInHLR",
14835 FT_BYTES, BASE_HEX, NULL, 0,
14836 "InsertSubscriberDataArg/superChargerSupportedInHLR", HFILL }},
14837 { &hf_gsm_map_mc_SS_Info,
14838 { "mc-SS-Info", "gsm_map.mc_SS_Info",
14839 FT_NONE, BASE_NONE, NULL, 0,
14840 "InsertSubscriberDataArg/mc-SS-Info", HFILL }},
14841 { &hf_gsm_map_cs_AllocationRetentionPriority,
14842 { "cs-AllocationRetentionPriority", "gsm_map.cs_AllocationRetentionPriority",
14843 FT_BYTES, BASE_HEX, NULL, 0,
14844 "InsertSubscriberDataArg/cs-AllocationRetentionPriority", HFILL }},
14845 { &hf_gsm_map_sgsn_CAMEL_SubscriptionInfo,
14846 { "sgsn-CAMEL-SubscriptionInfo", "gsm_map.sgsn_CAMEL_SubscriptionInfo",
14847 FT_NONE, BASE_NONE, NULL, 0,
14848 "InsertSubscriberDataArg/sgsn-CAMEL-SubscriptionInfo", HFILL }},
14849 { &hf_gsm_map_chargingCharacteristics,
14850 { "chargingCharacteristics", "gsm_map.chargingCharacteristics",
14851 FT_BYTES, BASE_HEX, NULL, 0,
14853 { &hf_gsm_map_accessRestrictionData,
14854 { "accessRestrictionData", "gsm_map.accessRestrictionData",
14855 FT_BYTES, BASE_HEX, NULL, 0,
14856 "InsertSubscriberDataArg/accessRestrictionData", HFILL }},
14857 { &hf_gsm_map_gmlc_List,
14858 { "gmlc-List", "gsm_map.gmlc_List",
14859 FT_NONE, BASE_NONE, NULL, 0,
14860 "LCSInformation/gmlc-List", HFILL }},
14861 { &hf_gsm_map_lcs_PrivacyExceptionList,
14862 { "lcs-PrivacyExceptionList", "gsm_map.lcs_PrivacyExceptionList",
14863 FT_NONE, BASE_NONE, NULL, 0,
14864 "LCSInformation/lcs-PrivacyExceptionList", HFILL }},
14865 { &hf_gsm_map_molr_List,
14866 { "molr-List", "gsm_map.molr_List",
14867 FT_NONE, BASE_NONE, NULL, 0,
14868 "LCSInformation/molr-List", HFILL }},
14869 { &hf_gsm_map_add_lcs_PrivacyExceptionList,
14870 { "add-lcs-PrivacyExceptionList", "gsm_map.add_lcs_PrivacyExceptionList",
14871 FT_NONE, BASE_NONE, NULL, 0,
14872 "LCSInformation/add-lcs-PrivacyExceptionList", HFILL }},
14873 { &hf_gsm_map_GMLC_List_item,
14874 { "Item", "gsm_map.GMLC_List_item",
14875 FT_BYTES, BASE_HEX, NULL, 0,
14876 "GMLC-List/_item", HFILL }},
14877 { &hf_gsm_map_GPRSDataList_item,
14878 { "Item", "gsm_map.GPRSDataList_item",
14879 FT_NONE, BASE_NONE, NULL, 0,
14880 "GPRSDataList/_item", HFILL }},
14881 { &hf_gsm_map_pdp_ContextId,
14882 { "pdp-ContextId", "gsm_map.pdp_ContextId",
14883 FT_UINT32, BASE_DEC, NULL, 0,
14884 "PDP-Context/pdp-ContextId", HFILL }},
14885 { &hf_gsm_map_pdp_Type,
14886 { "pdp-Type", "gsm_map.pdp_Type",
14887 FT_BYTES, BASE_HEX, NULL, 0,
14889 { &hf_gsm_map_pdp_Address,
14890 { "pdp-Address", "gsm_map.pdp_Address",
14891 FT_BYTES, BASE_HEX, NULL, 0,
14893 { &hf_gsm_map_qos_Subscribed,
14894 { "qos-Subscribed", "gsm_map.qos_Subscribed",
14895 FT_BYTES, BASE_HEX, NULL, 0,
14896 "PDP-Context/qos-Subscribed", HFILL }},
14897 { &hf_gsm_map_vplmnAddressAllowed,
14898 { "vplmnAddressAllowed", "gsm_map.vplmnAddressAllowed",
14899 FT_NONE, BASE_NONE, NULL, 0,
14900 "PDP-Context/vplmnAddressAllowed", HFILL }},
14902 { "apn", "gsm_map.apn",
14903 FT_BYTES, BASE_HEX, NULL, 0,
14904 "PDP-Context/apn", HFILL }},
14905 { &hf_gsm_map_ext_QoS_Subscribed,
14906 { "ext-QoS-Subscribed", "gsm_map.ext_QoS_Subscribed",
14907 FT_BYTES, BASE_HEX, NULL, 0,
14908 "PDP-Context/ext-QoS-Subscribed", HFILL }},
14909 { &hf_gsm_map_pdp_ChargingCharacteristics,
14910 { "pdp-ChargingCharacteristics", "gsm_map.pdp_ChargingCharacteristics",
14911 FT_BYTES, BASE_HEX, NULL, 0,
14912 "PDP-Context/pdp-ChargingCharacteristics", HFILL }},
14913 { &hf_gsm_map_ext2_QoS_Subscribed,
14914 { "ext2-QoS-Subscribed", "gsm_map.ext2_QoS_Subscribed",
14915 FT_BYTES, BASE_HEX, NULL, 0,
14916 "PDP-Context/ext2-QoS-Subscribed", HFILL }},
14917 { &hf_gsm_map_completeDataListIncluded,
14918 { "completeDataListIncluded", "gsm_map.completeDataListIncluded",
14919 FT_NONE, BASE_NONE, NULL, 0,
14921 { &hf_gsm_map_gprsDataList,
14922 { "gprsDataList", "gsm_map.gprsDataList",
14923 FT_NONE, BASE_NONE, NULL, 0,
14924 "GPRSSubscriptionData/gprsDataList", HFILL }},
14925 { &hf_gsm_map_gprs_CSI,
14926 { "gprs-CSI", "gsm_map.gprs_CSI",
14927 FT_NONE, BASE_NONE, NULL, 0,
14929 { &hf_gsm_map_mo_sms_CSI,
14930 { "mo-sms-CSI", "gsm_map.mo_sms_CSI",
14931 FT_NONE, BASE_NONE, NULL, 0,
14933 { &hf_gsm_map_mt_sms_CSI,
14934 { "mt-sms-CSI", "gsm_map.mt_sms_CSI",
14935 FT_NONE, BASE_NONE, NULL, 0,
14937 { &hf_gsm_map_mt_smsCAMELTDP_CriteriaList,
14938 { "mt-smsCAMELTDP-CriteriaList", "gsm_map.mt_smsCAMELTDP_CriteriaList",
14939 FT_NONE, BASE_NONE, NULL, 0,
14941 { &hf_gsm_map_mg_csi,
14942 { "mg-csi", "gsm_map.mg_csi",
14943 FT_NONE, BASE_NONE, NULL, 0,
14945 { &hf_gsm_map_gprs_CamelTDPDataList,
14946 { "gprs-CamelTDPDataList", "gsm_map.gprs_CamelTDPDataList",
14947 FT_NONE, BASE_NONE, NULL, 0,
14948 "GPRS-CSI/gprs-CamelTDPDataList", HFILL }},
14949 { &hf_gsm_map_csi_Active,
14950 { "csi-Active", "gsm_map.csi_Active",
14951 FT_NONE, BASE_NONE, NULL, 0,
14953 { &hf_gsm_map_GPRS_CamelTDPDataList_item,
14954 { "Item", "gsm_map.GPRS_CamelTDPDataList_item",
14955 FT_NONE, BASE_NONE, NULL, 0,
14956 "GPRS-CamelTDPDataList/_item", HFILL }},
14957 { &hf_gsm_map_gprs_TriggerDetectionPoint,
14958 { "gprs-TriggerDetectionPoint", "gsm_map.gprs_TriggerDetectionPoint",
14959 FT_UINT32, BASE_DEC, VALS(gsm_map_GPRS_TriggerDetectionPoint_vals), 0,
14960 "GPRS-CamelTDPData/gprs-TriggerDetectionPoint", HFILL }},
14961 { &hf_gsm_map_defaultSessionHandling,
14962 { "defaultSessionHandling", "gsm_map.defaultSessionHandling",
14963 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultGPRS_Handling_vals), 0,
14964 "GPRS-CamelTDPData/defaultSessionHandling", HFILL }},
14965 { &hf_gsm_map_LSADataList_item,
14966 { "Item", "gsm_map.LSADataList_item",
14967 FT_NONE, BASE_NONE, NULL, 0,
14968 "LSADataList/_item", HFILL }},
14969 { &hf_gsm_map_lsaIdentity,
14970 { "lsaIdentity", "gsm_map.lsaIdentity",
14971 FT_BYTES, BASE_HEX, NULL, 0,
14972 "LSAData/lsaIdentity", HFILL }},
14973 { &hf_gsm_map_lsaAttributes,
14974 { "lsaAttributes", "gsm_map.lsaAttributes",
14975 FT_BYTES, BASE_HEX, NULL, 0,
14976 "LSAData/lsaAttributes", HFILL }},
14977 { &hf_gsm_map_lsaActiveModeIndicator,
14978 { "lsaActiveModeIndicator", "gsm_map.lsaActiveModeIndicator",
14979 FT_NONE, BASE_NONE, NULL, 0,
14980 "LSAData/lsaActiveModeIndicator", HFILL }},
14981 { &hf_gsm_map_lsaOnlyAccessIndicator,
14982 { "lsaOnlyAccessIndicator", "gsm_map.lsaOnlyAccessIndicator",
14983 FT_UINT32, BASE_DEC, VALS(gsm_map_LSAOnlyAccessIndicator_vals), 0,
14984 "LSAInformation/lsaOnlyAccessIndicator", HFILL }},
14985 { &hf_gsm_map_lsaDataList,
14986 { "lsaDataList", "gsm_map.lsaDataList",
14987 FT_NONE, BASE_NONE, NULL, 0,
14988 "LSAInformation/lsaDataList", HFILL }},
14989 { &hf_gsm_map_bearerServiceList,
14990 { "bearerServiceList", "gsm_map.bearerServiceList",
14991 FT_NONE, BASE_NONE, NULL, 0,
14992 "InsertSubscriberDataRes/bearerServiceList", HFILL }},
14993 { &hf_gsm_map_ss_List,
14994 { "ss-List", "gsm_map.ss_List",
14995 FT_NONE, BASE_NONE, NULL, 0,
14997 { &hf_gsm_map_odb_GeneralData,
14998 { "odb-GeneralData", "gsm_map.odb_GeneralData",
14999 FT_BYTES, BASE_HEX, NULL, 0,
15001 { &hf_gsm_map_regionalSubscriptionResponse,
15002 { "regionalSubscriptionResponse", "gsm_map.regionalSubscriptionResponse",
15003 FT_UINT32, BASE_DEC, VALS(gsm_map_RegionalSubscriptionResponse_vals), 0,
15005 { &hf_gsm_map_basicServiceList,
15006 { "basicServiceList", "gsm_map.basicServiceList",
15007 FT_NONE, BASE_NONE, NULL, 0,
15008 "DeleteSubscriberDataArg/basicServiceList", HFILL }},
15009 { &hf_gsm_map_regionalSubscriptionIdentifier,
15010 { "regionalSubscriptionIdentifier", "gsm_map.regionalSubscriptionIdentifier",
15011 FT_BYTES, BASE_HEX, NULL, 0,
15012 "DeleteSubscriberDataArg/regionalSubscriptionIdentifier", HFILL }},
15013 { &hf_gsm_map_vbsGroupIndication,
15014 { "vbsGroupIndication", "gsm_map.vbsGroupIndication",
15015 FT_NONE, BASE_NONE, NULL, 0,
15016 "DeleteSubscriberDataArg/vbsGroupIndication", HFILL }},
15017 { &hf_gsm_map_vgcsGroupIndication,
15018 { "vgcsGroupIndication", "gsm_map.vgcsGroupIndication",
15019 FT_NONE, BASE_NONE, NULL, 0,
15020 "DeleteSubscriberDataArg/vgcsGroupIndication", HFILL }},
15021 { &hf_gsm_map_camelSubscriptionInfoWithdraw,
15022 { "camelSubscriptionInfoWithdraw", "gsm_map.camelSubscriptionInfoWithdraw",
15023 FT_NONE, BASE_NONE, NULL, 0,
15024 "DeleteSubscriberDataArg/camelSubscriptionInfoWithdraw", HFILL }},
15025 { &hf_gsm_map_gprsSubscriptionDataWithdraw,
15026 { "gprsSubscriptionDataWithdraw", "gsm_map.gprsSubscriptionDataWithdraw",
15027 FT_UINT32, BASE_DEC, VALS(gsm_map_GPRSSubscriptionDataWithdraw_vals), 0,
15028 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw", HFILL }},
15029 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature,
15030 { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsuppportedFeature",
15031 FT_NONE, BASE_NONE, NULL, 0,
15032 "DeleteSubscriberDataArg/roamingRestrictedInSgsnDueToUnsuppportedFeature", HFILL }},
15033 { &hf_gsm_map_lsaInformationWithdraw,
15034 { "lsaInformationWithdraw", "gsm_map.lsaInformationWithdraw",
15035 FT_UINT32, BASE_DEC, VALS(gsm_map_LSAInformationWithdraw_vals), 0,
15036 "DeleteSubscriberDataArg/lsaInformationWithdraw", HFILL }},
15037 { &hf_gsm_map_gmlc_ListWithdraw,
15038 { "gmlc-ListWithdraw", "gsm_map.gmlc_ListWithdraw",
15039 FT_NONE, BASE_NONE, NULL, 0,
15040 "DeleteSubscriberDataArg/gmlc-ListWithdraw", HFILL }},
15041 { &hf_gsm_map_istInformationWithdraw,
15042 { "istInformationWithdraw", "gsm_map.istInformationWithdraw",
15043 FT_NONE, BASE_NONE, NULL, 0,
15045 { &hf_gsm_map_specificCSI_Withdraw,
15046 { "specificCSI-Withdraw", "gsm_map.specificCSI_Withdraw",
15047 FT_BYTES, BASE_HEX, NULL, 0,
15048 "DeleteSubscriberDataArg/specificCSI-Withdraw", HFILL }},
15049 { &hf_gsm_map_chargingCharacteristicsWithdraw,
15050 { "chargingCharacteristicsWithdraw", "gsm_map.chargingCharacteristicsWithdraw",
15051 FT_NONE, BASE_NONE, NULL, 0,
15052 "DeleteSubscriberDataArg/chargingCharacteristicsWithdraw", HFILL }},
15053 { &hf_gsm_map_allGPRSData,
15054 { "allGPRSData", "gsm_map.allGPRSData",
15055 FT_NONE, BASE_NONE, NULL, 0,
15056 "GPRSSubscriptionDataWithdraw/allGPRSData", HFILL }},
15057 { &hf_gsm_map_contextIdList,
15058 { "contextIdList", "gsm_map.contextIdList",
15059 FT_NONE, BASE_NONE, NULL, 0,
15060 "GPRSSubscriptionDataWithdraw/contextIdList", HFILL }},
15061 { &hf_gsm_map_ContextIdList_item,
15062 { "Item", "gsm_map.ContextIdList_item",
15063 FT_UINT32, BASE_DEC, NULL, 0,
15064 "ContextIdList/_item", HFILL }},
15065 { &hf_gsm_map_allLSAData,
15066 { "allLSAData", "gsm_map.allLSAData",
15067 FT_NONE, BASE_NONE, NULL, 0,
15068 "LSAInformationWithdraw/allLSAData", HFILL }},
15069 { &hf_gsm_map_lsaIdentityList,
15070 { "lsaIdentityList", "gsm_map.lsaIdentityList",
15071 FT_NONE, BASE_NONE, NULL, 0,
15072 "LSAInformationWithdraw/lsaIdentityList", HFILL }},
15073 { &hf_gsm_map_LSAIdentityList_item,
15074 { "Item", "gsm_map.LSAIdentityList_item",
15075 FT_BYTES, BASE_HEX, NULL, 0,
15076 "LSAIdentityList/_item", HFILL }},
15077 { &hf_gsm_map_BasicServiceList_item,
15078 { "Item", "gsm_map.BasicServiceList_item",
15079 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
15080 "BasicServiceList/_item", HFILL }},
15081 { &hf_gsm_map_o_CSI,
15082 { "o-CSI", "gsm_map.o_CSI",
15083 FT_NONE, BASE_NONE, NULL, 0,
15085 { &hf_gsm_map_ss_CSI,
15086 { "ss-CSI", "gsm_map.ss_CSI",
15087 FT_NONE, BASE_NONE, NULL, 0,
15089 { &hf_gsm_map_o_BcsmCamelTDP_CriteriaList,
15090 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.o_BcsmCamelTDP_CriteriaList",
15091 FT_NONE, BASE_NONE, NULL, 0,
15093 { &hf_gsm_map_tif_CSI,
15094 { "tif-CSI", "gsm_map.tif_CSI",
15095 FT_NONE, BASE_NONE, NULL, 0,
15097 { &hf_gsm_map_m_CSI,
15098 { "m-CSI", "gsm_map.m_CSI",
15099 FT_NONE, BASE_NONE, NULL, 0,
15101 { &hf_gsm_map_vt_CSI,
15102 { "vt-CSI", "gsm_map.vt_CSI",
15103 FT_NONE, BASE_NONE, NULL, 0,
15105 { &hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList,
15106 { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.t_BCSM_CAMEL_TDP_CriteriaList",
15107 FT_NONE, BASE_NONE, NULL, 0,
15109 { &hf_gsm_map_d_CSI,
15110 { "d-CSI", "gsm_map.d_CSI",
15111 FT_NONE, BASE_NONE, NULL, 0,
15113 { &hf_gsm_map_MT_smsCAMELTDP_CriteriaList_item,
15114 { "Item", "gsm_map.MT_smsCAMELTDP_CriteriaList_item",
15115 FT_NONE, BASE_NONE, NULL, 0,
15116 "MT-smsCAMELTDP-CriteriaList/_item", HFILL }},
15117 { &hf_gsm_map_sms_TriggerDetectionPoint,
15118 { "sms-TriggerDetectionPoint", "gsm_map.sms_TriggerDetectionPoint",
15119 FT_UINT32, BASE_DEC, VALS(gsm_map_SMS_TriggerDetectionPoint_vals), 0,
15121 { &hf_gsm_map_tpdu_TypeCriterion,
15122 { "tpdu-TypeCriterion", "gsm_map.tpdu_TypeCriterion",
15123 FT_NONE, BASE_NONE, NULL, 0,
15124 "MT-smsCAMELTDP-Criteria/tpdu-TypeCriterion", HFILL }},
15125 { &hf_gsm_map_TPDU_TypeCriterion_item,
15126 { "Item", "gsm_map.TPDU_TypeCriterion_item",
15127 FT_UINT32, BASE_DEC, VALS(gsm_map_MT_SMS_TPDU_Type_vals), 0,
15128 "TPDU-TypeCriterion/_item", HFILL }},
15129 { &hf_gsm_map_dp_AnalysedInfoCriteriaList,
15130 { "dp-AnalysedInfoCriteriaList", "gsm_map.dp_AnalysedInfoCriteriaList",
15131 FT_NONE, BASE_NONE, NULL, 0,
15132 "D-CSI/dp-AnalysedInfoCriteriaList", HFILL }},
15133 { &hf_gsm_map_DP_AnalysedInfoCriteriaList_item,
15134 { "Item", "gsm_map.DP_AnalysedInfoCriteriaList_item",
15135 FT_NONE, BASE_NONE, NULL, 0,
15136 "DP-AnalysedInfoCriteriaList/_item", HFILL }},
15137 { &hf_gsm_map_dialledNumber,
15138 { "dialledNumber", "gsm_map.dialledNumber",
15139 FT_BYTES, BASE_HEX, NULL, 0,
15140 "DP-AnalysedInfoCriterium/dialledNumber", HFILL }},
15141 { &hf_gsm_map_ss_CamelData,
15142 { "ss-CamelData", "gsm_map.ss_CamelData",
15143 FT_NONE, BASE_NONE, NULL, 0,
15144 "SS-CSI/ss-CamelData", HFILL }},
15145 { &hf_gsm_map_ss_EventList,
15146 { "ss-EventList", "gsm_map.ss_EventList",
15147 FT_NONE, BASE_NONE, NULL, 0,
15148 "SS-CamelData/ss-EventList", HFILL }},
15149 { &hf_gsm_map_mobilityTriggers,
15150 { "mobilityTriggers", "gsm_map.mobilityTriggers",
15151 FT_NONE, BASE_NONE, NULL, 0,
15153 { &hf_gsm_map_BearerServiceList_item,
15154 { "Item", "gsm_map.BearerServiceList_item",
15155 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
15156 "BearerServiceList/_item", HFILL }},
15157 { &hf_gsm_map_TeleserviceList_item,
15158 { "Item", "gsm_map.TeleserviceList_item",
15159 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
15160 "TeleserviceList/_item", HFILL }},
15161 { &hf_gsm_map_Ext_SS_InfoList_item,
15162 { "Item", "gsm_map.Ext_SS_InfoList_item",
15163 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_SS_Info_vals), 0,
15164 "Ext-SS-InfoList/_item", HFILL }},
15165 { &hf_gsm_map_ext_forwardingInfo,
15166 { "forwardingInfo", "gsm_map.forwardingInfo",
15167 FT_NONE, BASE_NONE, NULL, 0,
15168 "Ext-SS-Info/forwardingInfo", HFILL }},
15169 { &hf_gsm_map_ext_callBarringInfo,
15170 { "callBarringInfo", "gsm_map.callBarringInfo",
15171 FT_NONE, BASE_NONE, NULL, 0,
15172 "Ext-SS-Info/callBarringInfo", HFILL }},
15173 { &hf_gsm_map_cug_Info,
15174 { "cug-Info", "gsm_map.cug_Info",
15175 FT_NONE, BASE_NONE, NULL, 0,
15176 "Ext-SS-Info/cug-Info", HFILL }},
15177 { &hf_gsm_map_ext_ss_Data,
15178 { "ss-Data", "gsm_map.ss_Data",
15179 FT_NONE, BASE_NONE, NULL, 0,
15180 "Ext-SS-Info/ss-Data", HFILL }},
15181 { &hf_gsm_map_emlpp_Info,
15182 { "emlpp-Info", "gsm_map.emlpp_Info",
15183 FT_NONE, BASE_NONE, NULL, 0,
15184 "Ext-SS-Info/emlpp-Info", HFILL }},
15185 { &hf_gsm_map_ss_Code,
15186 { "ss-Code", "gsm_map.ss_Code",
15187 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
15189 { &hf_gsm_map_ext_forwardingFeatureList,
15190 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
15191 FT_NONE, BASE_NONE, NULL, 0,
15193 { &hf_gsm_map_Ext_ForwFeatureList_item,
15194 { "Item", "gsm_map.Ext_ForwFeatureList_item",
15195 FT_NONE, BASE_NONE, NULL, 0,
15196 "Ext-ForwFeatureList/_item", HFILL }},
15197 { &hf_gsm_map_ext_basicService,
15198 { "basicService", "gsm_map.basicService",
15199 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
15201 { &hf_gsm_map_ext_ss_Status,
15202 { "ss-Status", "gsm_map.ss_Status",
15203 FT_BYTES, BASE_HEX, NULL, 0,
15205 { &hf_gsm_map_forwardedToNumber,
15206 { "forwardedToNumber", "gsm_map.forwardedToNumber",
15207 FT_BYTES, BASE_HEX, NULL, 0,
15209 { &hf_gsm_map_forwardedToSubaddress,
15210 { "forwardedToSubaddress", "gsm_map.forwardedToSubaddress",
15211 FT_BYTES, BASE_HEX, NULL, 0,
15213 { &hf_gsm_map_ext_forwardingOptions,
15214 { "forwardingOptions", "gsm_map.forwardingOptions",
15215 FT_BYTES, BASE_HEX, NULL, 0,
15216 "Ext-ForwFeature/forwardingOptions", HFILL }},
15217 { &hf_gsm_map_ext_noReplyConditionTime,
15218 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
15219 FT_UINT32, BASE_DEC, NULL, 0,
15221 { &hf_gsm_map_longForwardedToNumber,
15222 { "longForwardedToNumber", "gsm_map.longForwardedToNumber",
15223 FT_BYTES, BASE_HEX, NULL, 0,
15225 { &hf_gsm_map_ext_callBarringFeatureList,
15226 { "callBarringFeatureList", "gsm_map.callBarringFeatureList",
15227 FT_NONE, BASE_NONE, NULL, 0,
15229 { &hf_gsm_map_Ext_CallBarFeatureList_item,
15230 { "Item", "gsm_map.Ext_CallBarFeatureList_item",
15231 FT_NONE, BASE_NONE, NULL, 0,
15232 "Ext-CallBarFeatureList/_item", HFILL }},
15233 { &hf_gsm_map_ZoneCodeList_item,
15234 { "Item", "gsm_map.ZoneCodeList_item",
15235 FT_BYTES, BASE_HEX, NULL, 0,
15236 "ZoneCodeList/_item", HFILL }},
15237 { &hf_gsm_map_maximumentitledPriority,
15238 { "maximumentitledPriority", "gsm_map.maximumentitledPriority",
15239 FT_UINT32, BASE_DEC, NULL, 0,
15240 "EMLPP-Info/maximumentitledPriority", HFILL }},
15241 { &hf_gsm_map_defaultPriority,
15242 { "defaultPriority", "gsm_map.defaultPriority",
15243 FT_UINT32, BASE_DEC, NULL, 0,
15245 { &hf_gsm_map_cug_SubscriptionList,
15246 { "cug-SubscriptionList", "gsm_map.cug_SubscriptionList",
15247 FT_NONE, BASE_NONE, NULL, 0,
15248 "CUG-Info/cug-SubscriptionList", HFILL }},
15249 { &hf_gsm_map_cug_FeatureList,
15250 { "cug-FeatureList", "gsm_map.cug_FeatureList",
15251 FT_NONE, BASE_NONE, NULL, 0,
15252 "CUG-Info/cug-FeatureList", HFILL }},
15253 { &hf_gsm_map_CUG_SubscriptionList_item,
15254 { "Item", "gsm_map.CUG_SubscriptionList_item",
15255 FT_NONE, BASE_NONE, NULL, 0,
15256 "CUG-SubscriptionList/_item", HFILL }},
15257 { &hf_gsm_map_cug_Index,
15258 { "cug-Index", "gsm_map.cug_Index",
15259 FT_UINT32, BASE_DEC, NULL, 0,
15260 "CUG-Subscription/cug-Index", HFILL }},
15261 { &hf_gsm_map_cug_Interlock,
15262 { "cug-Interlock", "gsm_map.cug_Interlock",
15263 FT_BYTES, BASE_HEX, NULL, 0,
15265 { &hf_gsm_map_intraCUG_Options,
15266 { "intraCUG-Options", "gsm_map.intraCUG_Options",
15267 FT_UINT32, BASE_DEC, VALS(gsm_map_IntraCUG_Options_vals), 0,
15268 "CUG-Subscription/intraCUG-Options", HFILL }},
15269 { &hf_gsm_map_basicServiceGroupList,
15270 { "basicServiceGroupList", "gsm_map.basicServiceGroupList",
15271 FT_NONE, BASE_NONE, NULL, 0,
15273 { &hf_gsm_map_CUG_FeatureList_item,
15274 { "Item", "gsm_map.CUG_FeatureList_item",
15275 FT_NONE, BASE_NONE, NULL, 0,
15276 "CUG-FeatureList/_item", HFILL }},
15277 { &hf_gsm_map_Ext_BasicServiceGroupList_item,
15278 { "Item", "gsm_map.Ext_BasicServiceGroupList_item",
15279 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
15280 "Ext-BasicServiceGroupList/_item", HFILL }},
15281 { &hf_gsm_map_preferentialCUG_Indicator,
15282 { "preferentialCUG-Indicator", "gsm_map.preferentialCUG_Indicator",
15283 FT_UINT32, BASE_DEC, NULL, 0,
15284 "CUG-Feature/preferentialCUG-Indicator", HFILL }},
15285 { &hf_gsm_map_interCUG_Restrictions,
15286 { "interCUG-Restrictions", "gsm_map.interCUG_Restrictions",
15287 FT_BYTES, BASE_HEX, NULL, 0,
15288 "CUG-Feature/interCUG-Restrictions", HFILL }},
15289 { &hf_gsm_map_ss_SubscriptionOption,
15290 { "ss-SubscriptionOption", "gsm_map.ss_SubscriptionOption",
15291 FT_UINT32, BASE_DEC, VALS(gsm_map_SS_SubscriptionOption_vals), 0,
15293 { &hf_gsm_map_LCS_PrivacyExceptionList_item,
15294 { "Item", "gsm_map.LCS_PrivacyExceptionList_item",
15295 FT_NONE, BASE_NONE, NULL, 0,
15296 "LCS-PrivacyExceptionList/_item", HFILL }},
15297 { &hf_gsm_map_notificationToMSUser,
15298 { "notificationToMSUser", "gsm_map.notificationToMSUser",
15299 FT_UINT32, BASE_DEC, VALS(gsm_map_NotificationToMSUser_vals), 0,
15301 { &hf_gsm_map_externalClientList,
15302 { "externalClientList", "gsm_map.externalClientList",
15303 FT_NONE, BASE_NONE, NULL, 0,
15304 "LCS-PrivacyClass/externalClientList", HFILL }},
15305 { &hf_gsm_map_plmnClientList,
15306 { "plmnClientList", "gsm_map.plmnClientList",
15307 FT_NONE, BASE_NONE, NULL, 0,
15308 "LCS-PrivacyClass/plmnClientList", HFILL }},
15309 { &hf_gsm_map_ext_externalClientList,
15310 { "ext-externalClientList", "gsm_map.ext_externalClientList",
15311 FT_NONE, BASE_NONE, NULL, 0,
15312 "LCS-PrivacyClass/ext-externalClientList", HFILL }},
15313 { &hf_gsm_map_serviceTypeList,
15314 { "serviceTypeList", "gsm_map.serviceTypeList",
15315 FT_NONE, BASE_NONE, NULL, 0,
15316 "LCS-PrivacyClass/serviceTypeList", HFILL }},
15317 { &hf_gsm_map_ExternalClientList_item,
15318 { "Item", "gsm_map.ExternalClientList_item",
15319 FT_NONE, BASE_NONE, NULL, 0,
15320 "ExternalClientList/_item", HFILL }},
15321 { &hf_gsm_map_PLMNClientList_item,
15322 { "Item", "gsm_map.PLMNClientList_item",
15323 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
15324 "PLMNClientList/_item", HFILL }},
15325 { &hf_gsm_map_Ext_ExternalClientList_item,
15326 { "Item", "gsm_map.Ext_ExternalClientList_item",
15327 FT_NONE, BASE_NONE, NULL, 0,
15328 "Ext-ExternalClientList/_item", HFILL }},
15329 { &hf_gsm_map_clientIdentity,
15330 { "clientIdentity", "gsm_map.clientIdentity",
15331 FT_NONE, BASE_NONE, NULL, 0,
15332 "ExternalClient/clientIdentity", HFILL }},
15333 { &hf_gsm_map_gmlc_Restriction,
15334 { "gmlc-Restriction", "gsm_map.gmlc_Restriction",
15335 FT_UINT32, BASE_DEC, VALS(gsm_map_GMLC_Restriction_vals), 0,
15337 { &hf_gsm_map_ServiceTypeList_item,
15338 { "Item", "gsm_map.ServiceTypeList_item",
15339 FT_NONE, BASE_NONE, NULL, 0,
15340 "ServiceTypeList/_item", HFILL }},
15341 { &hf_gsm_map_serviceTypeIdentity,
15342 { "serviceTypeIdentity", "gsm_map.serviceTypeIdentity",
15343 FT_UINT32, BASE_DEC, NULL, 0,
15344 "ServiceType/serviceTypeIdentity", HFILL }},
15345 { &hf_gsm_map_MOLR_List_item,
15346 { "Item", "gsm_map.MOLR_List_item",
15347 FT_NONE, BASE_NONE, NULL, 0,
15348 "MOLR-List/_item", HFILL }},
15349 { &hf_gsm_map_CallBarringFeatureList_item,
15350 { "Item", "gsm_map.CallBarringFeatureList_item",
15351 FT_NONE, BASE_NONE, NULL, 0,
15352 "CallBarringFeatureList/_item", HFILL }},
15353 { &hf_gsm_map_basicService,
15354 { "basicService", "gsm_map.basicService",
15355 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
15357 { &hf_gsm_map_ss_Status,
15358 { "ss-Status", "gsm_map.ss_Status",
15359 FT_BYTES, BASE_HEX, NULL, 0,
15361 { &hf_gsm_map_ForwardingFeatureList_item,
15362 { "Item", "gsm_map.ForwardingFeatureList_item",
15363 FT_NONE, BASE_NONE, NULL, 0,
15364 "ForwardingFeatureList/_item", HFILL }},
15365 { &hf_gsm_map_forwardingOptions,
15366 { "forwardingOptions", "gsm_map.forwardingOptions",
15367 FT_BYTES, BASE_HEX, NULL, 0,
15369 { &hf_gsm_map_noReplyConditionTime,
15370 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
15371 FT_UINT32, BASE_DEC, NULL, 0,
15373 { &hf_gsm_map_matchType,
15374 { "matchType", "gsm_map.matchType",
15375 FT_UINT32, BASE_DEC, VALS(gsm_map_MatchType_vals), 0,
15376 "DestinationNumberCriteria/matchType", HFILL }},
15377 { &hf_gsm_map_destinationNumberList,
15378 { "destinationNumberList", "gsm_map.destinationNumberList",
15379 FT_NONE, BASE_NONE, NULL, 0,
15380 "DestinationNumberCriteria/destinationNumberList", HFILL }},
15381 { &hf_gsm_map_destinationNumberLengthList,
15382 { "destinationNumberLengthList", "gsm_map.destinationNumberLengthList",
15383 FT_NONE, BASE_NONE, NULL, 0,
15384 "DestinationNumberCriteria/destinationNumberLengthList", HFILL }},
15385 { &hf_gsm_map_DestinationNumberList_item,
15386 { "Item", "gsm_map.DestinationNumberList_item",
15387 FT_BYTES, BASE_HEX, NULL, 0,
15388 "DestinationNumberList/_item", HFILL }},
15389 { &hf_gsm_map_DestinationNumberLengthList_item,
15390 { "Item", "gsm_map.DestinationNumberLengthList_item",
15391 FT_UINT32, BASE_DEC, NULL, 0,
15392 "DestinationNumberLengthList/_item", HFILL }},
15393 { &hf_gsm_map_forwardingFeatureList,
15394 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
15395 FT_NONE, BASE_NONE, NULL, 0,
15397 { &hf_gsm_map_callBarringFeatureList,
15398 { "callBarringFeatureList", "gsm_map.callBarringFeatureList",
15399 FT_NONE, BASE_NONE, NULL, 0,
15400 "CallBarringInfo/callBarringFeatureList", HFILL }},
15401 { &hf_gsm_map_nbrSB,
15402 { "nbrSB", "gsm_map.nbrSB",
15403 FT_UINT32, BASE_DEC, NULL, 0,
15405 { &hf_gsm_map_nbrUser,
15406 { "nbrUser", "gsm_map.nbrUser",
15407 FT_UINT32, BASE_DEC, NULL, 0,
15409 { &hf_gsm_map_hlr_List,
15410 { "hlr-List", "gsm_map.hlr_List",
15411 FT_NONE, BASE_NONE, NULL, 0,
15412 "ResetArg/hlr-List", HFILL }},
15413 { &hf_gsm_map_msNotReachable,
15414 { "msNotReachable", "gsm_map.msNotReachable",
15415 FT_NONE, BASE_NONE, NULL, 0,
15416 "RestoreDataRes/msNotReachable", HFILL }},
15417 { &hf_gsm_map_VBSDataList_item,
15418 { "Item", "gsm_map.VBSDataList_item",
15419 FT_NONE, BASE_NONE, NULL, 0,
15420 "VBSDataList/_item", HFILL }},
15421 { &hf_gsm_map_VGCSDataList_item,
15422 { "Item", "gsm_map.VGCSDataList_item",
15423 FT_NONE, BASE_NONE, NULL, 0,
15424 "VGCSDataList/_item", HFILL }},
15425 { &hf_gsm_map_groupId,
15426 { "groupId", "gsm_map.groupId",
15427 FT_BYTES, BASE_HEX, NULL, 0,
15428 "VoiceGroupCallData/groupId", HFILL }},
15429 { &hf_gsm_map_groupid,
15430 { "groupid", "gsm_map.groupid",
15431 FT_BYTES, BASE_HEX, NULL, 0,
15432 "VoiceBroadcastData/groupid", HFILL }},
15433 { &hf_gsm_map_broadcastInitEntitlement,
15434 { "broadcastInitEntitlement", "gsm_map.broadcastInitEntitlement",
15435 FT_NONE, BASE_NONE, NULL, 0,
15436 "VoiceBroadcastData/broadcastInitEntitlement", HFILL }},
15437 { &hf_gsm_map_traceReference,
15438 { "traceReference", "gsm_map.traceReference",
15439 FT_BYTES, BASE_HEX, NULL, 0,
15441 { &hf_gsm_map_traceType,
15442 { "traceType", "gsm_map.traceType",
15443 FT_UINT32, BASE_DEC, NULL, 0,
15444 "ActivateTraceModeArg/traceType", HFILL }},
15445 { &hf_gsm_map_omc_Id,
15446 { "omc-Id", "gsm_map.omc_Id",
15447 FT_BYTES, BASE_HEX, NULL, 0,
15448 "ActivateTraceModeArg/omc-Id", HFILL }},
15449 { &hf_gsm_map_cug_CheckInfo,
15450 { "cug-CheckInfo", "gsm_map.cug_CheckInfo",
15451 FT_NONE, BASE_NONE, NULL, 0,
15453 { &hf_gsm_map_numberOfForwarding,
15454 { "numberOfForwarding", "gsm_map.numberOfForwarding",
15455 FT_UINT32, BASE_DEC, NULL, 0,
15456 "SendRoutingInfoArg/numberOfForwarding", HFILL }},
15457 { &hf_gsm_map_interrogationType,
15458 { "interrogationType", "gsm_map.interrogationType",
15459 FT_UINT32, BASE_DEC, VALS(gsm_map_InterrogationType_vals), 0,
15460 "SendRoutingInfoArg/interrogationType", HFILL }},
15461 { &hf_gsm_map_or_Interrogation,
15462 { "or-Interrogation", "gsm_map.or_Interrogation",
15463 FT_NONE, BASE_NONE, NULL, 0,
15465 { &hf_gsm_map_or_Capability,
15466 { "or-Capability", "gsm_map.or_Capability",
15467 FT_UINT32, BASE_DEC, NULL, 0,
15468 "SendRoutingInfoArg/or-Capability", HFILL }},
15469 { &hf_gsm_map_gmsc_OrGsmSCF_Address,
15470 { "gmsc-OrGsmSCF-Address", "gsm_map.gmsc_OrGsmSCF_Address",
15471 FT_BYTES, BASE_HEX, NULL, 0,
15472 "SendRoutingInfoArg/gmsc-OrGsmSCF-Address", HFILL }},
15473 { &hf_gsm_map_callReferenceNumber,
15474 { "callReferenceNumber", "gsm_map.callReferenceNumber",
15475 FT_BYTES, BASE_HEX, NULL, 0,
15477 { &hf_gsm_map_forwardingReason,
15478 { "forwardingReason", "gsm_map.forwardingReason",
15479 FT_UINT32, BASE_DEC, VALS(gsm_map_ForwardingReason_vals), 0,
15480 "SendRoutingInfoArg/forwardingReason", HFILL }},
15481 { &hf_gsm_map_ext_basicServiceGroup,
15482 { "basicServiceGroup", "gsm_map.basicServiceGroup",
15483 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
15485 { &hf_gsm_map_networkSignalInfo,
15486 { "networkSignalInfo", "gsm_map.networkSignalInfo",
15487 FT_NONE, BASE_NONE, NULL, 0,
15489 { &hf_gsm_map_camelInfo,
15490 { "camelInfo", "gsm_map.camelInfo",
15491 FT_NONE, BASE_NONE, NULL, 0,
15492 "SendRoutingInfoArg/camelInfo", HFILL }},
15493 { &hf_gsm_map_suppressionOfAnnouncement,
15494 { "suppressionOfAnnouncement", "gsm_map.suppressionOfAnnouncement",
15495 FT_NONE, BASE_NONE, NULL, 0,
15497 { &hf_gsm_map_alertingPattern,
15498 { "alertingPattern", "gsm_map.alertingPattern",
15499 FT_BYTES, BASE_HEX, NULL, 0,
15501 { &hf_gsm_map_ccbs_Call,
15502 { "ccbs-Call", "gsm_map.ccbs_Call",
15503 FT_NONE, BASE_NONE, NULL, 0,
15505 { &hf_gsm_map_supportedCCBS_Phase,
15506 { "supportedCCBS-Phase", "gsm_map.supportedCCBS_Phase",
15507 FT_UINT32, BASE_DEC, NULL, 0,
15508 "SendRoutingInfoArg/supportedCCBS-Phase", HFILL }},
15509 { &hf_gsm_map_additionalSignalInfo,
15510 { "additionalSignalInfo", "gsm_map.additionalSignalInfo",
15511 FT_NONE, BASE_NONE, NULL, 0,
15513 { &hf_gsm_map_pre_pagingSupported,
15514 { "pre-pagingSupported", "gsm_map.pre_pagingSupported",
15515 FT_NONE, BASE_NONE, NULL, 0,
15517 { &hf_gsm_map_callDiversionTreatmentIndicator,
15518 { "callDiversionTreatmentIndicator", "gsm_map.callDiversionTreatmentIndicator",
15519 FT_BYTES, BASE_HEX, NULL, 0,
15520 "SendRoutingInfoArg/callDiversionTreatmentIndicator", HFILL }},
15521 { &hf_gsm_map_suppress_VT_CSI,
15522 { "suppress-VT-CSI", "gsm_map.suppress_VT_CSI",
15523 FT_NONE, BASE_NONE, NULL, 0,
15525 { &hf_gsm_map_suppressIncomingCallBarring,
15526 { "suppressIncomingCallBarring", "gsm_map.suppressIncomingCallBarring",
15527 FT_NONE, BASE_NONE, NULL, 0,
15528 "SendRoutingInfoArg/suppressIncomingCallBarring", HFILL }},
15529 { &hf_gsm_map_gsmSCF_InitiatedCall,
15530 { "gsmSCF-InitiatedCall", "gsm_map.gsmSCF_InitiatedCall",
15531 FT_NONE, BASE_NONE, NULL, 0,
15532 "SendRoutingInfoArg/gsmSCF-InitiatedCall", HFILL }},
15533 { &hf_gsm_map_basicServiceGroup2,
15534 { "basicServiceGroup2", "gsm_map.basicServiceGroup2",
15535 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
15537 { &hf_gsm_map_networkSignalInfo2,
15538 { "networkSignalInfo2", "gsm_map.networkSignalInfo2",
15539 FT_NONE, BASE_NONE, NULL, 0,
15540 "SendRoutingInfoArg/networkSignalInfo2", HFILL }},
15541 { &hf_gsm_map_extendedRoutingInfo,
15542 { "extendedRoutingInfo", "gsm_map.extendedRoutingInfo",
15543 FT_UINT32, BASE_DEC, VALS(gsm_map_ExtendedRoutingInfo_vals), 0,
15544 "SendRoutingInfoRes/extendedRoutingInfo", HFILL }},
15545 { &hf_gsm_map_cugSubscriptionFlag,
15546 { "cugSubscriptionFlag", "gsm_map.cugSubscriptionFlag",
15547 FT_NONE, BASE_NONE, NULL, 0,
15548 "SendRoutingInfoRes/cugSubscriptionFlag", HFILL }},
15549 { &hf_gsm_map_subscriberInfo,
15550 { "subscriberInfo", "gsm_map.subscriberInfo",
15551 FT_NONE, BASE_NONE, NULL, 0,
15553 { &hf_gsm_map_forwardingInterrogationRequired,
15554 { "forwardingInterrogationRequired", "gsm_map.forwardingInterrogationRequired",
15555 FT_NONE, BASE_NONE, NULL, 0,
15556 "SendRoutingInfoRes/forwardingInterrogationRequired", HFILL }},
15557 { &hf_gsm_map_vmsc_Address,
15558 { "vmsc-Address", "gsm_map.vmsc_Address",
15559 FT_BYTES, BASE_HEX, NULL, 0,
15560 "SendRoutingInfoRes/vmsc-Address", HFILL }},
15561 { &hf_gsm_map_ccbs_Indicators,
15562 { "ccbs-Indicators", "gsm_map.ccbs_Indicators",
15563 FT_NONE, BASE_NONE, NULL, 0,
15564 "SendRoutingInfoRes/ccbs-Indicators", HFILL }},
15565 { &hf_gsm_map_numberPortabilityStatus,
15566 { "numberPortabilityStatus", "gsm_map.numberPortabilityStatus",
15567 FT_UINT32, BASE_DEC, VALS(gsm_map_NumberPortabilityStatus_vals), 0,
15569 { &hf_gsm_map_supportedCamelPhasesInVMSC,
15570 { "supportedCamelPhasesInVMSC", "gsm_map.supportedCamelPhasesInVMSC",
15571 FT_BYTES, BASE_HEX, NULL, 0,
15572 "SendRoutingInfoRes/supportedCamelPhasesInVMSC", HFILL }},
15573 { &hf_gsm_map_offeredCamel4CSIsInVMSC,
15574 { "offeredCamel4CSIsInVMSC", "gsm_map.offeredCamel4CSIsInVMSC",
15575 FT_BYTES, BASE_HEX, NULL, 0,
15576 "SendRoutingInfoRes/offeredCamel4CSIsInVMSC", HFILL }},
15577 { &hf_gsm_map_routingInfo2,
15578 { "routingInfo2", "gsm_map.routingInfo2",
15579 FT_UINT32, BASE_DEC, VALS(gsm_map_RoutingInfo_vals), 0,
15580 "SendRoutingInfoRes/routingInfo2", HFILL }},
15581 { &hf_gsm_map_ss_List2,
15582 { "ss-List2", "gsm_map.ss_List2",
15583 FT_NONE, BASE_NONE, NULL, 0,
15584 "SendRoutingInfoRes/ss-List2", HFILL }},
15585 { &hf_gsm_map_basicService2,
15586 { "basicService2", "gsm_map.basicService2",
15587 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
15588 "SendRoutingInfoRes/basicService2", HFILL }},
15589 { &hf_gsm_map_allowedServices,
15590 { "allowedServices", "gsm_map.allowedServices",
15591 FT_BYTES, BASE_HEX, NULL, 0,
15592 "SendRoutingInfoRes/allowedServices", HFILL }},
15593 { &hf_gsm_map_unavailabilityCause,
15594 { "unavailabilityCause", "gsm_map.unavailabilityCause",
15595 FT_UINT32, BASE_DEC, VALS(gsm_map_UnavailabilityCause_vals), 0,
15596 "SendRoutingInfoRes/unavailabilityCause", HFILL }},
15597 { &hf_gsm_map_releaseResourcesSupported,
15598 { "releaseResourcesSupported", "gsm_map.releaseResourcesSupported",
15599 FT_NONE, BASE_NONE, NULL, 0,
15601 { &hf_gsm_map_ext_ProtocolId,
15602 { "ext-ProtocolId", "gsm_map.ext_ProtocolId",
15603 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_ProtocolId_vals), 0,
15604 "Ext-ExternalSignalInfo/ext-ProtocolId", HFILL }},
15605 { &hf_gsm_map_accessNetworkProtocolId,
15606 { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId",
15607 FT_UINT32, BASE_DEC, VALS(gsm_map_AccessNetworkProtocolId_vals), 0,
15608 "AccessNetworkSignalInfo/accessNetworkProtocolId", HFILL }},
15609 { &hf_gsm_map_longsignalInfo,
15610 { "signalInfo", "gsm_map.signalInfo",
15611 FT_BYTES, BASE_HEX, NULL, 0,
15612 "AccessNetworkSignalInfo/signalInfo", HFILL }},
15613 { &hf_gsm_map_suppress_T_CSI,
15614 { "suppress-T-CSI", "gsm_map.suppress_T_CSI",
15615 FT_NONE, BASE_NONE, NULL, 0,
15616 "CamelInfo/suppress-T-CSI", HFILL }},
15617 { &hf_gsm_map_imsi_WithLMSI,
15618 { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI",
15619 FT_NONE, BASE_NONE, NULL, 0,
15620 "Identity/imsi-WithLMSI", HFILL }},
15621 { &hf_gsm_map_HLR_List_item,
15622 { "Item", "gsm_map.HLR_List_item",
15623 FT_BYTES, BASE_HEX, NULL, 0,
15624 "HLR-List/_item", HFILL }},
15625 { &hf_gsm_map_SS_List_item,
15626 { "Item", "gsm_map.SS_List_item",
15627 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
15628 "SS-List/_item", HFILL }},
15629 { &hf_gsm_map_naea_PreferredCIC,
15630 { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC",
15631 FT_BYTES, BASE_HEX, NULL, 0,
15632 "NAEA-PreferredCI/naea-PreferredCIC", HFILL }},
15633 { &hf_gsm_map_externalAddress,
15634 { "externalAddress", "gsm_map.externalAddress",
15635 FT_BYTES, BASE_HEX, NULL, 0,
15636 "LCSClientExternalID/externalAddress", HFILL }},
15637 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength,
15638 { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength",
15639 FT_BYTES, BASE_HEX, NULL, 0,
15640 "CellGlobalIdOrServiceAreaIdOrLAI/cellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
15641 { &hf_gsm_map_laiFixedLength,
15642 { "laiFixedLength", "gsm_map.laiFixedLength",
15643 FT_BYTES, BASE_HEX, NULL, 0,
15644 "CellGlobalIdOrServiceAreaIdOrLAI/laiFixedLength", HFILL }},
15645 { &hf_gsm_map_ccbs_Possible,
15646 { "ccbs-Possible", "gsm_map.ccbs_Possible",
15647 FT_NONE, BASE_NONE, NULL, 0,
15649 { &hf_gsm_map_keepCCBS_CallIndicator,
15650 { "keepCCBS-CallIndicator", "gsm_map.keepCCBS_CallIndicator",
15651 FT_NONE, BASE_NONE, NULL, 0,
15652 "CCBS-Indicators/keepCCBS-CallIndicator", HFILL }},
15653 { &hf_gsm_map_roamingNumber,
15654 { "roamingNumber", "gsm_map.roamingNumber",
15655 FT_BYTES, BASE_HEX, NULL, 0,
15657 { &hf_gsm_map_forwardingData,
15658 { "forwardingData", "gsm_map.forwardingData",
15659 FT_NONE, BASE_NONE, NULL, 0,
15661 { &hf_gsm_map_routingInfo,
15662 { "routingInfo", "gsm_map.routingInfo",
15663 FT_UINT32, BASE_DEC, VALS(gsm_map_RoutingInfo_vals), 0,
15664 "ExtendedRoutingInfo/routingInfo", HFILL }},
15665 { &hf_gsm_map_camelRoutingInfo,
15666 { "camelRoutingInfo", "gsm_map.camelRoutingInfo",
15667 FT_NONE, BASE_NONE, NULL, 0,
15668 "ExtendedRoutingInfo/camelRoutingInfo", HFILL }},
15669 { &hf_gsm_map_gmscCamelSubscriptionInfo,
15670 { "gmscCamelSubscriptionInfo", "gsm_map.gmscCamelSubscriptionInfo",
15671 FT_NONE, BASE_NONE, NULL, 0,
15672 "CamelRoutingInfo/gmscCamelSubscriptionInfo", HFILL }},
15673 { &hf_gsm_map_t_CSI,
15674 { "t-CSI", "gsm_map.t_CSI",
15675 FT_NONE, BASE_NONE, NULL, 0,
15677 { &hf_gsm_map_d_csi,
15678 { "d-csi", "gsm_map.d_csi",
15679 FT_NONE, BASE_NONE, NULL, 0,
15681 { &hf_gsm_map_ageOfLocationInformation,
15682 { "ageOfLocationInformation", "gsm_map.ageOfLocationInformation",
15683 FT_UINT32, BASE_DEC, NULL, 0,
15685 { &hf_gsm_map_geographicalInformation,
15686 { "geographicalInformation", "gsm_map.geographicalInformation",
15687 FT_BYTES, BASE_HEX, NULL, 0,
15689 { &hf_gsm_map_vlr_number,
15690 { "vlr-number", "gsm_map.vlr_number",
15691 FT_BYTES, BASE_HEX, NULL, 0,
15692 "LocationInformation/vlr-number", HFILL }},
15693 { &hf_gsm_map_locationNumber,
15694 { "locationNumber", "gsm_map.locationNumber",
15695 FT_BYTES, BASE_HEX, NULL, 0,
15696 "LocationInformation/locationNumber", HFILL }},
15697 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI,
15698 { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.cellGlobalIdOrServiceAreaIdOrLAI",
15699 FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
15701 { &hf_gsm_map_selectedLSA_Id,
15702 { "selectedLSA-Id", "gsm_map.selectedLSA_Id",
15703 FT_BYTES, BASE_HEX, NULL, 0,
15704 "LocationInformation/selectedLSA-Id", HFILL }},
15705 { &hf_gsm_map_geodeticInformation,
15706 { "geodeticInformation", "gsm_map.geodeticInformation",
15707 FT_BYTES, BASE_HEX, NULL, 0,
15709 { &hf_gsm_map_currentLocationRetrieved,
15710 { "currentLocationRetrieved", "gsm_map.currentLocationRetrieved",
15711 FT_NONE, BASE_NONE, NULL, 0,
15713 { &hf_gsm_map_sai_Present,
15714 { "sai-Present", "gsm_map.sai_Present",
15715 FT_NONE, BASE_NONE, NULL, 0,
15717 { &hf_gsm_map_routeingAreaIdentity,
15718 { "routeingAreaIdentity", "gsm_map.routeingAreaIdentity",
15719 FT_BYTES, BASE_HEX, NULL, 0,
15720 "LocationInformationGPRS/routeingAreaIdentity", HFILL }},
15721 { &hf_gsm_map_selectedLSAIdentity,
15722 { "selectedLSAIdentity", "gsm_map.selectedLSAIdentity",
15723 FT_BYTES, BASE_HEX, NULL, 0,
15724 "LocationInformationGPRS/selectedLSAIdentity", HFILL }},
15725 { &hf_gsm_map_assumedIdle,
15726 { "assumedIdle", "gsm_map.assumedIdle",
15727 FT_NONE, BASE_NONE, NULL, 0,
15728 "SubscriberState/assumedIdle", HFILL }},
15729 { &hf_gsm_map_camelBusy,
15730 { "camelBusy", "gsm_map.camelBusy",
15731 FT_NONE, BASE_NONE, NULL, 0,
15732 "SubscriberState/camelBusy", HFILL }},
15733 { &hf_gsm_map_notProvidedFromVLR,
15734 { "notProvidedFromVLR", "gsm_map.notProvidedFromVLR",
15735 FT_NONE, BASE_NONE, NULL, 0,
15736 "SubscriberState/notProvidedFromVLR", HFILL }},
15737 { &hf_gsm_map_notProvidedFromSGSN,
15738 { "notProvidedFromSGSN", "gsm_map.notProvidedFromSGSN",
15739 FT_NONE, BASE_NONE, NULL, 0,
15740 "PS-SubscriberState/notProvidedFromSGSN", HFILL }},
15741 { &hf_gsm_map_ps_Detached,
15742 { "ps-Detached", "gsm_map.ps_Detached",
15743 FT_NONE, BASE_NONE, NULL, 0,
15744 "PS-SubscriberState/ps-Detached", HFILL }},
15745 { &hf_gsm_map_ps_AttachedNotReachableForPaging,
15746 { "ps-AttachedNotReachableForPaging", "gsm_map.ps_AttachedNotReachableForPaging",
15747 FT_NONE, BASE_NONE, NULL, 0,
15748 "PS-SubscriberState/ps-AttachedNotReachableForPaging", HFILL }},
15749 { &hf_gsm_map_ps_AttachedReachableForPaging,
15750 { "ps-AttachedReachableForPaging", "gsm_map.ps_AttachedReachableForPaging",
15751 FT_NONE, BASE_NONE, NULL, 0,
15752 "PS-SubscriberState/ps-AttachedReachableForPaging", HFILL }},
15753 { &hf_gsm_map_ps_PDP_ActiveNotReachableForPaging,
15754 { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ps_PDP_ActiveNotReachableForPaging",
15755 FT_NONE, BASE_NONE, NULL, 0,
15756 "PS-SubscriberState/ps-PDP-ActiveNotReachableForPaging", HFILL }},
15757 { &hf_gsm_map_ps_PDP_ActiveReachableForPaging,
15758 { "ps-PDP-ActiveReachableForPaging", "gsm_map.ps_PDP_ActiveReachableForPaging",
15759 FT_NONE, BASE_NONE, NULL, 0,
15760 "PS-SubscriberState/ps-PDP-ActiveReachableForPaging", HFILL }},
15761 { &hf_gsm_map_netDetNotReachable,
15762 { "netDetNotReachable", "gsm_map.netDetNotReachable",
15763 FT_UINT32, BASE_DEC, VALS(gsm_map_NotReachableReason_vals), 0,
15764 "PS-SubscriberState/netDetNotReachable", HFILL }},
15765 { &hf_gsm_map_PDP_ContextInfoList_item,
15766 { "Item", "gsm_map.PDP_ContextInfoList_item",
15767 FT_NONE, BASE_NONE, NULL, 0,
15768 "PDP-ContextInfoList/_item", HFILL }},
15769 { &hf_gsm_map_pdp_ContextIdentifier,
15770 { "pdp-ContextIdentifier", "gsm_map.pdp_ContextIdentifier",
15771 FT_UINT32, BASE_DEC, NULL, 0,
15772 "PDP-ContextInfo/pdp-ContextIdentifier", HFILL }},
15773 { &hf_gsm_map_pdp_ContextActive,
15774 { "pdp-ContextActive", "gsm_map.pdp_ContextActive",
15775 FT_NONE, BASE_NONE, NULL, 0,
15776 "PDP-ContextInfo/pdp-ContextActive", HFILL }},
15777 { &hf_gsm_map_apn_Subscribed,
15778 { "apn-Subscribed", "gsm_map.apn_Subscribed",
15779 FT_BYTES, BASE_HEX, NULL, 0,
15780 "PDP-ContextInfo/apn-Subscribed", HFILL }},
15781 { &hf_gsm_map_apn_InUse,
15782 { "apn-InUse", "gsm_map.apn_InUse",
15783 FT_BYTES, BASE_HEX, NULL, 0,
15784 "PDP-ContextInfo/apn-InUse", HFILL }},
15785 { &hf_gsm_map_nsapi,
15786 { "nsapi", "gsm_map.nsapi",
15787 FT_UINT32, BASE_DEC, NULL, 0,
15788 "PDP-ContextInfo/nsapi", HFILL }},
15789 { &hf_gsm_map_transactionId,
15790 { "transactionId", "gsm_map.transactionId",
15791 FT_BYTES, BASE_HEX, NULL, 0,
15792 "PDP-ContextInfo/transactionId", HFILL }},
15793 { &hf_gsm_map_teid_ForGnAndGp,
15794 { "teid-ForGnAndGp", "gsm_map.teid_ForGnAndGp",
15795 FT_BYTES, BASE_HEX, NULL, 0,
15796 "PDP-ContextInfo/teid-ForGnAndGp", HFILL }},
15797 { &hf_gsm_map_teid_ForIu,
15798 { "teid-ForIu", "gsm_map.teid_ForIu",
15799 FT_BYTES, BASE_HEX, NULL, 0,
15800 "PDP-ContextInfo/teid-ForIu", HFILL }},
15801 { &hf_gsm_map_ggsn_Address,
15802 { "ggsn-Address", "gsm_map.ggsn_Address",
15803 FT_BYTES, BASE_HEX, NULL, 0,
15805 { &hf_gsm_map_ext_qos_Subscribed,
15806 { "qos-Subscribed", "gsm_map.qos_Subscribed",
15807 FT_BYTES, BASE_HEX, NULL, 0,
15808 "PDP-ContextInfo/qos-Subscribed", HFILL }},
15809 { &hf_gsm_map_qos_Requested,
15810 { "qos-Requested", "gsm_map.qos_Requested",
15811 FT_BYTES, BASE_HEX, NULL, 0,
15812 "PDP-ContextInfo/qos-Requested", HFILL }},
15813 { &hf_gsm_map_qos_Negotiated,
15814 { "qos-Negotiated", "gsm_map.qos_Negotiated",
15815 FT_BYTES, BASE_HEX, NULL, 0,
15816 "PDP-ContextInfo/qos-Negotiated", HFILL }},
15817 { &hf_gsm_map_chargingId,
15818 { "chargingId", "gsm_map.chargingId",
15819 FT_BYTES, BASE_HEX, NULL, 0,
15820 "PDP-ContextInfo/chargingId", HFILL }},
15821 { &hf_gsm_map_rnc_Address,
15822 { "rnc-Address", "gsm_map.rnc_Address",
15823 FT_BYTES, BASE_HEX, NULL, 0,
15824 "PDP-ContextInfo/rnc-Address", HFILL }},
15825 { &hf_gsm_map_qos2_Subscribed,
15826 { "qos2-Subscribed", "gsm_map.qos2_Subscribed",
15827 FT_BYTES, BASE_HEX, NULL, 0,
15828 "PDP-ContextInfo/qos2-Subscribed", HFILL }},
15829 { &hf_gsm_map_qos2_Requested,
15830 { "qos2-Requested", "gsm_map.qos2_Requested",
15831 FT_BYTES, BASE_HEX, NULL, 0,
15832 "PDP-ContextInfo/qos2-Requested", HFILL }},
15833 { &hf_gsm_map_qos2_Negotiated,
15834 { "qos2-Negotiated", "gsm_map.qos2_Negotiated",
15835 FT_BYTES, BASE_HEX, NULL, 0,
15836 "PDP-ContextInfo/qos2-Negotiated", HFILL }},
15837 { &hf_gsm_map_cug_OutgoingAccess,
15838 { "cug-OutgoingAccess", "gsm_map.cug_OutgoingAccess",
15839 FT_NONE, BASE_NONE, NULL, 0,
15840 "CUG-CheckInfo/cug-OutgoingAccess", HFILL }},
15841 { &hf_gsm_map_gsm_BearerCapability,
15842 { "gsm-BearerCapability", "gsm_map.gsm_BearerCapability",
15843 FT_NONE, BASE_NONE, NULL, 0,
15845 { &hf_gsm_map_gmsc_Address,
15846 { "gmsc-Address", "gsm_map.gmsc_Address",
15847 FT_BYTES, BASE_HEX, NULL, 0,
15848 "ProvideRoamingNumberArg/gmsc-Address", HFILL }},
15849 { &hf_gsm_map_supportedCamelPhasesInInterrogatingNode,
15850 { "supportedCamelPhasesInInterrogatingNode", "gsm_map.supportedCamelPhasesInInterrogatingNode",
15851 FT_BYTES, BASE_HEX, NULL, 0,
15852 "ProvideRoamingNumberArg/supportedCamelPhasesInInterrogatingNode", HFILL }},
15853 { &hf_gsm_map_orNotSupportedInGMSC,
15854 { "orNotSupportedInGMSC", "gsm_map.orNotSupportedInGMSC",
15855 FT_NONE, BASE_NONE, NULL, 0,
15856 "ProvideRoamingNumberArg/orNotSupportedInGMSC", HFILL }},
15857 { &hf_gsm_map_offeredCamel4CSIsInInterrogatingNode,
15858 { "offeredCamel4CSIsInInterrogatingNode", "gsm_map.offeredCamel4CSIsInInterrogatingNode",
15859 FT_BYTES, BASE_HEX, NULL, 0,
15860 "ProvideRoamingNumberArg/offeredCamel4CSIsInInterrogatingNode", HFILL }},
15861 { &hf_gsm_map_uu_Data,
15862 { "uu-Data", "gsm_map.uu_Data",
15863 FT_NONE, BASE_NONE, NULL, 0,
15864 "ResumeCallHandlingArg/uu-Data", HFILL }},
15865 { &hf_gsm_map_allInformationSent,
15866 { "allInformationSent", "gsm_map.allInformationSent",
15867 FT_NONE, BASE_NONE, NULL, 0,
15869 { &hf_gsm_map_o_BcsmCamelTDPCriteriaList,
15870 { "o-BcsmCamelTDPCriteriaList", "gsm_map.o_BcsmCamelTDPCriteriaList",
15871 FT_NONE, BASE_NONE, NULL, 0,
15872 "ResumeCallHandlingArg/o-BcsmCamelTDPCriteriaList", HFILL }},
15873 { &hf_gsm_map_uuIndicator,
15874 { "uuIndicator", "gsm_map.uuIndicator",
15875 FT_BYTES, BASE_HEX, NULL, 0,
15876 "UU-Data/uuIndicator", HFILL }},
15878 { "uui", "gsm_map.uui",
15879 FT_BYTES, BASE_HEX, NULL, 0,
15880 "UU-Data/uui", HFILL }},
15881 { &hf_gsm_map_uusCFInteraction,
15882 { "uusCFInteraction", "gsm_map.uusCFInteraction",
15883 FT_NONE, BASE_NONE, NULL, 0,
15884 "UU-Data/uusCFInteraction", HFILL }},
15885 { &hf_gsm_map_isdn_BearerCapability,
15886 { "isdn-BearerCapability", "gsm_map.isdn_BearerCapability",
15887 FT_NONE, BASE_NONE, NULL, 0,
15888 "ProvideSIWFSNumberArg/isdn-BearerCapability", HFILL }},
15889 { &hf_gsm_map_call_Direction,
15890 { "call-Direction", "gsm_map.call_Direction",
15891 FT_BYTES, BASE_HEX, NULL, 0,
15892 "ProvideSIWFSNumberArg/call-Direction", HFILL }},
15893 { &hf_gsm_map_b_Subscriber_Address,
15894 { "b-Subscriber-Address", "gsm_map.b_Subscriber_Address",
15895 FT_BYTES, BASE_HEX, NULL, 0,
15896 "ProvideSIWFSNumberArg/b-Subscriber-Address", HFILL }},
15897 { &hf_gsm_map_chosenChannel,
15898 { "chosenChannel", "gsm_map.chosenChannel",
15899 FT_NONE, BASE_NONE, NULL, 0,
15901 { &hf_gsm_map_lowerLayerCompatibility,
15902 { "lowerLayerCompatibility", "gsm_map.lowerLayerCompatibility",
15903 FT_NONE, BASE_NONE, NULL, 0,
15904 "ProvideSIWFSNumberArg/lowerLayerCompatibility", HFILL }},
15905 { &hf_gsm_map_highLayerCompatibility,
15906 { "highLayerCompatibility", "gsm_map.highLayerCompatibility",
15907 FT_NONE, BASE_NONE, NULL, 0,
15908 "ProvideSIWFSNumberArg/highLayerCompatibility", HFILL }},
15909 { &hf_gsm_map_sIWFSNumber,
15910 { "sIWFSNumber", "gsm_map.sIWFSNumber",
15911 FT_BYTES, BASE_HEX, NULL, 0,
15912 "ProvideSIWFSNumberRes/sIWFSNumber", HFILL }},
15913 { &hf_gsm_map_channelType,
15914 { "channelType", "gsm_map.channelType",
15915 FT_NONE, BASE_NONE, NULL, 0,
15917 { &hf_gsm_map_ccbs_Monitoring,
15918 { "ccbs-Monitoring", "gsm_map.ccbs_Monitoring",
15919 FT_UINT32, BASE_DEC, VALS(gsm_map_ReportingState_vals), 0,
15920 "SetReportingStateArg/ccbs-Monitoring", HFILL }},
15921 { &hf_gsm_map_ccbs_SubscriberStatus,
15922 { "ccbs-SubscriberStatus", "gsm_map.ccbs_SubscriberStatus",
15923 FT_UINT32, BASE_DEC, VALS(gsm_map_CCBS_SubscriberStatus_vals), 0,
15925 { &hf_gsm_map_eventReportData,
15926 { "eventReportData", "gsm_map.eventReportData",
15927 FT_NONE, BASE_NONE, NULL, 0,
15928 "StatusReportArg/eventReportData", HFILL }},
15929 { &hf_gsm_map_callReportdata,
15930 { "callReportdata", "gsm_map.callReportdata",
15931 FT_NONE, BASE_NONE, NULL, 0,
15932 "StatusReportArg/callReportdata", HFILL }},
15933 { &hf_gsm_map_monitoringMode,
15934 { "monitoringMode", "gsm_map.monitoringMode",
15935 FT_UINT32, BASE_DEC, VALS(gsm_map_MonitoringMode_vals), 0,
15936 "CallReportData/monitoringMode", HFILL }},
15937 { &hf_gsm_map_callOutcome,
15938 { "callOutcome", "gsm_map.callOutcome",
15939 FT_UINT32, BASE_DEC, VALS(gsm_map_CallOutcome_vals), 0,
15940 "CallReportData/callOutcome", HFILL }},
15941 { &hf_gsm_map_callTerminationIndicator,
15942 { "callTerminationIndicator", "gsm_map.callTerminationIndicator",
15943 FT_UINT32, BASE_DEC, VALS(gsm_map_CallTerminationIndicator_vals), 0,
15944 "IST-AlertRes/callTerminationIndicator", HFILL }},
15945 { &hf_gsm_map_msrn,
15946 { "msrn", "gsm_map.msrn",
15947 FT_BYTES, BASE_HEX, NULL, 0,
15948 "ReleaseResourcesArg/msrn", HFILL }},
15949 { &hf_gsm_map_callInfo,
15950 { "callInfo", "gsm_map.callInfo",
15951 FT_NONE, BASE_NONE, NULL, 0,
15953 { &hf_gsm_map_ccbs_Feature,
15954 { "ccbs-Feature", "gsm_map.ccbs_Feature",
15955 FT_NONE, BASE_NONE, NULL, 0,
15957 { &hf_gsm_map_translatedB_Number,
15958 { "translatedB-Number", "gsm_map.translatedB_Number",
15959 FT_BYTES, BASE_HEX, NULL, 0,
15961 { &hf_gsm_map_replaceB_Number,
15962 { "replaceB-Number", "gsm_map.replaceB_Number",
15963 FT_NONE, BASE_NONE, NULL, 0,
15964 "RemoteUserFreeArg/replaceB-Number", HFILL }},
15965 { &hf_gsm_map_ruf_Outcome,
15966 { "ruf-Outcome", "gsm_map.ruf_Outcome",
15967 FT_UINT32, BASE_DEC, VALS(gsm_map_Ruf_Outcome_vals), 0,
15968 "RemoteUserFreeRes/ruf-Outcome", HFILL }},
15969 { &hf_gsm_map_ext_basicServiceGroupList,
15970 { "basicServiceGroupList", "gsm_map.basicServiceGroupList",
15971 FT_NONE, BASE_NONE, NULL, 0,
15973 { &hf_gsm_map_cliRestrictionOption,
15974 { "cliRestrictionOption", "gsm_map.cliRestrictionOption",
15975 FT_UINT32, BASE_DEC, VALS(gsm_map_CliRestrictionOption_vals), 0,
15977 { &hf_gsm_map_overrideCategory,
15978 { "overrideCategory", "gsm_map.overrideCategory",
15979 FT_UINT32, BASE_DEC, VALS(gsm_map_OverrideCategory_vals), 0,
15980 "SS-SubscriptionOption/overrideCategory", HFILL }},
15981 { &hf_gsm_map_forwardedToNumber_addr,
15982 { "forwardedToNumber", "gsm_map.forwardedToNumber",
15983 FT_BYTES, BASE_HEX, NULL, 0,
15985 { &hf_gsm_map_forwardingInfo,
15986 { "forwardingInfo", "gsm_map.forwardingInfo",
15987 FT_NONE, BASE_NONE, NULL, 0,
15988 "SS-Info/forwardingInfo", HFILL }},
15989 { &hf_gsm_map_callBarringInfo,
15990 { "callBarringInfo", "gsm_map.callBarringInfo",
15991 FT_NONE, BASE_NONE, NULL, 0,
15992 "SS-Info/callBarringInfo", HFILL }},
15993 { &hf_gsm_map_ss_Data,
15994 { "ss-Data", "gsm_map.ss_Data",
15995 FT_NONE, BASE_NONE, NULL, 0,
15996 "SS-Info/ss-Data", HFILL }},
15997 { &hf_gsm_map_genericServiceInfo,
15998 { "genericServiceInfo", "gsm_map.genericServiceInfo",
15999 FT_NONE, BASE_NONE, NULL, 0,
16000 "InterrogateSS-Res/genericServiceInfo", HFILL }},
16001 { &hf_gsm_map_ussd_DataCodingScheme,
16002 { "ussd-DataCodingScheme", "gsm_map.ussd_DataCodingScheme",
16003 FT_BYTES, BASE_HEX, NULL, 0,
16005 { &hf_gsm_map_ussd_String,
16006 { "ussd-String", "gsm_map.ussd_String",
16007 FT_BYTES, BASE_HEX, NULL, 0,
16009 { &hf_gsm_map_failureCause,
16010 { "failureCause", "gsm_map.failureCause",
16011 FT_UINT32, BASE_DEC, VALS(gsm_map_FailureCause_vals), 0,
16012 "AuthenticationFailureReportArg/failureCause", HFILL }},
16013 { &hf_gsm_map_re_attempt,
16014 { "re-attempt", "gsm_map.re_attempt",
16015 FT_BOOLEAN, 8, NULL, 0,
16016 "AuthenticationFailureReportArg/re-attempt", HFILL }},
16017 { &hf_gsm_map_accessType,
16018 { "accessType", "gsm_map.accessType",
16019 FT_UINT32, BASE_DEC, VALS(gsm_map_AccessType_vals), 0,
16020 "AuthenticationFailureReportArg/accessType", HFILL }},
16021 { &hf_gsm_map_ccbs_Data,
16022 { "ccbs-Data", "gsm_map.ccbs_Data",
16023 FT_NONE, BASE_NONE, NULL, 0,
16024 "RegisterCC-EntryArg/ccbs-Data", HFILL }},
16025 { &hf_gsm_map_serviceIndicator,
16026 { "serviceIndicator", "gsm_map.serviceIndicator",
16027 FT_BYTES, BASE_HEX, NULL, 0,
16028 "CCBS-Data/serviceIndicator", HFILL }},
16029 { &hf_gsm_map_ccbs_Index,
16030 { "ccbs-Index", "gsm_map.ccbs_Index",
16031 FT_UINT32, BASE_DEC, NULL, 0,
16033 { &hf_gsm_map_sm_RP_PRI,
16034 { "sm-RP-PRI", "gsm_map.sm_RP_PRI",
16035 FT_BOOLEAN, 8, NULL, 0,
16036 "RoutingInfoForSMArg/sm-RP-PRI", HFILL }},
16037 { &hf_gsm_map_serviceCentreAddress,
16038 { "serviceCentreAddress", "gsm_map.serviceCentreAddress",
16039 FT_BYTES, BASE_HEX, NULL, 0,
16041 { &hf_gsm_map_gprsSupportIndicator,
16042 { "gprsSupportIndicator", "gsm_map.gprsSupportIndicator",
16043 FT_NONE, BASE_NONE, NULL, 0,
16045 { &hf_gsm_map_sm_RP_MTI,
16046 { "sm-RP-MTI", "gsm_map.sm_RP_MTI",
16047 FT_UINT32, BASE_DEC, NULL, 0,
16048 "RoutingInfoForSMArg/sm-RP-MTI", HFILL }},
16049 { &hf_gsm_map_sm_RP_SMEA,
16050 { "sm-RP-SMEA", "gsm_map.sm_RP_SMEA",
16051 FT_BYTES, BASE_HEX, NULL, 0,
16052 "RoutingInfoForSMArg/sm-RP-SMEA", HFILL }},
16053 { &hf_gsm_map_locationInfoWithLMSI,
16054 { "locationInfoWithLMSI", "gsm_map.locationInfoWithLMSI",
16055 FT_NONE, BASE_NONE, NULL, 0,
16056 "RoutingInfoForSM-Res/locationInfoWithLMSI", HFILL }},
16057 { &hf_gsm_map_networkNode_Number,
16058 { "networkNode-Number", "gsm_map.networkNode_Number",
16059 FT_BYTES, BASE_HEX, NULL, 0,
16061 { &hf_gsm_map_gprsNodeIndicator,
16062 { "gprsNodeIndicator", "gsm_map.gprsNodeIndicator",
16063 FT_NONE, BASE_NONE, NULL, 0,
16065 { &hf_gsm_map_additional_Number,
16066 { "additional-Number", "gsm_map.additional_Number",
16067 FT_UINT32, BASE_DEC, VALS(gsm_map_Additional_Number_vals), 0,
16069 { &hf_gsm_map_sm_RP_DA,
16070 { "sm-RP-DA", "gsm_map.sm_RP_DA",
16071 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_DA_vals), 0,
16073 { &hf_gsm_map_sm_RP_OA,
16074 { "sm-RP-OA", "gsm_map.sm_RP_OA",
16075 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_OA_vals), 0,
16077 { &hf_gsm_map_sm_RP_UI,
16078 { "sm-RP-UI", "gsm_map.sm_RP_UI",
16079 FT_BYTES, BASE_HEX, NULL, 0,
16081 { &hf_gsm_map_serviceCentreAddressOA,
16082 { "serviceCentreAddressOA", "gsm_map.serviceCentreAddressOA",
16083 FT_BYTES, BASE_HEX, NULL, 0,
16084 "Sm-RP-OA/serviceCentreAddressOA", HFILL }},
16085 { &hf_gsm_map_noSM_RP_OA,
16086 { "noSM-RP-OA", "gsm_map.noSM_RP_OA",
16087 FT_NONE, BASE_NONE, NULL, 0,
16088 "Sm-RP-OA/noSM-RP-OA", HFILL }},
16089 { &hf_gsm_map_serviceCentreAddressDA,
16090 { "serviceCentreAddressDA", "gsm_map.serviceCentreAddressDA",
16091 FT_BYTES, BASE_HEX, NULL, 0,
16092 "Sm-RP-DA/serviceCentreAddressDA", HFILL }},
16093 { &hf_gsm_map_noSM_RP_DA,
16094 { "noSM-RP-DA", "gsm_map.noSM_RP_DA",
16095 FT_NONE, BASE_NONE, NULL, 0,
16096 "Sm-RP-DA/noSM-RP-DA", HFILL }},
16097 { &hf_gsm_map_moreMessagesToSend,
16098 { "moreMessagesToSend", "gsm_map.moreMessagesToSend",
16099 FT_NONE, BASE_NONE, NULL, 0,
16100 "Mt-forwardSM-Arg/moreMessagesToSend", HFILL }},
16101 { &hf_gsm_map_sm_DeliveryOutcome,
16102 { "sm-DeliveryOutcome", "gsm_map.sm_DeliveryOutcome",
16103 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
16104 "ReportSM-DeliveryStatusArg/sm-DeliveryOutcome", HFILL }},
16105 { &hf_gsm_map_absentSubscriberDiagnosticSM,
16106 { "absentSubscriberDiagnosticSM", "gsm_map.absentSubscriberDiagnosticSM",
16107 FT_UINT32, BASE_DEC, NULL, 0,
16109 { &hf_gsm_map_deliveryOutcomeIndicator,
16110 { "deliveryOutcomeIndicator", "gsm_map.deliveryOutcomeIndicator",
16111 FT_NONE, BASE_NONE, NULL, 0,
16112 "ReportSM-DeliveryStatusArg/deliveryOutcomeIndicator", HFILL }},
16113 { &hf_gsm_map_additionalSM_DeliveryOutcome,
16114 { "additionalSM-DeliveryOutcome", "gsm_map.additionalSM_DeliveryOutcome",
16115 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
16116 "ReportSM-DeliveryStatusArg/additionalSM-DeliveryOutcome", HFILL }},
16117 { &hf_gsm_map_additionalAbsentSubscriberDiagnosticSM,
16118 { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.additionalAbsentSubscriberDiagnosticSM",
16119 FT_UINT32, BASE_DEC, NULL, 0,
16121 { &hf_gsm_map_storedMSISDN,
16122 { "storedMSISDN", "gsm_map.storedMSISDN",
16123 FT_BYTES, BASE_HEX, NULL, 0,
16125 { &hf_gsm_map_mw_Status,
16126 { "mw-Status", "gsm_map.mw_Status",
16127 FT_BYTES, BASE_HEX, NULL, 0,
16128 "InformServiceCentreArg/mw-Status", HFILL }},
16129 { &hf_gsm_map_alertReason,
16130 { "alertReason", "gsm_map.alertReason",
16131 FT_UINT32, BASE_DEC, VALS(gsm_map_T_alertReason_vals), 0,
16132 "ReadyForSM-Arg/alertReason", HFILL }},
16133 { &hf_gsm_map_alertReasonIndicator,
16134 { "alertReasonIndicator", "gsm_map.alertReasonIndicator",
16135 FT_NONE, BASE_NONE, NULL, 0,
16136 "ReadyForSM-Arg/alertReasonIndicator", HFILL }},
16137 { &hf_gsm_map_requestedInfo,
16138 { "requestedInfo", "gsm_map.requestedInfo",
16139 FT_NONE, BASE_NONE, NULL, 0,
16141 { &hf_gsm_map_locationInformation,
16142 { "locationInformation", "gsm_map.locationInformation",
16143 FT_NONE, BASE_NONE, NULL, 0,
16145 { &hf_gsm_map_subscriberState,
16146 { "subscriberState", "gsm_map.subscriberState",
16147 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberState_vals), 0,
16148 "SubscriberInfo/subscriberState", HFILL }},
16149 { &hf_gsm_map_locationInformationGPRS,
16150 { "locationInformationGPRS", "gsm_map.locationInformationGPRS",
16151 FT_NONE, BASE_NONE, NULL, 0,
16153 { &hf_gsm_map_ps_SubscriberState,
16154 { "ps-SubscriberState", "gsm_map.ps_SubscriberState",
16155 FT_UINT32, BASE_DEC, VALS(gsm_map_PS_SubscriberState_vals), 0,
16156 "SubscriberInfo/ps-SubscriberState", HFILL }},
16157 { &hf_gsm_map_ms_Classmark2,
16158 { "ms-Classmark2", "gsm_map.ms_Classmark2",
16159 FT_BYTES, BASE_HEX, NULL, 0,
16160 "SubscriberInfo/ms-Classmark2", HFILL }},
16161 { &hf_gsm_map_gprs_MS_Class,
16162 { "gprs-MS-Class", "gsm_map.gprs_MS_Class",
16163 FT_NONE, BASE_NONE, NULL, 0,
16164 "SubscriberInfo/gprs-MS-Class", HFILL }},
16165 { &hf_gsm_map_mnpInfoRes,
16166 { "mnpInfoRes", "gsm_map.mnpInfoRes",
16167 FT_NONE, BASE_NONE, NULL, 0,
16168 "SubscriberInfo/mnpInfoRes", HFILL }},
16169 { &hf_gsm_map_routeingNumber,
16170 { "routeingNumber", "gsm_map.routeingNumber",
16171 FT_BYTES, BASE_HEX, NULL, 0,
16172 "MNPInfoRes/routeingNumber", HFILL }},
16173 { &hf_gsm_map_mSNetworkCapability,
16174 { "mSNetworkCapability", "gsm_map.mSNetworkCapability",
16175 FT_BYTES, BASE_HEX, NULL, 0,
16176 "GPRSMSClass/mSNetworkCapability", HFILL }},
16177 { &hf_gsm_map_mSRadioAccessCapability,
16178 { "mSRadioAccessCapability", "gsm_map.mSRadioAccessCapability",
16179 FT_BYTES, BASE_HEX, NULL, 0,
16180 "GPRSMSClass/mSRadioAccessCapability", HFILL }},
16181 { &hf_gsm_map_locationInformation_flg,
16182 { "locationInformation", "gsm_map.locationInformation",
16183 FT_NONE, BASE_NONE, NULL, 0,
16184 "RequestedInfo/locationInformation", HFILL }},
16185 { &hf_gsm_map_subscriberState_flg,
16186 { "subscriberState", "gsm_map.subscriberState",
16187 FT_NONE, BASE_NONE, NULL, 0,
16188 "RequestedInfo/subscriberState", HFILL }},
16189 { &hf_gsm_map_currentLocation,
16190 { "currentLocation", "gsm_map.currentLocation",
16191 FT_NONE, BASE_NONE, NULL, 0,
16192 "RequestedInfo/currentLocation", HFILL }},
16193 { &hf_gsm_map_requestedDomain,
16194 { "requestedDomain", "gsm_map.requestedDomain",
16195 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedDomain_vals), 0,
16196 "RequestedInfo/requestedDomain", HFILL }},
16197 { &hf_gsm_map_imei_flg,
16198 { "imei", "gsm_map.imei",
16199 FT_NONE, BASE_NONE, NULL, 0,
16200 "RequestedInfo/imei", HFILL }},
16201 { &hf_gsm_map_ms_classmark,
16202 { "ms-classmark", "gsm_map.ms_classmark",
16203 FT_NONE, BASE_NONE, NULL, 0,
16204 "RequestedInfo/ms-classmark", HFILL }},
16205 { &hf_gsm_map_mnpRequestedInfo,
16206 { "mnpRequestedInfo", "gsm_map.mnpRequestedInfo",
16207 FT_NONE, BASE_NONE, NULL, 0,
16208 "RequestedInfo/mnpRequestedInfo", HFILL }},
16209 { &hf_gsm_map_subscriberIdentity,
16210 { "subscriberIdentity", "gsm_map.subscriberIdentity",
16211 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
16213 { &hf_gsm_map_requestedSubscriptionInfo,
16214 { "requestedSubscriptionInfo", "gsm_map.requestedSubscriptionInfo",
16215 FT_NONE, BASE_NONE, NULL, 0,
16216 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo", HFILL }},
16217 { &hf_gsm_map_callForwardingData,
16218 { "callForwardingData", "gsm_map.callForwardingData",
16219 FT_NONE, BASE_NONE, NULL, 0,
16220 "AnyTimeSubscriptionInterrogationRes/callForwardingData", HFILL }},
16221 { &hf_gsm_map_callBarringData,
16222 { "callBarringData", "gsm_map.callBarringData",
16223 FT_NONE, BASE_NONE, NULL, 0,
16224 "AnyTimeSubscriptionInterrogationRes/callBarringData", HFILL }},
16225 { &hf_gsm_map_odb_Info,
16226 { "odb-Info", "gsm_map.odb_Info",
16227 FT_NONE, BASE_NONE, NULL, 0,
16229 { &hf_gsm_map_camel_SubscriptionInfo,
16230 { "camel-SubscriptionInfo", "gsm_map.camel_SubscriptionInfo",
16231 FT_NONE, BASE_NONE, NULL, 0,
16233 { &hf_gsm_map_supportedVLR_CAMEL_Phases,
16234 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
16235 FT_BYTES, BASE_HEX, NULL, 0,
16236 "AnyTimeSubscriptionInterrogationRes/supportedVLR-CAMEL-Phases", HFILL }},
16237 { &hf_gsm_map_supportedSGSN_CAMEL_Phases,
16238 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
16239 FT_BYTES, BASE_HEX, NULL, 0,
16240 "AnyTimeSubscriptionInterrogationRes/supportedSGSN-CAMEL-Phases", HFILL }},
16241 { &hf_gsm_map_offeredCamel4CSIsInVLR,
16242 { "offeredCamel4CSIsInVLR", "gsm_map.offeredCamel4CSIsInVLR",
16243 FT_BYTES, BASE_HEX, NULL, 0,
16244 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInVLR", HFILL }},
16245 { &hf_gsm_map_offeredCamel4CSIsInSGSN,
16246 { "offeredCamel4CSIsInSGSN", "gsm_map.offeredCamel4CSIsInSGSN",
16247 FT_BYTES, BASE_HEX, NULL, 0,
16248 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInSGSN", HFILL }},
16249 { &hf_gsm_map_requestedSS_Info,
16250 { "requestedSS-Info", "gsm_map.requestedSS_Info",
16251 FT_NONE, BASE_NONE, NULL, 0,
16252 "RequestedSubscriptionInfo/requestedSS-Info", HFILL }},
16254 { "odb", "gsm_map.odb",
16255 FT_NONE, BASE_NONE, NULL, 0,
16256 "RequestedSubscriptionInfo/odb", HFILL }},
16257 { &hf_gsm_map_requestedCAMEL_SubscriptionInfo,
16258 { "requestedCAMEL-SubscriptionInfo", "gsm_map.requestedCAMEL_SubscriptionInfo",
16259 FT_UINT32, BASE_DEC, VALS(gsm_map_RequestedCAMEL_SubscriptionInfo_vals), 0,
16260 "RequestedSubscriptionInfo/requestedCAMEL-SubscriptionInfo", HFILL }},
16261 { &hf_gsm_map_supportedVLR_CAMEL_Phases_flg,
16262 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
16263 FT_NONE, BASE_NONE, NULL, 0,
16264 "RequestedSubscriptionInfo/supportedVLR-CAMEL-Phases", HFILL }},
16265 { &hf_gsm_map_supportedSGSN_CAMEL_Phases_flg,
16266 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
16267 FT_NONE, BASE_NONE, NULL, 0,
16268 "RequestedSubscriptionInfo/supportedSGSN-CAMEL-Phases", HFILL }},
16269 { &hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo,
16270 { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.additionalRequestedCAMEL_SubscriptionInfo",
16271 FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0,
16273 { &hf_gsm_map_password,
16274 { "password", "gsm_map.password",
16275 FT_STRING, BASE_NONE, NULL, 0,
16277 { &hf_gsm_map_wrongPasswordAttemptsCounter,
16278 { "wrongPasswordAttemptsCounter", "gsm_map.wrongPasswordAttemptsCounter",
16279 FT_UINT32, BASE_DEC, NULL, 0,
16281 { &hf_gsm_map_bearerService,
16282 { "bearerService", "gsm_map.bearerService",
16283 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
16284 "BasicServiceCode/bearerService", HFILL }},
16285 { &hf_gsm_map_teleservice_code,
16286 { "teleservice", "gsm_map.teleservice",
16287 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
16288 "BasicServiceCode/teleservice", HFILL }},
16289 { &hf_gsm_map_O_BcsmCamelTDPCriteriaList_item,
16290 { "Item", "gsm_map.O_BcsmCamelTDPCriteriaList_item",
16291 FT_NONE, BASE_NONE, NULL, 0,
16292 "O-BcsmCamelTDPCriteriaList/_item", HFILL }},
16293 { &hf_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList_item,
16294 { "Item", "gsm_map.T_BCSM_CAMEL_TDP_CriteriaList_item",
16295 FT_NONE, BASE_NONE, NULL, 0,
16296 "T-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
16297 { &hf_gsm_map_destinationNumberCriteria,
16298 { "destinationNumberCriteria", "gsm_map.destinationNumberCriteria",
16299 FT_NONE, BASE_NONE, NULL, 0,
16300 "O-BcsmCamelTDP-Criteria/destinationNumberCriteria", HFILL }},
16301 { &hf_gsm_map_basicServiceCriteria,
16302 { "basicServiceCriteria", "gsm_map.basicServiceCriteria",
16303 FT_NONE, BASE_NONE, NULL, 0,
16305 { &hf_gsm_map_callTypeCriteria,
16306 { "callTypeCriteria", "gsm_map.callTypeCriteria",
16307 FT_UINT32, BASE_DEC, VALS(gsm_map_CallTypeCriteria_vals), 0,
16308 "O-BcsmCamelTDP-Criteria/callTypeCriteria", HFILL }},
16309 { &hf_gsm_map_o_CauseValueCriteria,
16310 { "o-CauseValueCriteria", "gsm_map.o_CauseValueCriteria",
16311 FT_NONE, BASE_NONE, NULL, 0,
16312 "O-BcsmCamelTDP-Criteria/o-CauseValueCriteria", HFILL }},
16313 { &hf_gsm_map_t_BCSM_TriggerDetectionPoint,
16314 { "t-BCSM-TriggerDetectionPoint", "gsm_map.t_BCSM_TriggerDetectionPoint",
16315 FT_UINT32, BASE_DEC, VALS(gsm_map_T_BcsmTriggerDetectionPoint_vals), 0,
16316 "T-BCSM-CAMEL-TDP-Criteria/t-BCSM-TriggerDetectionPoint", HFILL }},
16317 { &hf_gsm_map_t_CauseValueCriteria,
16318 { "t-CauseValueCriteria", "gsm_map.t_CauseValueCriteria",
16319 FT_NONE, BASE_NONE, NULL, 0,
16320 "T-BCSM-CAMEL-TDP-Criteria/t-CauseValueCriteria", HFILL }},
16321 { &hf_gsm_map_maximumEntitledPriority,
16322 { "maximumEntitledPriority", "gsm_map.maximumEntitledPriority",
16323 FT_UINT32, BASE_DEC, NULL, 0,
16324 "GenericServiceInfo/maximumEntitledPriority", HFILL }},
16325 { &hf_gsm_map_ccbs_FeatureList,
16326 { "ccbs-FeatureList", "gsm_map.ccbs_FeatureList",
16327 FT_NONE, BASE_NONE, NULL, 0,
16328 "GenericServiceInfo/ccbs-FeatureList", HFILL }},
16329 { &hf_gsm_map_nbrSN,
16330 { "nbrSN", "gsm_map.nbrSN",
16331 FT_UINT32, BASE_DEC, NULL, 0,
16332 "GenericServiceInfo/nbrSN", HFILL }},
16333 { &hf_gsm_map_CCBS_FeatureList_item,
16334 { "Item", "gsm_map.CCBS_FeatureList_item",
16335 FT_NONE, BASE_NONE, NULL, 0,
16336 "CCBS-FeatureList/_item", HFILL }},
16337 { &hf_gsm_map_b_subscriberNumber,
16338 { "b-subscriberNumber", "gsm_map.b_subscriberNumber",
16339 FT_BYTES, BASE_HEX, NULL, 0,
16340 "CCBS-Feature/b-subscriberNumber", HFILL }},
16341 { &hf_gsm_map_b_subscriberSubaddress,
16342 { "b-subscriberSubaddress", "gsm_map.b_subscriberSubaddress",
16343 FT_BYTES, BASE_HEX, NULL, 0,
16344 "CCBS-Feature/b-subscriberSubaddress", HFILL }},
16345 { &hf_gsm_map_basicServiceGroup,
16346 { "basicServiceGroup", "gsm_map.basicServiceGroup",
16347 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
16348 "CCBS-Feature/basicServiceGroup", HFILL }},
16349 { &hf_gsm_map_T_CauseValueCriteria_item,
16350 { "Item", "gsm_map.T_CauseValueCriteria_item",
16351 FT_BYTES, BASE_HEX, NULL, 0,
16352 "T-CauseValueCriteria/_item", HFILL }},
16353 { &hf_gsm_map_O_CauseValueCriteria_item,
16354 { "Item", "gsm_map.O_CauseValueCriteria_item",
16355 FT_BYTES, BASE_HEX, NULL, 0,
16356 "O-CauseValueCriteria/_item", HFILL }},
16357 { &hf_gsm_map_BasicServiceCriteria_item,
16358 { "Item", "gsm_map.BasicServiceCriteria_item",
16359 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
16360 "BasicServiceCriteria/_item", HFILL }},
16361 { &hf_gsm_map_modificationRequestFor_CF_Info,
16362 { "modificationRequestFor-CF-Info", "gsm_map.modificationRequestFor_CF_Info",
16363 FT_NONE, BASE_NONE, NULL, 0,
16364 "AnyTimeModificationArg/modificationRequestFor-CF-Info", HFILL }},
16365 { &hf_gsm_map_modificationRequestFor_CB_Info,
16366 { "modificationRequestFor-CB-Info", "gsm_map.modificationRequestFor_CB_Info",
16367 FT_NONE, BASE_NONE, NULL, 0,
16368 "AnyTimeModificationArg/modificationRequestFor-CB-Info", HFILL }},
16369 { &hf_gsm_map_modificationRequestFor_CSI,
16370 { "modificationRequestFor-CSI", "gsm_map.modificationRequestFor_CSI",
16371 FT_NONE, BASE_NONE, NULL, 0,
16372 "AnyTimeModificationArg/modificationRequestFor-CSI", HFILL }},
16373 { &hf_gsm_map_modificationRequestFor_ODB_data,
16374 { "modificationRequestFor-ODB-data", "gsm_map.modificationRequestFor_ODB_data",
16375 FT_NONE, BASE_NONE, NULL, 0,
16376 "AnyTimeModificationArg/modificationRequestFor-ODB-data", HFILL }},
16377 { &hf_gsm_map_ss_InfoFor_CSE,
16378 { "ss-InfoFor-CSE", "gsm_map.ss_InfoFor_CSE",
16379 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_SS_InfoFor_CSE_vals), 0,
16380 "AnyTimeModificationRes/ss-InfoFor-CSE", HFILL }},
16381 { &hf_gsm_map_modifyNotificationToCSE,
16382 { "modifyNotificationToCSE", "gsm_map.modifyNotificationToCSE",
16383 FT_UINT32, BASE_DEC, VALS(gsm_map_ModificationInstruction_vals), 0,
16385 { &hf_gsm_map_odb_data,
16386 { "odb-data", "gsm_map.odb_data",
16387 FT_NONE, BASE_NONE, NULL, 0,
16388 "ModificationRequestFor-ODB-data/odb-data", HFILL }},
16389 { &hf_gsm_map_requestedCamel_SubscriptionInfo,
16390 { "requestedCamel-SubscriptionInfo", "gsm_map.requestedCamel_SubscriptionInfo",
16391 FT_UINT32, BASE_DEC, VALS(gsm_map_RequestedCAMEL_SubscriptionInfo_vals), 0,
16392 "ModificationRequestFor-CSI/requestedCamel-SubscriptionInfo", HFILL }},
16393 { &hf_gsm_map_modifyCSI_State,
16394 { "modifyCSI-State", "gsm_map.modifyCSI_State",
16395 FT_UINT32, BASE_DEC, VALS(gsm_map_ModificationInstruction_vals), 0,
16396 "ModificationRequestFor-CSI/modifyCSI-State", HFILL }},
16397 { &hf_gsm_map_forwardingInfoFor_CSE,
16398 { "forwardingInfoFor-CSE", "gsm_map.forwardingInfoFor_CSE",
16399 FT_NONE, BASE_NONE, NULL, 0,
16401 { &hf_gsm_map_callBarringInfoFor_CSE,
16402 { "callBarringInfoFor-CSE", "gsm_map.callBarringInfoFor_CSE",
16403 FT_NONE, BASE_NONE, NULL, 0,
16405 { &hf_gsm_map_eventMet,
16406 { "eventMet", "gsm_map.eventMet",
16407 FT_BYTES, BASE_HEX, NULL, 0,
16408 "NoteMM-EventArg/eventMet", HFILL }},
16409 { &hf_gsm_map_supportedCAMELPhases,
16410 { "supportedCAMELPhases", "gsm_map.supportedCAMELPhases",
16411 FT_BYTES, BASE_HEX, NULL, 0,
16412 "NoteMM-EventArg/supportedCAMELPhases", HFILL }},
16413 { &hf_gsm_map_offeredCamel4Functionalities,
16414 { "offeredCamel4Functionalities", "gsm_map.offeredCamel4Functionalities",
16415 FT_BYTES, BASE_HEX, NULL, 0,
16416 "NoteMM-EventArg/offeredCamel4Functionalities", HFILL }},
16417 { &hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList,
16418 { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_BCSM_CAMEL_TDP_CriteriaList",
16419 FT_NONE, BASE_NONE, NULL, 0,
16420 "CAMEL-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
16421 { &hf_gsm_map_tif_CSI_NotificationToCSE,
16422 { "tif-CSI-NotificationToCSE", "gsm_map.tif_CSI_NotificationToCSE",
16423 FT_NONE, BASE_NONE, NULL, 0,
16424 "CAMEL-SubscriptionInfo/tif-CSI-NotificationToCSE", HFILL }},
16425 { &hf_gsm_map_specificCSIDeletedList,
16426 { "specificCSIDeletedList", "gsm_map.specificCSIDeletedList",
16427 FT_BYTES, BASE_HEX, NULL, 0,
16428 "CAMEL-SubscriptionInfo/specificCSIDeletedList", HFILL }},
16429 { &hf_gsm_map_o_IM_CSI,
16430 { "o-IM-CSI", "gsm_map.o_IM_CSI",
16431 FT_NONE, BASE_NONE, NULL, 0,
16432 "CAMEL-SubscriptionInfo/o-IM-CSI", HFILL }},
16433 { &hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList,
16434 { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.o_IM_BcsmCamelTDP_CriteriaList",
16435 FT_NONE, BASE_NONE, NULL, 0,
16436 "CAMEL-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList", HFILL }},
16437 { &hf_gsm_map_d_IM_CSI,
16438 { "d-IM-CSI", "gsm_map.d_IM_CSI",
16439 FT_NONE, BASE_NONE, NULL, 0,
16440 "CAMEL-SubscriptionInfo/d-IM-CSI", HFILL }},
16441 { &hf_gsm_map_vt_IM_CSI,
16442 { "vt-IM-CSI", "gsm_map.vt_IM_CSI",
16443 FT_NONE, BASE_NONE, NULL, 0,
16444 "CAMEL-SubscriptionInfo/vt-IM-CSI", HFILL }},
16445 { &hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
16446 { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_IM_BCSM_CAMEL_TDP_CriteriaList",
16447 FT_NONE, BASE_NONE, NULL, 0,
16448 "CAMEL-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
16449 { &hf_gsm_map_ext_BearerService,
16450 { "ext-BearerService", "gsm_map.ext_BearerService",
16451 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
16452 "Ext-BasicServiceCode/ext-BearerService", HFILL }},
16453 { &hf_gsm_map_ext_Teleservice,
16454 { "ext-Teleservice", "gsm_map.ext_Teleservice",
16455 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
16456 "Ext-BasicServiceCode/ext-Teleservice", HFILL }},
16457 { &hf_gsm_map_odb_HPLMN_Data,
16458 { "odb-HPLMN-Data", "gsm_map.odb_HPLMN_Data",
16459 FT_BYTES, BASE_HEX, NULL, 0,
16460 "ODB-Data/odb-HPLMN-Data", HFILL }},
16461 { &hf_gsm_map_SS_EventList_item,
16462 { "Item", "gsm_map.SS_EventList_item",
16463 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
16464 "SS-EventList/_item", HFILL }},
16465 { &hf_gsm_map_t_BcsmCamelTDPDataList,
16466 { "t-BcsmCamelTDPDataList", "gsm_map.t_BcsmCamelTDPDataList",
16467 FT_NONE, BASE_NONE, NULL, 0,
16468 "T-CSI/t-BcsmCamelTDPDataList", HFILL }},
16469 { &hf_gsm_map_T_BcsmCamelTDPDataList_item,
16470 { "Item", "gsm_map.T_BcsmCamelTDPDataList_item",
16471 FT_NONE, BASE_NONE, NULL, 0,
16472 "T-BcsmCamelTDPDataList/_item", HFILL }},
16473 { &hf_gsm_map_t_BcsmTriggerDetectionPoint,
16474 { "t-BcsmTriggerDetectionPoint", "gsm_map.t_BcsmTriggerDetectionPoint",
16475 FT_UINT32, BASE_DEC, VALS(gsm_map_T_BcsmTriggerDetectionPoint_vals), 0,
16476 "T-BcsmCamelTDPData/t-BcsmTriggerDetectionPoint", HFILL }},
16477 { &hf_gsm_map_sms_CAMEL_TDP_DataList,
16478 { "sms-CAMEL-TDP-DataList", "gsm_map.sms_CAMEL_TDP_DataList",
16479 FT_NONE, BASE_NONE, NULL, 0,
16480 "SMS-CSI/sms-CAMEL-TDP-DataList", HFILL }},
16481 { &hf_gsm_map_SMS_CAMEL_TDP_DataList_item,
16482 { "Item", "gsm_map.SMS_CAMEL_TDP_DataList_item",
16483 FT_NONE, BASE_NONE, NULL, 0,
16484 "SMS-CAMEL-TDP-DataList/_item", HFILL }},
16485 { &hf_gsm_map_defaultSMS_Handling,
16486 { "defaultSMS-Handling", "gsm_map.defaultSMS_Handling",
16487 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultSMS_Handling_vals), 0,
16488 "SMS-CAMEL-TDP-Data/defaultSMS-Handling", HFILL }},
16489 { &hf_gsm_map_MobilityTriggers_item,
16490 { "Item", "gsm_map.MobilityTriggers_item",
16491 FT_BYTES, BASE_HEX, NULL, 0,
16492 "MobilityTriggers/_item", HFILL }},
16493 { &hf_gsm_map_ss_Event,
16494 { "ss-Event", "gsm_map.ss_Event",
16495 FT_BYTES, BASE_HEX, NULL, 0,
16496 "Ss-InvocationNotificationArg/ss-Event", HFILL }},
16497 { &hf_gsm_map_ss_EventSpecification,
16498 { "ss-EventSpecification", "gsm_map.ss_EventSpecification",
16499 FT_NONE, BASE_NONE, NULL, 0,
16500 "Ss-InvocationNotificationArg/ss-EventSpecification", HFILL }},
16501 { &hf_gsm_map_ss_EventSpecification_item,
16502 { "Item", "gsm_map.ss_EventSpecification_item",
16503 FT_BYTES, BASE_HEX, NULL, 0,
16504 "Ss-InvocationNotificationArg/ss-EventSpecification/_item", HFILL }},
16505 { &hf_gsm_map_ext_teleservice,
16506 { "teleservice", "gsm_map.teleservice",
16507 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
16508 "PrepareGroupCallArg/teleservice", HFILL }},
16509 { &hf_gsm_map_codec_Info,
16510 { "codec-Info", "gsm_map.codec_Info",
16511 FT_BYTES, BASE_HEX, NULL, 0,
16512 "PrepareGroupCallArg/codec-Info", HFILL }},
16513 { &hf_gsm_map_cipheringAlgorithm,
16514 { "cipheringAlgorithm", "gsm_map.cipheringAlgorithm",
16515 FT_BYTES, BASE_HEX, NULL, 0,
16516 "PrepareGroupCallArg/cipheringAlgorithm", HFILL }},
16517 { &hf_gsm_map_groupKeyNumber_Vk_Id,
16518 { "groupKeyNumber-Vk-Id", "gsm_map.groupKeyNumber_Vk_Id",
16519 FT_UINT32, BASE_DEC, NULL, 0,
16520 "PrepareGroupCallArg/groupKeyNumber-Vk-Id", HFILL }},
16521 { &hf_gsm_map_groupKey,
16522 { "groupKey", "gsm_map.groupKey",
16523 FT_BYTES, BASE_HEX, NULL, 0,
16524 "PrepareGroupCallArg/groupKey", HFILL }},
16525 { &hf_gsm_map_priority,
16526 { "priority", "gsm_map.priority",
16527 FT_UINT32, BASE_DEC, NULL, 0,
16528 "PrepareGroupCallArg/priority", HFILL }},
16529 { &hf_gsm_map_uplinkFree,
16530 { "uplinkFree", "gsm_map.uplinkFree",
16531 FT_NONE, BASE_NONE, NULL, 0,
16532 "PrepareGroupCallArg/uplinkFree", HFILL }},
16533 { &hf_gsm_map_vstk,
16534 { "vstk", "gsm_map.vstk",
16535 FT_BYTES, BASE_HEX, NULL, 0,
16536 "PrepareGroupCallArg/vstk", HFILL }},
16537 { &hf_gsm_map_vstk_rand,
16538 { "vstk-rand", "gsm_map.vstk_rand",
16539 FT_BYTES, BASE_HEX, NULL, 0,
16540 "PrepareGroupCallArg/vstk-rand", HFILL }},
16541 { &hf_gsm_map_groupCallNumber,
16542 { "groupCallNumber", "gsm_map.groupCallNumber",
16543 FT_BYTES, BASE_HEX, NULL, 0,
16544 "PrepareGroupCallRes/groupCallNumber", HFILL }},
16545 { &hf_gsm_map_uplinkRequest,
16546 { "uplinkRequest", "gsm_map.uplinkRequest",
16547 FT_NONE, BASE_NONE, NULL, 0,
16548 "ProcessGroupCallSignallingArg/uplinkRequest", HFILL }},
16549 { &hf_gsm_map_uplinkReleaseIndication,
16550 { "uplinkReleaseIndication", "gsm_map.uplinkReleaseIndication",
16551 FT_NONE, BASE_NONE, NULL, 0,
16553 { &hf_gsm_map_releaseGroupCall,
16554 { "releaseGroupCall", "gsm_map.releaseGroupCall",
16555 FT_NONE, BASE_NONE, NULL, 0,
16556 "ProcessGroupCallSignallingArg/releaseGroupCall", HFILL }},
16557 { &hf_gsm_map_uplinkRequestAck,
16558 { "uplinkRequestAck", "gsm_map.uplinkRequestAck",
16559 FT_NONE, BASE_NONE, NULL, 0,
16560 "ForwardGroupCallSignallingArg/uplinkRequestAck", HFILL }},
16561 { &hf_gsm_map_uplinkRejectCommand,
16562 { "uplinkRejectCommand", "gsm_map.uplinkRejectCommand",
16563 FT_NONE, BASE_NONE, NULL, 0,
16564 "ForwardGroupCallSignallingArg/uplinkRejectCommand", HFILL }},
16565 { &hf_gsm_map_uplinkSeizedCommand,
16566 { "uplinkSeizedCommand", "gsm_map.uplinkSeizedCommand",
16567 FT_NONE, BASE_NONE, NULL, 0,
16568 "ForwardGroupCallSignallingArg/uplinkSeizedCommand", HFILL }},
16569 { &hf_gsm_map_uplinkReleaseCommand,
16570 { "uplinkReleaseCommand", "gsm_map.uplinkReleaseCommand",
16571 FT_NONE, BASE_NONE, NULL, 0,
16572 "ForwardGroupCallSignallingArg/uplinkReleaseCommand", HFILL }},
16573 { &hf_gsm_map_sgsn_Address,
16574 { "sgsn-Address", "gsm_map.sgsn_Address",
16575 FT_BYTES, BASE_HEX, NULL, 0,
16577 { &hf_gsm_map_sgsn_Capability,
16578 { "sgsn-Capability", "gsm_map.sgsn_Capability",
16579 FT_NONE, BASE_NONE, NULL, 0,
16580 "UpdateGprsLocationArg/sgsn-Capability", HFILL }},
16581 { &hf_gsm_map_ps_LCS_NotSupportedByUE,
16582 { "ps-LCS-NotSupportedByUE", "gsm_map.ps_LCS_NotSupportedByUE",
16583 FT_NONE, BASE_NONE, NULL, 0,
16584 "UpdateGprsLocationArg/ps-LCS-NotSupportedByUE", HFILL }},
16585 { &hf_gsm_map_gprsEnhancementsSupportIndicator,
16586 { "gprsEnhancementsSupportIndicator", "gsm_map.gprsEnhancementsSupportIndicator",
16587 FT_NONE, BASE_NONE, NULL, 0,
16588 "SGSN-Capability/gprsEnhancementsSupportIndicator", HFILL }},
16589 { &hf_gsm_map_smsCallBarringSupportIndicator,
16590 { "smsCallBarringSupportIndicator", "gsm_map.smsCallBarringSupportIndicator",
16591 FT_NONE, BASE_NONE, NULL, 0,
16592 "SGSN-Capability/smsCallBarringSupportIndicator", HFILL }},
16593 { &hf_gsm_map_ggsn_Number,
16594 { "ggsn-Number", "gsm_map.ggsn_Number",
16595 FT_BYTES, BASE_HEX, NULL, 0,
16597 { &hf_gsm_map_mobileNotReachableReason,
16598 { "mobileNotReachableReason", "gsm_map.mobileNotReachableReason",
16599 FT_UINT32, BASE_DEC, NULL, 0,
16600 "SendRoutingInfoForGprsRes/mobileNotReachableReason", HFILL }},
16601 { &hf_gsm_map_locationType,
16602 { "locationType", "gsm_map.locationType",
16603 FT_NONE, BASE_NONE, NULL, 0,
16604 "ProvideSubscriberLocation-Arg/locationType", HFILL }},
16605 { &hf_gsm_map_mlc_Number,
16606 { "mlc-Number", "gsm_map.mlc_Number",
16607 FT_BYTES, BASE_HEX, NULL, 0,
16608 "ProvideSubscriberLocation-Arg/mlc-Number", HFILL }},
16609 { &hf_gsm_map_lcs_ClientID,
16610 { "lcs-ClientID", "gsm_map.lcs_ClientID",
16611 FT_NONE, BASE_NONE, NULL, 0,
16613 { &hf_gsm_map_privacyOverride,
16614 { "privacyOverride", "gsm_map.privacyOverride",
16615 FT_NONE, BASE_NONE, NULL, 0,
16616 "ProvideSubscriberLocation-Arg/privacyOverride", HFILL }},
16617 { &hf_gsm_map_lcs_Priority,
16618 { "lcs-Priority", "gsm_map.lcs_Priority",
16619 FT_BYTES, BASE_HEX, NULL, 0,
16620 "ProvideSubscriberLocation-Arg/lcs-Priority", HFILL }},
16621 { &hf_gsm_map_lcs_QoS,
16622 { "lcs-QoS", "gsm_map.lcs_QoS",
16623 FT_NONE, BASE_NONE, NULL, 0,
16624 "ProvideSubscriberLocation-Arg/lcs-QoS", HFILL }},
16625 { &hf_gsm_map_supportedGADShapes,
16626 { "supportedGADShapes", "gsm_map.supportedGADShapes",
16627 FT_BYTES, BASE_HEX, NULL, 0,
16628 "ProvideSubscriberLocation-Arg/supportedGADShapes", HFILL }},
16629 { &hf_gsm_map_lcs_ReferenceNumber,
16630 { "lcs-ReferenceNumber", "gsm_map.lcs_ReferenceNumber",
16631 FT_BYTES, BASE_HEX, NULL, 0,
16633 { &hf_gsm_map_lcsServiceTypeID,
16634 { "lcsServiceTypeID", "gsm_map.lcsServiceTypeID",
16635 FT_UINT32, BASE_DEC, NULL, 0,
16637 { &hf_gsm_map_lcsCodeword,
16638 { "lcsCodeword", "gsm_map.lcsCodeword",
16639 FT_NONE, BASE_NONE, NULL, 0,
16640 "ProvideSubscriberLocation-Arg/lcsCodeword", HFILL }},
16641 { &hf_gsm_map_lcs_PrivacyCheck,
16642 { "lcs-PrivacyCheck", "gsm_map.lcs_PrivacyCheck",
16643 FT_NONE, BASE_NONE, NULL, 0,
16644 "ProvideSubscriberLocation-Arg/lcs-PrivacyCheck", HFILL }},
16645 { &hf_gsm_map_areaEventInfo,
16646 { "areaEventInfo", "gsm_map.areaEventInfo",
16647 FT_NONE, BASE_NONE, NULL, 0,
16648 "ProvideSubscriberLocation-Arg/areaEventInfo", HFILL }},
16649 { &hf_gsm_map_h_gmlc_Address,
16650 { "h-gmlc-Address", "gsm_map.h_gmlc_Address",
16651 FT_BYTES, BASE_HEX, NULL, 0,
16653 { &hf_gsm_map_locationEstimateType,
16654 { "locationEstimateType", "gsm_map.locationEstimateType",
16655 FT_UINT32, BASE_DEC, VALS(gsm_map_LocationEstimateType_vals), 0,
16656 "LocationType/locationEstimateType", HFILL }},
16657 { &hf_gsm_map_deferredLocationEventType,
16658 { "deferredLocationEventType", "gsm_map.deferredLocationEventType",
16659 FT_BYTES, BASE_HEX, NULL, 0,
16661 { &hf_gsm_map_lcsClientType,
16662 { "lcsClientType", "gsm_map.lcsClientType",
16663 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientType_vals), 0,
16664 "LCS-ClientID/lcsClientType", HFILL }},
16665 { &hf_gsm_map_lcsClientExternalID,
16666 { "lcsClientExternalID", "gsm_map.lcsClientExternalID",
16667 FT_NONE, BASE_NONE, NULL, 0,
16668 "LCS-ClientID/lcsClientExternalID", HFILL }},
16669 { &hf_gsm_map_lcsClientDialedByMS,
16670 { "lcsClientDialedByMS", "gsm_map.lcsClientDialedByMS",
16671 FT_BYTES, BASE_HEX, NULL, 0,
16672 "LCS-ClientID/lcsClientDialedByMS", HFILL }},
16673 { &hf_gsm_map_lcsClientInternalID,
16674 { "lcsClientInternalID", "gsm_map.lcsClientInternalID",
16675 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
16676 "LCS-ClientID/lcsClientInternalID", HFILL }},
16677 { &hf_gsm_map_lcsClientName,
16678 { "lcsClientName", "gsm_map.lcsClientName",
16679 FT_NONE, BASE_NONE, NULL, 0,
16680 "LCS-ClientID/lcsClientName", HFILL }},
16681 { &hf_gsm_map_lcsAPN,
16682 { "lcsAPN", "gsm_map.lcsAPN",
16683 FT_BYTES, BASE_HEX, NULL, 0,
16684 "LCS-ClientID/lcsAPN", HFILL }},
16685 { &hf_gsm_map_lcsRequestorID,
16686 { "lcsRequestorID", "gsm_map.lcsRequestorID",
16687 FT_NONE, BASE_NONE, NULL, 0,
16688 "LCS-ClientID/lcsRequestorID", HFILL }},
16689 { &hf_gsm_map_dataCodingScheme,
16690 { "dataCodingScheme", "gsm_map.dataCodingScheme",
16691 FT_BYTES, BASE_HEX, NULL, 0,
16693 { &hf_gsm_map_nameString,
16694 { "nameString", "gsm_map.nameString",
16695 FT_BYTES, BASE_HEX, NULL, 0,
16696 "LCSClientName/nameString", HFILL }},
16697 { &hf_gsm_map_lcs_FormatIndicator,
16698 { "lcs-FormatIndicator", "gsm_map.lcs_FormatIndicator",
16699 FT_UINT32, BASE_DEC, VALS(gsm_map_LCS_FormatIndicator_vals), 0,
16701 { &hf_gsm_map_requestorIDString,
16702 { "requestorIDString", "gsm_map.requestorIDString",
16703 FT_BYTES, BASE_HEX, NULL, 0,
16704 "LCSRequestorID/requestorIDString", HFILL }},
16705 { &hf_gsm_map_horizontal_accuracy,
16706 { "horizontal-accuracy", "gsm_map.horizontal_accuracy",
16707 FT_BYTES, BASE_HEX, NULL, 0,
16708 "LCS-QoS/horizontal-accuracy", HFILL }},
16709 { &hf_gsm_map_verticalCoordinateRequest,
16710 { "verticalCoordinateRequest", "gsm_map.verticalCoordinateRequest",
16711 FT_NONE, BASE_NONE, NULL, 0,
16712 "LCS-QoS/verticalCoordinateRequest", HFILL }},
16713 { &hf_gsm_map_vertical_accuracy,
16714 { "vertical-accuracy", "gsm_map.vertical_accuracy",
16715 FT_BYTES, BASE_HEX, NULL, 0,
16716 "LCS-QoS/vertical-accuracy", HFILL }},
16717 { &hf_gsm_map_responseTime,
16718 { "responseTime", "gsm_map.responseTime",
16719 FT_NONE, BASE_NONE, NULL, 0,
16720 "LCS-QoS/responseTime", HFILL }},
16721 { &hf_gsm_map_responseTimeCategory,
16722 { "responseTimeCategory", "gsm_map.responseTimeCategory",
16723 FT_UINT32, BASE_DEC, VALS(gsm_map_ResponseTimeCategory_vals), 0,
16724 "ResponseTime/responseTimeCategory", HFILL }},
16725 { &hf_gsm_map_lcsCodewordString,
16726 { "lcsCodewordString", "gsm_map.lcsCodewordString",
16727 FT_BYTES, BASE_HEX, NULL, 0,
16728 "LCSCodeword/lcsCodewordString", HFILL }},
16729 { &hf_gsm_map_callSessionUnrelated,
16730 { "callSessionUnrelated", "gsm_map.callSessionUnrelated",
16731 FT_UINT32, BASE_DEC, VALS(gsm_map_PrivacyCheckRelatedAction_vals), 0,
16732 "LCS-PrivacyCheck/callSessionUnrelated", HFILL }},
16733 { &hf_gsm_map_callSessionRelated,
16734 { "callSessionRelated", "gsm_map.callSessionRelated",
16735 FT_UINT32, BASE_DEC, VALS(gsm_map_PrivacyCheckRelatedAction_vals), 0,
16736 "LCS-PrivacyCheck/callSessionRelated", HFILL }},
16737 { &hf_gsm_map_areaDefinition,
16738 { "areaDefinition", "gsm_map.areaDefinition",
16739 FT_NONE, BASE_NONE, NULL, 0,
16740 "AreaEventInfo/areaDefinition", HFILL }},
16741 { &hf_gsm_map_occurrenceInfo,
16742 { "occurrenceInfo", "gsm_map.occurrenceInfo",
16743 FT_UINT32, BASE_DEC, VALS(gsm_map_OccurrenceInfo_vals), 0,
16744 "AreaEventInfo/occurrenceInfo", HFILL }},
16745 { &hf_gsm_map_intervalTime,
16746 { "intervalTime", "gsm_map.intervalTime",
16747 FT_UINT32, BASE_DEC, NULL, 0,
16748 "AreaEventInfo/intervalTime", HFILL }},
16749 { &hf_gsm_map_areaList,
16750 { "areaList", "gsm_map.areaList",
16751 FT_NONE, BASE_NONE, NULL, 0,
16752 "AreaDefinition/areaList", HFILL }},
16753 { &hf_gsm_map_AreaList_item,
16754 { "Item", "gsm_map.AreaList_item",
16755 FT_NONE, BASE_NONE, NULL, 0,
16756 "AreaList/_item", HFILL }},
16757 { &hf_gsm_map_areaType,
16758 { "areaType", "gsm_map.areaType",
16759 FT_UINT32, BASE_DEC, VALS(gsm_map_AreaType_vals), 0,
16760 "Area/areaType", HFILL }},
16761 { &hf_gsm_map_areaIdentification,
16762 { "areaIdentification", "gsm_map.areaIdentification",
16763 FT_BYTES, BASE_HEX, NULL, 0,
16764 "Area/areaIdentification", HFILL }},
16765 { &hf_gsm_map_locationEstimate,
16766 { "locationEstimate", "gsm_map.locationEstimate",
16767 FT_BYTES, BASE_HEX, NULL, 0,
16769 { &hf_gsm_map_ageOfLocationEstimate,
16770 { "ageOfLocationEstimate", "gsm_map.ageOfLocationEstimate",
16771 FT_UINT32, BASE_DEC, NULL, 0,
16773 { &hf_gsm_map_add_LocationEstimate,
16774 { "add-LocationEstimate", "gsm_map.add_LocationEstimate",
16775 FT_BYTES, BASE_HEX, NULL, 0,
16777 { &hf_gsm_map_deferredmt_lrResponseIndicator,
16778 { "deferredmt-lrResponseIndicator", "gsm_map.deferredmt_lrResponseIndicator",
16779 FT_NONE, BASE_NONE, NULL, 0,
16780 "ProvideSubscriberLocation-Res/deferredmt-lrResponseIndicator", HFILL }},
16781 { &hf_gsm_map_geranPositioningData,
16782 { "geranPositioningData", "gsm_map.geranPositioningData",
16783 FT_BYTES, BASE_HEX, NULL, 0,
16785 { &hf_gsm_map_utranPositioningData,
16786 { "utranPositioningData", "gsm_map.utranPositioningData",
16787 FT_BYTES, BASE_HEX, NULL, 0,
16789 { &hf_gsm_map_cellIdOrSai,
16790 { "cellIdOrSai", "gsm_map.cellIdOrSai",
16791 FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
16793 { &hf_gsm_map_mlcNumber,
16794 { "mlcNumber", "gsm_map.mlcNumber",
16795 FT_BYTES, BASE_HEX, NULL, 0,
16796 "RoutingInfoForLCS-Arg/mlcNumber", HFILL }},
16797 { &hf_gsm_map_targetMS,
16798 { "targetMS", "gsm_map.targetMS",
16799 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
16801 { &hf_gsm_map_lcsLocationInfo,
16802 { "lcsLocationInfo", "gsm_map.lcsLocationInfo",
16803 FT_NONE, BASE_NONE, NULL, 0,
16805 { &hf_gsm_map_ppr_Address,
16806 { "ppr-Address", "gsm_map.ppr_Address",
16807 FT_BYTES, BASE_HEX, NULL, 0,
16808 "RoutingInfoForLCS-Res/ppr-Address", HFILL }},
16809 { &hf_gsm_map_additional_v_gmlc_Address,
16810 { "additional-v-gmlc-Address", "gsm_map.additional_v_gmlc_Address",
16811 FT_BYTES, BASE_HEX, NULL, 0,
16812 "RoutingInfoForLCS-Res/additional-v-gmlc-Address", HFILL }},
16813 { &hf_gsm_map_additional_LCS_CapabilitySets,
16814 { "additional-LCS-CapabilitySets", "gsm_map.additional_LCS_CapabilitySets",
16815 FT_BYTES, BASE_HEX, NULL, 0,
16816 "LCSLocationInfo/additional-LCS-CapabilitySets", HFILL }},
16817 { &hf_gsm_map_lcs_Event,
16818 { "lcs-Event", "gsm_map.lcs_Event",
16819 FT_UINT32, BASE_DEC, VALS(gsm_map_LCS_Event_vals), 0,
16820 "SubscriberLocationReport-Arg/lcs-Event", HFILL }},
16821 { &hf_gsm_map_na_ESRD,
16822 { "na-ESRD", "gsm_map.na_ESRD",
16823 FT_BYTES, BASE_HEX, NULL, 0,
16825 { &hf_gsm_map_na_ESRK,
16826 { "na-ESRK", "gsm_map.na_ESRK",
16827 FT_BYTES, BASE_HEX, NULL, 0,
16829 { &hf_gsm_map_slr_ArgExtensionContainer,
16830 { "slr-ArgExtensionContainer", "gsm_map.slr_ArgExtensionContainer",
16831 FT_NONE, BASE_NONE, NULL, 0,
16832 "SubscriberLocationReport-Arg/slr-ArgExtensionContainer", HFILL }},
16833 { &hf_gsm_map_deferredmt_lrData,
16834 { "deferredmt-lrData", "gsm_map.deferredmt_lrData",
16835 FT_NONE, BASE_NONE, NULL, 0,
16836 "SubscriberLocationReport-Arg/deferredmt-lrData", HFILL }},
16837 { &hf_gsm_map_pseudonymIndicator,
16838 { "pseudonymIndicator", "gsm_map.pseudonymIndicator",
16839 FT_NONE, BASE_NONE, NULL, 0,
16840 "SubscriberLocationReport-Arg/pseudonymIndicator", HFILL }},
16841 { &hf_gsm_map_terminationCause,
16842 { "terminationCause", "gsm_map.terminationCause",
16843 FT_UINT32, BASE_DEC, VALS(gsm_map_TerminationCause_vals), 0,
16844 "Deferredmt-lrData/terminationCause", HFILL }},
16845 { &hf_gsm_map_securityHeader,
16846 { "securityHeader", "gsm_map.securityHeader",
16847 FT_NONE, BASE_NONE, NULL, 0,
16849 { &hf_gsm_map_protectedPayload,
16850 { "protectedPayload", "gsm_map.protectedPayload",
16851 FT_BYTES, BASE_HEX, NULL, 0,
16853 { &hf_gsm_map_securityParametersIndex,
16854 { "securityParametersIndex", "gsm_map.securityParametersIndex",
16855 FT_BYTES, BASE_HEX, NULL, 0,
16856 "SecurityHeader/securityParametersIndex", HFILL }},
16857 { &hf_gsm_map_originalComponentIdentifier,
16858 { "originalComponentIdentifier", "gsm_map.originalComponentIdentifier",
16859 FT_UINT32, BASE_DEC, VALS(gsm_map_OriginalComponentIdentifier_vals), 0,
16860 "SecurityHeader/originalComponentIdentifier", HFILL }},
16861 { &hf_gsm_map_initialisationVector,
16862 { "initialisationVector", "gsm_map.initialisationVector",
16863 FT_BYTES, BASE_HEX, NULL, 0,
16864 "SecurityHeader/initialisationVector", HFILL }},
16865 { &hf_gsm_map_operationCode,
16866 { "operationCode", "gsm_map.operationCode",
16867 FT_UINT32, BASE_DEC, VALS(gsm_map_OperationCode_vals), 0,
16868 "OriginalComponentIdentifier/operationCode", HFILL }},
16869 { &hf_gsm_map_errorCode,
16870 { "errorCode", "gsm_map.errorCode",
16871 FT_UINT32, BASE_DEC, VALS(gsm_map_ErrorCode_vals), 0,
16872 "OriginalComponentIdentifier/errorCode", HFILL }},
16873 { &hf_gsm_map_userInfo,
16874 { "userInfo", "gsm_map.userInfo",
16875 FT_NONE, BASE_NONE, NULL, 0,
16876 "OriginalComponentIdentifier/userInfo", HFILL }},
16877 { &hf_gsm_map_localValue,
16878 { "localValue", "gsm_map.localValue",
16879 FT_INT32, BASE_DEC, NULL, 0,
16881 { &hf_gsm_map_globalValue,
16882 { "globalValue", "gsm_map.globalValue",
16883 FT_STRING, BASE_NONE, NULL, 0,
16885 { &hf_gsm_map_networkResource,
16886 { "networkResource", "gsm_map.networkResource",
16887 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
16889 { &hf_gsm_map_extensibleSystemFailureParam,
16890 { "extensibleSystemFailureParam", "gsm_map.extensibleSystemFailureParam",
16891 FT_NONE, BASE_NONE, NULL, 0,
16892 "SystemFailureParam/extensibleSystemFailureParam", HFILL }},
16893 { &hf_gsm_map_unknownSubscriberDiagnostic,
16894 { "unknownSubscriberDiagnostic", "gsm_map.unknownSubscriberDiagnostic",
16895 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unknownSubscriberDiagnostic_vals), 0,
16896 "UnknownSubscriberParam/unknownSubscriberDiagnostic", HFILL }},
16897 { &hf_gsm_map_roamingNotAllowedCause,
16898 { "roamingNotAllowedCause", "gsm_map.roamingNotAllowedCause",
16899 FT_UINT32, BASE_DEC, VALS(gsm_map_T_roamingNotAllowedCause_vals), 0,
16900 "RoamingNotAllowedParam/roamingNotAllowedCause", HFILL }},
16901 { &hf_gsm_map_absentSubscriberReason,
16902 { "absentSubscriberReason", "gsm_map.absentSubscriberReason",
16903 FT_UINT32, BASE_DEC, VALS(gsm_map_T_absentSubscriberReason_vals), 0,
16904 "AbsentSubscriberParam/absentSubscriberReason", HFILL }},
16905 { &hf_gsm_map_ccbs_Busy,
16906 { "ccbs-Busy", "gsm_map.ccbs_Busy",
16907 FT_NONE, BASE_NONE, NULL, 0,
16908 "BusySubscriberParam/ccbs-Busy", HFILL }},
16909 { &hf_gsm_map_callBarringCause,
16910 { "callBarringCause", "gsm_map.callBarringCause",
16911 FT_UINT32, BASE_DEC, VALS(gsm_map_CallBarringCause_vals), 0,
16913 { &hf_gsm_map_extensibleCallBarredParam,
16914 { "extensibleCallBarredParam", "gsm_map.extensibleCallBarredParam",
16915 FT_NONE, BASE_NONE, NULL, 0,
16916 "CallBarredParam/extensibleCallBarredParam", HFILL }},
16917 { &hf_gsm_map_unauthorisedMessageOriginator,
16918 { "unauthorisedMessageOriginator", "gsm_map.unauthorisedMessageOriginator",
16919 FT_NONE, BASE_NONE, NULL, 0,
16920 "CallBarredParam/extensibleCallBarredParam/unauthorisedMessageOriginator", HFILL }},
16921 { &hf_gsm_map_cug_RejectCause,
16922 { "cug-RejectCause", "gsm_map.cug_RejectCause",
16923 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cug_RejectCause_vals), 0,
16924 "Cug-RejectParam/cug-RejectCause", HFILL }},
16925 { &hf_gsm_map_gprsConnectionSuspended,
16926 { "gprsConnectionSuspended", "gsm_map.gprsConnectionSuspended",
16927 FT_NONE, BASE_NONE, NULL, 0,
16928 "SubBusyForMT-SMS-Param/gprsConnectionSuspended", HFILL }},
16929 { &hf_gsm_map_sm_EnumeratedDeliveryFailureCause,
16930 { "sm-EnumeratedDeliveryFailureCause", "gsm_map.sm_EnumeratedDeliveryFailureCause",
16931 FT_UINT32, BASE_DEC, VALS(gsm_map_T_sm_EnumeratedDeliveryFailureCause_vals), 0,
16932 "Sm-DeliveryFailureCause/sm-EnumeratedDeliveryFailureCause", HFILL }},
16933 { &hf_gsm_map_diagnosticInfo,
16934 { "diagnosticInfo", "gsm_map.diagnosticInfo",
16935 FT_BYTES, BASE_HEX, NULL, 0,
16936 "Sm-DeliveryFailureCause/diagnosticInfo", HFILL }},
16937 { &hf_gsm_map_unauthorizedLCSClient_Diagnostic,
16938 { "unauthorizedLCSClient-Diagnostic", "gsm_map.unauthorizedLCSClient_Diagnostic",
16939 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unauthorizedLCSClient_Diagnostic_vals), 0,
16940 "UnauthorizedLCSClient-Param/unauthorizedLCSClient-Diagnostic", HFILL }},
16941 { &hf_gsm_map_positionMethodFailure_Diagnostic,
16942 { "positionMethodFailure-Diagnostic", "gsm_map.positionMethodFailure_Diagnostic",
16943 FT_UINT32, BASE_DEC, VALS(gsm_map_T_positionMethodFailure_Diagnostic_vals), 0,
16944 "PositionMethodFailure-Param/positionMethodFailure-Diagnostic", HFILL }},
16945 { &hf_gsm_map_pcsExtensions,
16946 { "pcsExtensions", "gsm_map.pcsExtensions",
16947 FT_NONE, BASE_NONE, NULL, 0,
16948 "ExtensionContainer/pcsExtensions", HFILL }},
16949 { &hf_gsm_map_SupportedCamelPhases_phase1,
16950 { "phase1", "gsm_map.phase1",
16951 FT_BOOLEAN, 8, NULL, 0x80,
16953 { &hf_gsm_map_SupportedCamelPhases_phase2,
16954 { "phase2", "gsm_map.phase2",
16955 FT_BOOLEAN, 8, NULL, 0x40,
16957 { &hf_gsm_map_SupportedCamelPhases_phase3,
16958 { "phase3", "gsm_map.phase3",
16959 FT_BOOLEAN, 8, NULL, 0x20,
16961 { &hf_gsm_map_SupportedCamelPhases_phase4,
16962 { "phase4", "gsm_map.phase4",
16963 FT_BOOLEAN, 8, NULL, 0x10,
16965 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet1,
16966 { "lcsCapabilitySet1", "gsm_map.lcsCapabilitySet1",
16967 FT_BOOLEAN, 8, NULL, 0x80,
16969 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet2,
16970 { "lcsCapabilitySet2", "gsm_map.lcsCapabilitySet2",
16971 FT_BOOLEAN, 8, NULL, 0x40,
16973 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet3,
16974 { "lcsCapabilitySet3", "gsm_map.lcsCapabilitySet3",
16975 FT_BOOLEAN, 8, NULL, 0x20,
16977 { &hf_gsm_map_SupportedLCS_CapabilitySets_lcsCapabilitySet4,
16978 { "lcsCapabilitySet4", "gsm_map.lcsCapabilitySet4",
16979 FT_BOOLEAN, 8, NULL, 0x10,
16981 { &hf_gsm_map_RequestedEquipmentInfo_equipmentStatus,
16982 { "equipmentStatus", "gsm_map.equipmentStatus",
16983 FT_BOOLEAN, 8, NULL, 0x80,
16985 { &hf_gsm_map_RequestedEquipmentInfo_bmuef,
16986 { "bmuef", "gsm_map.bmuef",
16987 FT_BOOLEAN, 8, NULL, 0x40,
16989 { &hf_gsm_map_ODB_GeneralData_allOG_CallsBarred,
16990 { "allOG-CallsBarred", "gsm_map.allOG-CallsBarred",
16991 FT_BOOLEAN, 8, NULL, 0x80,
16993 { &hf_gsm_map_ODB_GeneralData_internationalOGCallsBarred,
16994 { "internationalOGCallsBarred", "gsm_map.internationalOGCallsBarred",
16995 FT_BOOLEAN, 8, NULL, 0x40,
16997 { &hf_gsm_map_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred,
16998 { "internationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.internationalOGCallsNotToHPLMN-CountryBarred",
16999 FT_BOOLEAN, 8, NULL, 0x20,
17001 { &hf_gsm_map_ODB_GeneralData_interzonalOGCallsBarred,
17002 { "interzonalOGCallsBarred", "gsm_map.interzonalOGCallsBarred",
17003 FT_BOOLEAN, 8, NULL, 0x02,
17005 { &hf_gsm_map_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred,
17006 { "interzonalOGCallsNotToHPLMN-CountryBarred", "gsm_map.interzonalOGCallsNotToHPLMN-CountryBarred",
17007 FT_BOOLEAN, 8, NULL, 0x01,
17009 { &hf_gsm_map_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred,
17010 { "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred",
17011 FT_BOOLEAN, 8, NULL, 0x80,
17013 { &hf_gsm_map_ODB_GeneralData_premiumRateInformationOGCallsBarred,
17014 { "premiumRateInformationOGCallsBarred", "gsm_map.premiumRateInformationOGCallsBarred",
17015 FT_BOOLEAN, 8, NULL, 0x10,
17017 { &hf_gsm_map_ODB_GeneralData_premiumRateEntertainementOGCallsBarred,
17018 { "premiumRateEntertainementOGCallsBarred", "gsm_map.premiumRateEntertainementOGCallsBarred",
17019 FT_BOOLEAN, 8, NULL, 0x08,
17021 { &hf_gsm_map_ODB_GeneralData_ss_AccessBarred,
17022 { "ss-AccessBarred", "gsm_map.ss-AccessBarred",
17023 FT_BOOLEAN, 8, NULL, 0x04,
17025 { &hf_gsm_map_ODB_GeneralData_allECT_Barred,
17026 { "allECT-Barred", "gsm_map.allECT-Barred",
17027 FT_BOOLEAN, 8, NULL, 0x40,
17029 { &hf_gsm_map_ODB_GeneralData_chargeableECT_Barred,
17030 { "chargeableECT-Barred", "gsm_map.chargeableECT-Barred",
17031 FT_BOOLEAN, 8, NULL, 0x20,
17033 { &hf_gsm_map_ODB_GeneralData_internationalECT_Barred,
17034 { "internationalECT-Barred", "gsm_map.internationalECT-Barred",
17035 FT_BOOLEAN, 8, NULL, 0x10,
17037 { &hf_gsm_map_ODB_GeneralData_interzonalECT_Barred,
17038 { "interzonalECT-Barred", "gsm_map.interzonalECT-Barred",
17039 FT_BOOLEAN, 8, NULL, 0x08,
17041 { &hf_gsm_map_ODB_GeneralData_doublyChargeableECT_Barred,
17042 { "doublyChargeableECT-Barred", "gsm_map.doublyChargeableECT-Barred",
17043 FT_BOOLEAN, 8, NULL, 0x04,
17045 { &hf_gsm_map_ODB_GeneralData_multipleECT_Barred,
17046 { "multipleECT-Barred", "gsm_map.multipleECT-Barred",
17047 FT_BOOLEAN, 8, NULL, 0x02,
17049 { &hf_gsm_map_ODB_GeneralData_allPacketOrientedServicesBarred,
17050 { "allPacketOrientedServicesBarred", "gsm_map.allPacketOrientedServicesBarred",
17051 FT_BOOLEAN, 8, NULL, 0x01,
17053 { &hf_gsm_map_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred,
17054 { "roamerAccessToHPLMN-AP-Barred", "gsm_map.roamerAccessToHPLMN-AP-Barred",
17055 FT_BOOLEAN, 8, NULL, 0x80,
17057 { &hf_gsm_map_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred,
17058 { "roamerAccessToVPLMN-AP-Barred", "gsm_map.roamerAccessToVPLMN-AP-Barred",
17059 FT_BOOLEAN, 8, NULL, 0x40,
17061 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred,
17062 { "roamingOutsidePLMNOG-CallsBarred", "gsm_map.roamingOutsidePLMNOG-CallsBarred",
17063 FT_BOOLEAN, 8, NULL, 0x20,
17065 { &hf_gsm_map_ODB_GeneralData_allIC_CallsBarred,
17066 { "allIC-CallsBarred", "gsm_map.allIC-CallsBarred",
17067 FT_BOOLEAN, 8, NULL, 0x10,
17069 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred,
17070 { "roamingOutsidePLMNIC-CallsBarred", "gsm_map.roamingOutsidePLMNIC-CallsBarred",
17071 FT_BOOLEAN, 8, NULL, 0x08,
17073 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
17074 { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm_map.roamingOutsidePLMNICountryIC-CallsBarred",
17075 FT_BOOLEAN, 8, NULL, 0x04,
17077 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_Barred,
17078 { "roamingOutsidePLMN-Barred", "gsm_map.roamingOutsidePLMN-Barred",
17079 FT_BOOLEAN, 8, NULL, 0x02,
17081 { &hf_gsm_map_ODB_GeneralData_roamingOutsidePLMN_CountryBarred,
17082 { "roamingOutsidePLMN-CountryBarred", "gsm_map.roamingOutsidePLMN-CountryBarred",
17083 FT_BOOLEAN, 8, NULL, 0x01,
17085 { &hf_gsm_map_ODB_GeneralData_registrationAllCF_Barred,
17086 { "registrationAllCF-Barred", "gsm_map.registrationAllCF-Barred",
17087 FT_BOOLEAN, 8, NULL, 0x80,
17089 { &hf_gsm_map_ODB_GeneralData_registrationCFNotToHPLMN_Barred,
17090 { "registrationCFNotToHPLMN-Barred", "gsm_map.registrationCFNotToHPLMN-Barred",
17091 FT_BOOLEAN, 8, NULL, 0x40,
17093 { &hf_gsm_map_ODB_GeneralData_registrationInterzonalCF_Barred,
17094 { "registrationInterzonalCF-Barred", "gsm_map.registrationInterzonalCF-Barred",
17095 FT_BOOLEAN, 8, NULL, 0x20,
17097 { &hf_gsm_map_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
17098 { "registrationInterzonalCFNotToHPLMN-Barred", "gsm_map.registrationInterzonalCFNotToHPLMN-Barred",
17099 FT_BOOLEAN, 8, NULL, 0x10,
17101 { &hf_gsm_map_ODB_GeneralData_registrationInternationalCF_Barred,
17102 { "registrationInternationalCF-Barred", "gsm_map.registrationInternationalCF-Barred",
17103 FT_BOOLEAN, 8, NULL, 0x08,
17105 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType1,
17106 { "plmn-SpecificBarringType1", "gsm_map.plmn-SpecificBarringType1",
17107 FT_BOOLEAN, 8, NULL, 0x80,
17109 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType2,
17110 { "plmn-SpecificBarringType2", "gsm_map.plmn-SpecificBarringType2",
17111 FT_BOOLEAN, 8, NULL, 0x40,
17113 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType3,
17114 { "plmn-SpecificBarringType3", "gsm_map.plmn-SpecificBarringType3",
17115 FT_BOOLEAN, 8, NULL, 0x20,
17117 { &hf_gsm_map_ODB_HPLMN_Data_plmn_SpecificBarringType4,
17118 { "plmn-SpecificBarringType4", "gsm_map.plmn-SpecificBarringType4",
17119 FT_BOOLEAN, 8, NULL, 0x10,
17121 { &hf_gsm_map_AccessRestrictionData_utranNotAllowed,
17122 { "utranNotAllowed", "gsm_map.utranNotAllowed",
17123 FT_BOOLEAN, 8, NULL, 0x80,
17125 { &hf_gsm_map_AccessRestrictionData_geranNotAllowed,
17126 { "geranNotAllowed", "gsm_map.geranNotAllowed",
17127 FT_BOOLEAN, 8, NULL, 0x40,
17129 { &hf_gsm_map_SpecificCSI_Withdraw_o_csi,
17130 { "o-csi", "gsm_map.o-csi",
17131 FT_BOOLEAN, 8, NULL, 0x80,
17133 { &hf_gsm_map_SpecificCSI_Withdraw_ss_csi,
17134 { "ss-csi", "gsm_map.ss-csi",
17135 FT_BOOLEAN, 8, NULL, 0x40,
17137 { &hf_gsm_map_SpecificCSI_Withdraw_tif_csi,
17138 { "tif-csi", "gsm_map.tif-csi",
17139 FT_BOOLEAN, 8, NULL, 0x20,
17141 { &hf_gsm_map_SpecificCSI_Withdraw_d_csi,
17142 { "d-csi", "gsm_map.d-csi",
17143 FT_BOOLEAN, 8, NULL, 0x10,
17145 { &hf_gsm_map_SpecificCSI_Withdraw_vt_csi,
17146 { "vt-csi", "gsm_map.vt-csi",
17147 FT_BOOLEAN, 8, NULL, 0x08,
17149 { &hf_gsm_map_SpecificCSI_Withdraw_mo_sms_csi,
17150 { "mo-sms-csi", "gsm_map.mo-sms-csi",
17151 FT_BOOLEAN, 8, NULL, 0x04,
17153 { &hf_gsm_map_SpecificCSI_Withdraw_m_csi,
17154 { "m-csi", "gsm_map.m-csi",
17155 FT_BOOLEAN, 8, NULL, 0x02,
17157 { &hf_gsm_map_SpecificCSI_Withdraw_gprs_csi,
17158 { "gprs-csi", "gsm_map.gprs-csi",
17159 FT_BOOLEAN, 8, NULL, 0x01,
17161 { &hf_gsm_map_SpecificCSI_Withdraw_t_csi,
17162 { "t-csi", "gsm_map.t-csi",
17163 FT_BOOLEAN, 8, NULL, 0x80,
17165 { &hf_gsm_map_SpecificCSI_Withdraw_mt_sms_csi,
17166 { "mt-sms-csi", "gsm_map.mt-sms-csi",
17167 FT_BOOLEAN, 8, NULL, 0x40,
17169 { &hf_gsm_map_SpecificCSI_Withdraw_mg_csi,
17170 { "mg-csi", "gsm_map.mg-csi",
17171 FT_BOOLEAN, 8, NULL, 0x20,
17173 { &hf_gsm_map_SpecificCSI_Withdraw_o_IM_CSI,
17174 { "o-IM-CSI", "gsm_map.o-IM-CSI",
17175 FT_BOOLEAN, 8, NULL, 0x10,
17177 { &hf_gsm_map_SpecificCSI_Withdraw_d_IM_CSI,
17178 { "d-IM-CSI", "gsm_map.d-IM-CSI",
17179 FT_BOOLEAN, 8, NULL, 0x08,
17181 { &hf_gsm_map_SpecificCSI_Withdraw_vt_IM_CSI,
17182 { "vt-IM-CSI", "gsm_map.vt-IM-CSI",
17183 FT_BOOLEAN, 8, NULL, 0x04,
17185 { &hf_gsm_map_AllowedServices_firstServiceAllowed,
17186 { "firstServiceAllowed", "gsm_map.firstServiceAllowed",
17187 FT_BOOLEAN, 8, NULL, 0x80,
17189 { &hf_gsm_map_AllowedServices_secondServiceAllowed,
17190 { "secondServiceAllowed", "gsm_map.secondServiceAllowed",
17191 FT_BOOLEAN, 8, NULL, 0x40,
17193 { &hf_gsm_map_ServiceIndicator_clir_invoked,
17194 { "clir-invoked", "gsm_map.clir-invoked",
17195 FT_BOOLEAN, 8, NULL, 0x80,
17197 { &hf_gsm_map_ServiceIndicator_camel_invoked,
17198 { "camel-invoked", "gsm_map.camel-invoked",
17199 FT_BOOLEAN, 8, NULL, 0x40,
17201 { &hf_gsm_map_T_mw_Status_scAddressNotIncluded,
17202 { "scAddressNotIncluded", "gsm_map.scAddressNotIncluded",
17203 FT_BOOLEAN, 8, NULL, 0x80,
17205 { &hf_gsm_map_T_mw_Status_mnrfSet,
17206 { "mnrfSet", "gsm_map.mnrfSet",
17207 FT_BOOLEAN, 8, NULL, 0x40,
17209 { &hf_gsm_map_T_mw_Status_mcefSet,
17210 { "mcefSet", "gsm_map.mcefSet",
17211 FT_BOOLEAN, 8, NULL, 0x20,
17213 { &hf_gsm_map_T_mw_Status_mnrgSet,
17214 { "mnrgSet", "gsm_map.mnrgSet",
17215 FT_BOOLEAN, 8, NULL, 0x10,
17217 { &hf_gsm_map_OfferedCamel4CSIs_o_csi,
17218 { "o-csi", "gsm_map.o-csi",
17219 FT_BOOLEAN, 8, NULL, 0x80,
17221 { &hf_gsm_map_OfferedCamel4CSIs_d_csi,
17222 { "d-csi", "gsm_map.d-csi",
17223 FT_BOOLEAN, 8, NULL, 0x40,
17225 { &hf_gsm_map_OfferedCamel4CSIs_vt_csi,
17226 { "vt-csi", "gsm_map.vt-csi",
17227 FT_BOOLEAN, 8, NULL, 0x20,
17229 { &hf_gsm_map_OfferedCamel4CSIs_t_csi,
17230 { "t-csi", "gsm_map.t-csi",
17231 FT_BOOLEAN, 8, NULL, 0x10,
17233 { &hf_gsm_map_OfferedCamel4CSIs_mt_sms_csi,
17234 { "mt-sms-csi", "gsm_map.mt-sms-csi",
17235 FT_BOOLEAN, 8, NULL, 0x08,
17237 { &hf_gsm_map_OfferedCamel4CSIs_mg_csi,
17238 { "mg-csi", "gsm_map.mg-csi",
17239 FT_BOOLEAN, 8, NULL, 0x04,
17241 { &hf_gsm_map_OfferedCamel4CSIs_psi_enhancements,
17242 { "psi-enhancements", "gsm_map.psi-enhancements",
17243 FT_BOOLEAN, 8, NULL, 0x02,
17245 { &hf_gsm_map_OfferedCamel4Functionalities_initiateCallAttempt,
17246 { "initiateCallAttempt", "gsm_map.initiateCallAttempt",
17247 FT_BOOLEAN, 8, NULL, 0x80,
17249 { &hf_gsm_map_OfferedCamel4Functionalities_splitLeg,
17250 { "splitLeg", "gsm_map.splitLeg",
17251 FT_BOOLEAN, 8, NULL, 0x40,
17253 { &hf_gsm_map_OfferedCamel4Functionalities_moveLeg,
17254 { "moveLeg", "gsm_map.moveLeg",
17255 FT_BOOLEAN, 8, NULL, 0x20,
17257 { &hf_gsm_map_OfferedCamel4Functionalities_disconnectLeg,
17258 { "disconnectLeg", "gsm_map.disconnectLeg",
17259 FT_BOOLEAN, 8, NULL, 0x10,
17261 { &hf_gsm_map_OfferedCamel4Functionalities_entityReleased,
17262 { "entityReleased", "gsm_map.entityReleased",
17263 FT_BOOLEAN, 8, NULL, 0x08,
17265 { &hf_gsm_map_OfferedCamel4Functionalities_dfc_WithArgument,
17266 { "dfc-WithArgument", "gsm_map.dfc-WithArgument",
17267 FT_BOOLEAN, 8, NULL, 0x04,
17269 { &hf_gsm_map_OfferedCamel4Functionalities_playTone,
17270 { "playTone", "gsm_map.playTone",
17271 FT_BOOLEAN, 8, NULL, 0x02,
17273 { &hf_gsm_map_OfferedCamel4Functionalities_dtmf_MidCall,
17274 { "dtmf-MidCall", "gsm_map.dtmf-MidCall",
17275 FT_BOOLEAN, 8, NULL, 0x01,
17277 { &hf_gsm_map_OfferedCamel4Functionalities_chargingIndicator,
17278 { "chargingIndicator", "gsm_map.chargingIndicator",
17279 FT_BOOLEAN, 8, NULL, 0x80,
17281 { &hf_gsm_map_OfferedCamel4Functionalities_alertingDP,
17282 { "alertingDP", "gsm_map.alertingDP",
17283 FT_BOOLEAN, 8, NULL, 0x40,
17285 { &hf_gsm_map_OfferedCamel4Functionalities_locationAtAlerting,
17286 { "locationAtAlerting", "gsm_map.locationAtAlerting",
17287 FT_BOOLEAN, 8, NULL, 0x20,
17289 { &hf_gsm_map_OfferedCamel4Functionalities_changeOfPositionDP,
17290 { "changeOfPositionDP", "gsm_map.changeOfPositionDP",
17291 FT_BOOLEAN, 8, NULL, 0x10,
17293 { &hf_gsm_map_OfferedCamel4Functionalities_or_Interactions,
17294 { "or-Interactions", "gsm_map.or-Interactions",
17295 FT_BOOLEAN, 8, NULL, 0x08,
17297 { &hf_gsm_map_OfferedCamel4Functionalities_warningToneEnhancements,
17298 { "warningToneEnhancements", "gsm_map.warningToneEnhancements",
17299 FT_BOOLEAN, 8, NULL, 0x04,
17301 { &hf_gsm_map_OfferedCamel4Functionalities_cf_Enhancements,
17302 { "cf-Enhancements", "gsm_map.cf-Enhancements",
17303 FT_BOOLEAN, 8, NULL, 0x02,
17305 { &hf_gsm_map_OfferedCamel4Functionalities_subscribedEnhancedDialledServices,
17306 { "subscribedEnhancedDialledServices", "gsm_map.subscribedEnhancedDialledServices",
17307 FT_BOOLEAN, 8, NULL, 0x01,
17309 { &hf_gsm_map_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices,
17310 { "servingNetworkEnhancedDialledServices", "gsm_map.servingNetworkEnhancedDialledServices",
17311 FT_BOOLEAN, 8, NULL, 0x80,
17313 { &hf_gsm_map_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP,
17314 { "criteriaForChangeOfPositionDP", "gsm_map.criteriaForChangeOfPositionDP",
17315 FT_BOOLEAN, 8, NULL, 0x40,
17317 { &hf_gsm_map_OfferedCamel4Functionalities_serviceChangeDP,
17318 { "serviceChangeDP", "gsm_map.serviceChangeDP",
17319 FT_BOOLEAN, 8, NULL, 0x20,
17321 { &hf_gsm_map_DeferredLocationEventType_msAvailable,
17322 { "msAvailable", "gsm_map.msAvailable",
17323 FT_BOOLEAN, 8, NULL, 0x80,
17325 { &hf_gsm_map_DeferredLocationEventType_enteringIntoArea,
17326 { "enteringIntoArea", "gsm_map.enteringIntoArea",
17327 FT_BOOLEAN, 8, NULL, 0x40,
17329 { &hf_gsm_map_DeferredLocationEventType_leavingFromArea,
17330 { "leavingFromArea", "gsm_map.leavingFromArea",
17331 FT_BOOLEAN, 8, NULL, 0x20,
17333 { &hf_gsm_map_DeferredLocationEventType_beingInsideArea,
17334 { "beingInsideArea", "gsm_map.beingInsideArea",
17335 FT_BOOLEAN, 8, NULL, 0x10,
17337 { &hf_gsm_map_SupportedGADShapes_ellipsoidPoint,
17338 { "ellipsoidPoint", "gsm_map.ellipsoidPoint",
17339 FT_BOOLEAN, 8, NULL, 0x80,
17341 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle,
17342 { "ellipsoidPointWithUncertaintyCircle", "gsm_map.ellipsoidPointWithUncertaintyCircle",
17343 FT_BOOLEAN, 8, NULL, 0x40,
17345 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse,
17346 { "ellipsoidPointWithUncertaintyEllipse", "gsm_map.ellipsoidPointWithUncertaintyEllipse",
17347 FT_BOOLEAN, 8, NULL, 0x20,
17349 { &hf_gsm_map_SupportedGADShapes_polygon,
17350 { "polygon", "gsm_map.polygon",
17351 FT_BOOLEAN, 8, NULL, 0x10,
17353 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitude,
17354 { "ellipsoidPointWithAltitude", "gsm_map.ellipsoidPointWithAltitude",
17355 FT_BOOLEAN, 8, NULL, 0x08,
17357 { &hf_gsm_map_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid,
17358 { "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", "gsm_map.ellipsoidPointWithAltitudeAndUncertaintyElipsoid",
17359 FT_BOOLEAN, 8, NULL, 0x04,
17361 { &hf_gsm_map_SupportedGADShapes_ellipsoidArc,
17362 { "ellipsoidArc", "gsm_map.ellipsoidArc",
17363 FT_BOOLEAN, 8, NULL, 0x02,
17366 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
17370 /* List of subtrees */
17371 static gint *ett[] = {
17373 &ett_gsm_map_InvokeId,
17374 &ett_gsm_map_InvokePDU,
17375 &ett_gsm_map_ReturnResultPDU,
17376 &ett_gsm_map_ReturnErrorPDU,
17377 &ett_gsm_map_ReturnResult_result,
17378 &ett_gsm_map_ReturnError_result,
17379 &ett_gsm_map_GSMMAPPDU,
17381 /*--- Included file: packet-gsm_map-ettarr.c ---*/
17383 &ett_gsm_map_Bss_APDU,
17384 &ett_gsm_map_SupportedCamelPhases,
17385 &ett_gsm_map_UpdateLocationArg,
17386 &ett_gsm_map_UpdateLocationRes,
17387 &ett_gsm_map_VLR_Capability,
17388 &ett_gsm_map_SuperChargerInfo,
17389 &ett_gsm_map_SupportedLCS_CapabilitySets,
17390 &ett_gsm_map_ADD_Info,
17391 &ett_gsm_map_PrivateExtensionList,
17392 &ett_gsm_map_PrivateExtension,
17393 &ett_gsm_map_SLR_ArgExtensionContainer,
17394 &ett_gsm_map_PcsExtensions,
17395 &ett_gsm_map_SLR_Arg_PCS_Extensions,
17396 &ett_gsm_map_CancelLocationArg,
17397 &ett_gsm_map_CancelLocationRes,
17398 &ett_gsm_map_PurgeMSArg,
17399 &ett_gsm_map_PurgeMSRes,
17400 &ett_gsm_map_SendIdentificationArg,
17401 &ett_gsm_map_SendIdentificationRes,
17402 &ett_gsm_map_AuthenticationSetList,
17403 &ett_gsm_map_TripletList,
17404 &ett_gsm_map_QuintupletList,
17405 &ett_gsm_map_AuthenticationTriplet,
17406 &ett_gsm_map_AuthenticationQuintuplet,
17407 &ett_gsm_map_CurrentSecurityContext,
17408 &ett_gsm_map_GSM_SecurityContextData,
17409 &ett_gsm_map_UMTS_SecurityContextData,
17410 &ett_gsm_map_PrepareHO_Arg,
17411 &ett_gsm_map_PrepareHO_ArgV3,
17412 &ett_gsm_map_BSSMAP_ServiceHandoverList,
17413 &ett_gsm_map_BSSMAP_ServiceHandoverInfo,
17414 &ett_gsm_map_RadioResourceList,
17415 &ett_gsm_map_RadioResource,
17416 &ett_gsm_map_PrepareHO_Res,
17417 &ett_gsm_map_PrepareHO_ResV3,
17418 &ett_gsm_map_SelectedUMTS_Algorithms,
17419 &ett_gsm_map_ChosenRadioResourceInformation,
17420 &ett_gsm_map_SendEndSignalArgV3,
17421 &ett_gsm_map_SendEndSignalRes,
17422 &ett_gsm_map_RelocationNumberList,
17423 &ett_gsm_map_RelocationNumber,
17424 &ett_gsm_map_ProcessAccessSignallingArgV3,
17425 &ett_gsm_map_SupportedCodecsList,
17426 &ett_gsm_map_CodecList,
17427 &ett_gsm_map_ForwardAccessSignallingArgV3,
17428 &ett_gsm_map_AllowedUMTS_Algorithms,
17429 &ett_gsm_map_PrepareSubsequentHOArg,
17430 &ett_gsm_map_PrepareSubsequentHOArgV3,
17431 &ett_gsm_map_PrepareSubsequentHOResV3,
17432 &ett_gsm_map_SendAuthenticationInfoArgV2,
17433 &ett_gsm_map_SendAuthenticationInfoRes,
17434 &ett_gsm_map_SendAuthenticationInfoRes_item,
17435 &ett_gsm_map_SendAuthenticationInfoResV3,
17436 &ett_gsm_map_Re_synchronisationInfo,
17437 &ett_gsm_map_CheckIMEIArgV2,
17438 &ett_gsm_map_CheckIMEIRes,
17439 &ett_gsm_map_RequestedEquipmentInfo,
17440 &ett_gsm_map_UESBI_Iu,
17441 &ett_gsm_map_BasicService,
17442 &ett_gsm_map_BasicServiceGroupList,
17443 &ett_gsm_map_ODB_GeneralData,
17444 &ett_gsm_map_ODB_HPLMN_Data,
17445 &ett_gsm_map_BcsmCamelTDPData,
17446 &ett_gsm_map_BcsmCamelTDPDataList,
17447 &ett_gsm_map_O_CSI,
17448 &ett_gsm_map_O_BcsmCamelTDPDataList,
17449 &ett_gsm_map_O_BcsmCamelTDPData,
17450 &ett_gsm_map_InsertSubscriberDataArg,
17451 &ett_gsm_map_AccessRestrictionData,
17452 &ett_gsm_map_LCSInformation,
17453 &ett_gsm_map_GMLC_List,
17454 &ett_gsm_map_GPRSDataList,
17455 &ett_gsm_map_PDP_Context,
17456 &ett_gsm_map_GPRSSubscriptionData,
17457 &ett_gsm_map_SGSN_CAMEL_SubscriptionInfo,
17458 &ett_gsm_map_GPRS_CSI,
17459 &ett_gsm_map_GPRS_CamelTDPDataList,
17460 &ett_gsm_map_GPRS_CamelTDPData,
17461 &ett_gsm_map_LSADataList,
17462 &ett_gsm_map_LSAData,
17463 &ett_gsm_map_LSAInformation,
17464 &ett_gsm_map_InsertSubscriberDataRes,
17465 &ett_gsm_map_DeleteSubscriberDataArg,
17466 &ett_gsm_map_DeleteSubscriberDataRes,
17467 &ett_gsm_map_SpecificCSI_Withdraw,
17468 &ett_gsm_map_GPRSSubscriptionDataWithdraw,
17469 &ett_gsm_map_ContextIdList,
17470 &ett_gsm_map_LSAInformationWithdraw,
17471 &ett_gsm_map_LSAIdentityList,
17472 &ett_gsm_map_BasicServiceList,
17473 &ett_gsm_map_VlrCamelSubscriptionInfo,
17474 &ett_gsm_map_MT_smsCAMELTDP_CriteriaList,
17475 &ett_gsm_map_MT_smsCAMELTDP_Criteria,
17476 &ett_gsm_map_TPDU_TypeCriterion,
17477 &ett_gsm_map_D_CSI,
17478 &ett_gsm_map_DP_AnalysedInfoCriteriaList,
17479 &ett_gsm_map_DP_AnalysedInfoCriterium,
17480 &ett_gsm_map_SS_CSI,
17481 &ett_gsm_map_SS_CamelData,
17482 &ett_gsm_map_MG_CSI,
17483 &ett_gsm_map_BearerServiceList,
17484 &ett_gsm_map_TeleserviceList,
17485 &ett_gsm_map_Ext_SS_InfoList,
17486 &ett_gsm_map_Ext_SS_Info,
17487 &ett_gsm_map_Ext_ForwInfo,
17488 &ett_gsm_map_Ext_ForwFeatureList,
17489 &ett_gsm_map_Ext_ForwFeature,
17490 &ett_gsm_map_Ext_CallBarInfo,
17491 &ett_gsm_map_Ext_CallBarFeatureList,
17492 &ett_gsm_map_Ext_CallBarringFeature,
17493 &ett_gsm_map_ZoneCodeList,
17494 &ett_gsm_map_EMLPP_Info,
17495 &ett_gsm_map_CUG_Info,
17496 &ett_gsm_map_CUG_SubscriptionList,
17497 &ett_gsm_map_CUG_Subscription,
17498 &ett_gsm_map_CUG_FeatureList,
17499 &ett_gsm_map_Ext_BasicServiceGroupList,
17500 &ett_gsm_map_CUG_Feature,
17501 &ett_gsm_map_Ext_SS_Data,
17502 &ett_gsm_map_LCS_PrivacyExceptionList,
17503 &ett_gsm_map_LCS_PrivacyClass,
17504 &ett_gsm_map_ExternalClientList,
17505 &ett_gsm_map_PLMNClientList,
17506 &ett_gsm_map_Ext_ExternalClientList,
17507 &ett_gsm_map_ExternalClient,
17508 &ett_gsm_map_ServiceTypeList,
17509 &ett_gsm_map_ServiceType,
17510 &ett_gsm_map_MOLR_List,
17511 &ett_gsm_map_MOLR_Class,
17512 &ett_gsm_map_CallBarringFeatureList,
17513 &ett_gsm_map_CallBarringFeature,
17514 &ett_gsm_map_ForwardingFeatureList,
17515 &ett_gsm_map_ForwardingFeature,
17516 &ett_gsm_map_DestinationNumberCriteria,
17517 &ett_gsm_map_DestinationNumberList,
17518 &ett_gsm_map_DestinationNumberLengthList,
17519 &ett_gsm_map_ForwardingInfo,
17520 &ett_gsm_map_CallBarringInfo,
17521 &ett_gsm_map_MC_SS_Info,
17522 &ett_gsm_map_ResetArg,
17523 &ett_gsm_map_RestoreDataArg,
17524 &ett_gsm_map_RestoreDataRes,
17525 &ett_gsm_map_VBSDataList,
17526 &ett_gsm_map_VGCSDataList,
17527 &ett_gsm_map_VoiceGroupCallData,
17528 &ett_gsm_map_VoiceBroadcastData,
17529 &ett_gsm_map_ActivateTraceModeArg,
17530 &ett_gsm_map_ActivateTraceModeRes,
17531 &ett_gsm_map_DeactivateTraceModeArg,
17532 &ett_gsm_map_DeactivateTraceModeRes,
17533 &ett_gsm_map_SendRoutingInfoArg,
17534 &ett_gsm_map_SendRoutingInfoRes,
17535 &ett_gsm_map_ExternalSignalInfo,
17536 &ett_gsm_map_Ext_ExternalSignalInfo,
17537 &ett_gsm_map_AccessNetworkSignalInfo,
17538 &ett_gsm_map_CamelInfo,
17539 &ett_gsm_map_Identity,
17540 &ett_gsm_map_IMSI_WithLMSI,
17541 &ett_gsm_map_SubscriberId,
17542 &ett_gsm_map_HLR_List,
17543 &ett_gsm_map_SS_List,
17544 &ett_gsm_map_NAEA_PreferredCI,
17545 &ett_gsm_map_SubscriberIdentity,
17546 &ett_gsm_map_LCSClientExternalID,
17547 &ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
17548 &ett_gsm_map_AllowedServices,
17549 &ett_gsm_map_CCBS_Indicators,
17550 &ett_gsm_map_RoutingInfo,
17551 &ett_gsm_map_ExtendedRoutingInfo,
17552 &ett_gsm_map_CamelRoutingInfo,
17553 &ett_gsm_map_GmscCamelSubscriptionInfo,
17554 &ett_gsm_map_LocationInformation,
17555 &ett_gsm_map_LocationInformationGPRS,
17556 &ett_gsm_map_SubscriberState,
17557 &ett_gsm_map_PS_SubscriberState,
17558 &ett_gsm_map_PDP_ContextInfoList,
17559 &ett_gsm_map_PDP_ContextInfo,
17560 &ett_gsm_map_CUG_CheckInfo,
17561 &ett_gsm_map_ForwardingData,
17562 &ett_gsm_map_ProvideRoamingNumberArg,
17563 &ett_gsm_map_ProvideRoamingNumberRes,
17564 &ett_gsm_map_ResumeCallHandlingArg,
17565 &ett_gsm_map_ResumeCallHandlingRes,
17566 &ett_gsm_map_UU_Data,
17567 &ett_gsm_map_ProvideSIWFSNumberArg,
17568 &ett_gsm_map_ProvideSIWFSNumberRes,
17569 &ett_gsm_map_SIWFSSignallingModifyArg,
17570 &ett_gsm_map_SIWFSSignallingModifyRes,
17571 &ett_gsm_map_SetReportingStateArg,
17572 &ett_gsm_map_SetReportingStateRes,
17573 &ett_gsm_map_StatusReportArg,
17574 &ett_gsm_map_StatusReportRes,
17575 &ett_gsm_map_EventReportData,
17576 &ett_gsm_map_CallReportData,
17577 &ett_gsm_map_IST_AlertArg,
17578 &ett_gsm_map_IST_AlertRes,
17579 &ett_gsm_map_IST_CommandArg,
17580 &ett_gsm_map_IST_CommandRes,
17581 &ett_gsm_map_ReleaseResourcesArg,
17582 &ett_gsm_map_ReleaseResourcesRes,
17583 &ett_gsm_map_RemoteUserFreeArg,
17584 &ett_gsm_map_RemoteUserFreeRes,
17585 &ett_gsm_map_SS_Data,
17586 &ett_gsm_map_SS_SubscriptionOption,
17587 &ett_gsm_map_RegisterSS_Arg,
17588 &ett_gsm_map_SS_Info,
17589 &ett_gsm_map_InterrogateSS_Res,
17590 &ett_gsm_map_Ussd_Arg,
17591 &ett_gsm_map_Ussd_Res,
17592 &ett_gsm_map_AuthenticationFailureReportArg,
17593 &ett_gsm_map_AuthenticationFailureReportRes,
17594 &ett_gsm_map_RegisterCC_EntryArg,
17595 &ett_gsm_map_RegisterCC_EntryRes,
17596 &ett_gsm_map_CCBS_Data,
17597 &ett_gsm_map_ServiceIndicator,
17598 &ett_gsm_map_EraseCC_EntryArg,
17599 &ett_gsm_map_EraseCC_EntryRes,
17600 &ett_gsm_map_RoutingInfoForSMArg,
17601 &ett_gsm_map_RoutingInfoForSM_Res,
17602 &ett_gsm_map_LocationInfoWithLMSI,
17603 &ett_gsm_map_Additional_Number,
17604 &ett_gsm_map_Mo_forwardSM_Arg,
17605 &ett_gsm_map_Mo_forwardSM_Res,
17606 &ett_gsm_map_Sm_RP_OA,
17607 &ett_gsm_map_Sm_RP_DA,
17608 &ett_gsm_map_Mt_forwardSM_Arg,
17609 &ett_gsm_map_Mt_forwardSM_Res,
17610 &ett_gsm_map_ReportSM_DeliveryStatusArg,
17611 &ett_gsm_map_ReportSM_DeliveryStatusRes,
17612 &ett_gsm_map_InformServiceCentreArg,
17613 &ett_gsm_map_T_mw_Status,
17614 &ett_gsm_map_AlertServiceCentreArg,
17615 &ett_gsm_map_ReadyForSM_Arg,
17616 &ett_gsm_map_ReadyForSM_Res,
17617 &ett_gsm_map_ProvideSubscriberInfoArg,
17618 &ett_gsm_map_ProvideSubscriberInfoRes,
17619 &ett_gsm_map_SubscriberInfo,
17620 &ett_gsm_map_MNPInfoRes,
17621 &ett_gsm_map_GPRSMSClass,
17622 &ett_gsm_map_RequestedInfo,
17623 &ett_gsm_map_AnyTimeInterrogationArg,
17624 &ett_gsm_map_AnyTimeInterrogationRes,
17625 &ett_gsm_map_AnyTimeSubscriptionInterrogationArg,
17626 &ett_gsm_map_AnyTimeSubscriptionInterrogationRes,
17627 &ett_gsm_map_RequestedSubscriptionInfo,
17628 &ett_gsm_map_CallForwardingData,
17629 &ett_gsm_map_CallBarringData,
17630 &ett_gsm_map_BasicServiceCode,
17631 &ett_gsm_map_O_BcsmCamelTDPCriteriaList,
17632 &ett_gsm_map_T_BCSM_CAMEL_TDP_CriteriaList,
17633 &ett_gsm_map_O_BcsmCamelTDP_Criteria,
17634 &ett_gsm_map_T_BCSM_CAMEL_TDP_Criteria,
17635 &ett_gsm_map_OfferedCamel4CSIs,
17636 &ett_gsm_map_OfferedCamel4Functionalities,
17637 &ett_gsm_map_SS_ForBS_Code,
17638 &ett_gsm_map_GenericServiceInfo,
17639 &ett_gsm_map_CCBS_FeatureList,
17640 &ett_gsm_map_CCBS_Feature,
17641 &ett_gsm_map_T_CauseValueCriteria,
17642 &ett_gsm_map_O_CauseValueCriteria,
17643 &ett_gsm_map_BasicServiceCriteria,
17644 &ett_gsm_map_AnyTimeModificationArg,
17645 &ett_gsm_map_AnyTimeModificationRes,
17646 &ett_gsm_map_ModificationRequestFor_CF_Info,
17647 &ett_gsm_map_ModificationRequestFor_CB_Info,
17648 &ett_gsm_map_ModificationRequestFor_ODB_data,
17649 &ett_gsm_map_ModificationRequestFor_CSI,
17650 &ett_gsm_map_Ext_SS_InfoFor_CSE,
17651 &ett_gsm_map_NoteSubscriberDataModifiedArg,
17652 &ett_gsm_map_NoteSubscriberDataModifiedRes,
17653 &ett_gsm_map_NoteMM_EventArg,
17654 &ett_gsm_map_NoteMM_EventRes,
17655 &ett_gsm_map_CAMEL_SubscriptionInfo,
17656 &ett_gsm_map_Ext_ForwardingInfoFor_CSE,
17657 &ett_gsm_map_Ext_BasicServiceCode,
17658 &ett_gsm_map_Ext_CallBarringInfoFor_CSE,
17659 &ett_gsm_map_ODB_Info,
17660 &ett_gsm_map_ODB_Data,
17661 &ett_gsm_map_M_CSI,
17662 &ett_gsm_map_SS_EventList,
17663 &ett_gsm_map_T_CSI,
17664 &ett_gsm_map_T_BcsmCamelTDPDataList,
17665 &ett_gsm_map_T_BcsmCamelTDPData,
17666 &ett_gsm_map_SMS_CSI,
17667 &ett_gsm_map_SMS_CAMEL_TDP_DataList,
17668 &ett_gsm_map_SMS_CAMEL_TDP_Data,
17669 &ett_gsm_map_MobilityTriggers,
17670 &ett_gsm_map_Ss_InvocationNotificationArg,
17671 &ett_gsm_map_T_ss_EventSpecification,
17672 &ett_gsm_map_Ss_InvocationNotificationRes,
17673 &ett_gsm_map_PrepareGroupCallArg,
17674 &ett_gsm_map_PrepareGroupCallRes,
17675 &ett_gsm_map_SendGroupCallEndSignalArg,
17676 &ett_gsm_map_SendGroupCallEndSignalRes,
17677 &ett_gsm_map_ProcessGroupCallSignallingArg,
17678 &ett_gsm_map_ForwardGroupCallSignallingArg,
17679 &ett_gsm_map_UpdateGprsLocationArg,
17680 &ett_gsm_map_UpdateGprsLocationRes,
17681 &ett_gsm_map_SGSN_Capability,
17682 &ett_gsm_map_SendRoutingInfoForGprsArg,
17683 &ett_gsm_map_SendRoutingInfoForGprsRes,
17684 &ett_gsm_map_FailureReportArg,
17685 &ett_gsm_map_FailureReportRes,
17686 &ett_gsm_map_NoteMsPresentForGprsArg,
17687 &ett_gsm_map_NoteMsPresentForGprsRes,
17688 &ett_gsm_map_ProvideSubscriberLocation_Arg,
17689 &ett_gsm_map_LocationType,
17690 &ett_gsm_map_DeferredLocationEventType,
17691 &ett_gsm_map_LCS_ClientID,
17692 &ett_gsm_map_LCSClientName,
17693 &ett_gsm_map_LCSRequestorID,
17694 &ett_gsm_map_LCS_QoS,
17695 &ett_gsm_map_ResponseTime,
17696 &ett_gsm_map_SupportedGADShapes,
17697 &ett_gsm_map_LCSCodeword,
17698 &ett_gsm_map_LCS_PrivacyCheck,
17699 &ett_gsm_map_AreaEventInfo,
17700 &ett_gsm_map_AreaDefinition,
17701 &ett_gsm_map_AreaList,
17703 &ett_gsm_map_ProvideSubscriberLocation_Res,
17704 &ett_gsm_map_TargetMS,
17705 &ett_gsm_map_RoutingInfoForLCS_Arg,
17706 &ett_gsm_map_RoutingInfoForLCS_Res,
17707 &ett_gsm_map_LCSLocationInfo,
17708 &ett_gsm_map_SubscriberLocationReport_Arg,
17709 &ett_gsm_map_Deferredmt_lrData,
17710 &ett_gsm_map_SubscriberLocationReport_Res,
17711 &ett_gsm_map_SecureTransportArg,
17712 &ett_gsm_map_SecureTransportRes,
17713 &ett_gsm_map_SecurityHeader,
17714 &ett_gsm_map_OriginalComponentIdentifier,
17715 &ett_gsm_map_OperationCode,
17716 &ett_gsm_map_ErrorCode,
17717 &ett_gsm_map_SystemFailureParam,
17718 &ett_gsm_map_T_extensibleSystemFailureParam,
17719 &ett_gsm_map_DataMissingParam,
17720 &ett_gsm_map_UnexpectedDataParam,
17721 &ett_gsm_map_FacilityNotSupParam,
17722 &ett_gsm_map_IncompatibleTerminalParam,
17723 &ett_gsm_map_ResourceLimitationParam,
17724 &ett_gsm_map_UnknownSubscriberParam,
17725 &ett_gsm_map_NumberChangedParam,
17726 &ett_gsm_map_UnidentifiedSubParam,
17727 &ett_gsm_map_RoamingNotAllowedParam,
17728 &ett_gsm_map_IllegalSubscriberParam,
17729 &ett_gsm_map_IllegalEquipmentParam,
17730 &ett_gsm_map_BearerServNotProvParam,
17731 &ett_gsm_map_TeleservNotProvParam,
17732 &ett_gsm_map_TracingBufferFullParam,
17733 &ett_gsm_map_NoRoamingNbParam,
17734 &ett_gsm_map_AbsentSubscriberParam,
17735 &ett_gsm_map_BusySubscriberParam,
17736 &ett_gsm_map_NoSubscriberReplyParam,
17737 &ett_gsm_map_CallBarredParam,
17738 &ett_gsm_map_T_extensibleCallBarredParam,
17739 &ett_gsm_map_ForwardingFailedParam,
17740 &ett_gsm_map_Or_NotAllowedParam,
17741 &ett_gsm_map_ForwardingViolationParam,
17742 &ett_gsm_map_Cug_RejectParam,
17743 &ett_gsm_map_Ati_NotAllowedParam,
17744 &ett_gsm_map_NoGroupCallNbParam,
17745 &ett_gsm_map_SS_IncompatibilityCause,
17746 &ett_gsm_map_ShortTermDenialParam,
17747 &ett_gsm_map_LongTermDenialParam,
17748 &ett_gsm_map_SubBusyForMT_SMS_Param,
17749 &ett_gsm_map_Sm_DeliveryFailureCause,
17750 &ett_gsm_map_MessageWaitListFullParam,
17751 &ett_gsm_map_AbsentSubscriberSM_Param,
17752 &ett_gsm_map_UnauthorizedRequestingNetwork_Param,
17753 &ett_gsm_map_UnauthorizedLCSClient_Param,
17754 &ett_gsm_map_PositionMethodFailure_Param,
17755 &ett_gsm_map_UnknownOrUnreachableLCSClient_Param,
17756 &ett_gsm_map_ExtensionContainer,
17758 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
17762 /* Register protocol */
17763 proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
17764 /*XXX register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);*/
17765 /* Register fields and subtrees */
17766 proto_register_field_array(proto_gsm_map, hf, array_length(hf));
17767 proto_register_subtree_array(ett, array_length(ett));
17769 sms_dissector_table = register_dissector_table("gsm_map.sms_tpdu",
17770 "GSM SMS TPDU", FT_UINT8,
17773 gsm_map_tap = register_tap("gsm_map");
17774 /*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)" );
17776 * Register our configuration options, particularly our ssn:s
17779 range_convert_str(&global_ssn_range, "6-9", MAX_SSN);
17780 ssn_range = range_empty();
17783 gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
17785 prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs",
17786 "TCAP Subsystem numbers used for GSM MAP",
17787 &global_ssn_range, MAX_SSN);