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, Anders Broman <anders.broman@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
42 #include <epan/packet.h>
43 #include <epan/prefs.h>
44 #include <epan/conversation.h>
50 #include "packet-ber.h"
51 #include "packet-q931.h"
52 #include "packet-gsm_map.h"
54 #define PNAME "GSM_MobileAPplication"
55 #define PSNAME "GSM_MAP"
56 #define PFNAME "gsm_map"
58 /* Initialize the protocol and registered fields */
59 int proto_gsm_map = -1;
60 static int hf_gsm_map_invokeCmd = -1; /* Opcode */
61 static int hf_gsm_map_invokeid = -1; /* INTEGER */
62 static int hf_gsm_map_absent = -1; /* NULL */
63 static int hf_gsm_map_invokeId = -1; /* InvokeId */
64 static int hf_gsm_map_invoke = -1; /* InvokePDU */
65 static int hf_gsm_map_returnResult = -1; /* InvokePDU */
66 static int hf_gsm_map_returnResult_result = -1;
67 static int hf_gsm_map_returnError_result = -1;
68 static int hf_gsm_map_returnError = -1;
69 static int hf_gsm_map_local_errorCode = -1;
70 static int hf_gsm_map_global_errorCode_oid = -1;
71 static int hf_gsm_map_global_errorCode = -1;
72 static int hf_gsm_map_SendAuthenticationInfoArg = -1;
73 static int hf_gsm_mapSendEndSignal = -1;
74 static int hf_gsm_map_getPassword = -1;
75 static int hf_gsm_map_currentPassword = -1;
76 static int hf_gsm_map_extension = -1;
77 static int hf_gsm_map_nature_of_number = -1;
78 static int hf_gsm_map_number_plan = -1;
79 static int hf_gsm_map_misdn_digits = -1;
80 static int hf_gsm_map_servicecentreaddress_digits = -1;
81 static int hf_gsm_map_imsi_digits = -1;
82 static int hf_gsm_map_map_gmsc_address_digits = -1;
83 static int hf_gsm_map_map_RoamingNumber_digits = -1;
84 static int hf_gsm_map_map_hlr_number_digits = -1;
85 static int hf_gsm_map_map_ForwardedToNumber_digits = -1;
86 static int hf_gsm_map_Ss_Status_unused = -1;
87 static int hf_gsm_map_Ss_Status_q_bit = -1;
88 static int hf_gsm_map_Ss_Status_p_bit = -1;
89 static int hf_gsm_map_Ss_Status_r_bit = -1;
90 static int hf_gsm_map_Ss_Status_a_bit = -1;
93 /*--- Included file: packet-gsm_map-hf.c ---*/
95 static int hf_gsm_map_protocolId = -1; /* ProtocolId */
96 static int hf_gsm_map_signalInfo = -1; /* SignalInfo */
97 static int hf_gsm_map_extensionContainer = -1; /* ExtensionContainer */
98 static int hf_gsm_map_accessNetworkProtocolId = -1; /* T_accessNetworkProtocolId */
99 static int hf_gsm_map_signalInfo2 = -1; /* SignalInfo2 */
100 static int hf_gsm_map_supportedCamelPhases = -1; /* SupportedCamelPhases */
101 static int hf_gsm_map_solsaSupportIndicator = -1; /* NULL */
102 static int hf_gsm_map_istSupportIndicator = -1; /* T_istSupportIndicator */
103 static int hf_gsm_map_superChargerSupportedInServingNetworkEntity = -1; /* T_superChargerSupportedInServingNetworkEntity */
104 static int hf_gsm_map_sendSubscriberData = -1; /* NULL */
105 static int hf_gsm_map_subscriberDataStored = -1; /* OCTET_STRING_SIZE_1_6 */
106 static int hf_gsm_map_longFTN_Supported = -1; /* NULL */
107 static int hf_gsm_map_supportedLCS_CapabilitySets = -1; /* T_supportedLCS_CapabilitySets */
108 static int hf_gsm_map_offeredCamel4CSIs = -1; /* T_offeredCamel4CSIs */
109 static int hf_gsm_map_imsi = -1; /* Imsi */
110 static int hf_gsm_map_msc_Number = -1; /* Msc_Number */
111 static int hf_gsm_map_vlr_Number = -1; /* Vlr_Number */
112 static int hf_gsm_map_lmsi = -1; /* Lmsi */
113 static int hf_gsm_map_vlr_Capability = -1; /* Vlr_Capability */
114 static int hf_gsm_map_informPreviousNetworkEntity = -1; /* NULL */
115 static int hf_gsm_map_cs_LCS_NotSupportedByUE = -1; /* NULL */
116 static int hf_gsm_map_v_gmlc_Address = -1; /* OCTET_STRING_SIZE_5_17 */
117 static int hf_gsm_map_add_info = -1; /* T_add_info */
118 static int hf_gsm_map_imeisv = -1; /* OCTET_STRING_SIZE_8 */
119 static int hf_gsm_map_skipSubscriberDataUpdate = -1; /* NULL */
120 static int hf_gsm_map_hlr_Number = -1; /* Hlr_Number */
121 static int hf_gsm_map_PrivateExtensionList_item = -1; /* PrivateExtension */
122 static int hf_gsm_map_extId = -1; /* OBJECT_IDENTIFIER */
123 static int hf_gsm_map_extType = -1; /* T_extType */
124 static int hf_gsm_map_identity = -1; /* T_identity */
125 static int hf_gsm_map_imsi_WithLMSI = -1; /* T_imsi_WithLMSI */
126 static int hf_gsm_map_cancellationType = -1; /* CancellationType */
127 static int hf_gsm_map_sgsn_Number = -1; /* Sgsn_Number */
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_sendId_authenticationSetList = -1; /* SendId_authenticationSetList */
131 static int hf_gsm_map_authenticationSetList_item = -1; /* T_authenticationSetList_item */
132 static int hf_gsm_map_rand = -1; /* OCTET_STRING_SIZE_16 */
133 static int hf_gsm_map_sres = -1; /* OCTET_STRING_SIZE_4 */
134 static int hf_gsm_map_kc = -1; /* OCTET_STRING_SIZE_8 */
135 static int hf_gsm_map_targetCellId = -1; /* OCTET_STRING_SIZE_5_7 */
136 static int hf_gsm_map_ho_NumberNotRequired = -1; /* NULL */
137 static int hf_gsm_map_bss_APDU = -1; /* Bss_APDU */
138 static int hf_gsm_map_targetRNCId = -1; /* OCTET_STRING_SIZE_7 */
139 static int hf_gsm_map_an_APDU = -1; /* An_APDU */
140 static int hf_gsm_map_multipleBearerRequested = -1; /* NULL */
141 static int hf_gsm_map_integrityProtectionInfo = -1; /* OCTET_STRING_SIZE_18_100 */
142 static int hf_gsm_map_encryptionInfo = -1; /* OCTET_STRING_SIZE_18_100 */
143 static int hf_gsm_map_radioResourceInformation = -1; /* OCTET_STRING_SIZE_3_13 */
144 static int hf_gsm_map_allowedGSM_Algorithms = -1; /* OCTET_STRING_SIZE_1 */
145 static int hf_gsm_map_allowedUMTS_Algorithms = -1; /* T_allowedUMTS_Algorithms */
146 static int hf_gsm_map_integrityProtectionAlgorithms = -1; /* OCTET_STRING_SIZE_1_9 */
147 static int hf_gsm_map_encryptionAlgorithms = -1; /* OCTET_STRING_SIZE_1_9 */
148 static int hf_gsm_map_radioResourceList = -1; /* T_radioResourceList */
149 static int hf_gsm_map_radioResourceList_item = -1; /* T_radioResourceList_item */
150 static int hf_gsm_map_rab_Id = -1; /* INTEGER_1_255 */
151 static int hf_gsm_map_bssmap_ServiceHandover = -1; /* OCTET_STRING_SIZE_1 */
152 static int hf_gsm_map_ranap_ServiceHandover = -1; /* OCTET_STRING_SIZE_1 */
153 static int hf_gsm_map_bssmap_ServiceHandoverList = -1; /* T_bssmap_ServiceHandoverList */
154 static int hf_gsm_map_bssmap_ServiceHandoverList_item = -1; /* T_bssmap_ServiceHandoverList_item */
155 static int hf_gsm_map_asciCallReference = -1; /* OCTET_STRING_SIZE_1_8 */
156 static int hf_gsm_map_geran_classmark = -1; /* OCTET_STRING_SIZE_2_87 */
157 static int hf_gsm_map_iuCurrentlyUsedCodec = -1; /* OCTET_STRING_SIZE_1_4 */
158 static int hf_gsm_map_iuSupportedCodecsList = -1; /* T_iuSupportedCodecsList */
159 static int hf_gsm_map_utranCodecList = -1; /* T_utranCodecList */
160 static int hf_gsm_map_codec1 = -1; /* OCTET_STRING_SIZE_1_4 */
161 static int hf_gsm_map_codec2 = -1; /* OCTET_STRING_SIZE_1_4 */
162 static int hf_gsm_map_codec3 = -1; /* OCTET_STRING_SIZE_1_4 */
163 static int hf_gsm_map_codec4 = -1; /* OCTET_STRING_SIZE_1_4 */
164 static int hf_gsm_map_codec5 = -1; /* OCTET_STRING_SIZE_1_4 */
165 static int hf_gsm_map_codec6 = -1; /* OCTET_STRING_SIZE_1_4 */
166 static int hf_gsm_map_codec7 = -1; /* OCTET_STRING_SIZE_1_4 */
167 static int hf_gsm_map_codec8 = -1; /* OCTET_STRING_SIZE_1_4 */
168 static int hf_gsm_map_geranCodecList = -1; /* T_geranCodecList */
169 static int hf_gsm_map_rab_ConfigurationIndicator = -1; /* NULL */
170 static int hf_gsm_map_uesbi_Iu = -1; /* T_uesbi_Iu */
171 static int hf_gsm_map_uesbi_IuA = -1; /* BIT_STRING_SIZE_1_128 */
172 static int hf_gsm_map_uesbi_IuB = -1; /* BIT_STRING_SIZE_1_128 */
173 static int hf_gsm_map_handoverNumber = -1; /* HandoverNumber */
174 static int hf_gsm_map_relocationNumberList = -1; /* T_relocationNumberList */
175 static int hf_gsm_map_relocationNumberList_item = -1; /* T_relocationNumberList_item */
176 static int hf_gsm_map_multicallBearerInfo = -1; /* INTEGER_1_7 */
177 static int hf_gsm_map_multipleBearerNotSupported = -1; /* NULL */
178 static int hf_gsm_map_selectedUMTS_Algorithms = -1; /* T_selectedUMTS_Algorithms */
179 static int hf_gsm_map_integrityProtectionAlgorithm = -1; /* OCTET_STRING_SIZE_1 */
180 static int hf_gsm_map_encryptionAlgorithm = -1; /* OCTET_STRING_SIZE_1 */
181 static int hf_gsm_map_chosenRadioResourceInformation = -1; /* T_chosenRadioResourceInformation */
182 static int hf_gsm_map_chosenChannelInfo = -1; /* OCTET_STRING_SIZE_1 */
183 static int hf_gsm_map_chosenSpeechVersion = -1; /* OCTET_STRING_SIZE_1 */
184 static int hf_gsm_map_iuSelectedCodec = -1; /* OCTET_STRING_SIZE_1_4 */
185 static int hf_gsm_map_iuAvailableCodecsList = -1; /* T_iuAvailableCodecsList */
186 static int hf_gsm_map_targetMSC_Number = -1; /* T_targetMSC_Number */
187 static int hf_gsm_map_numberOfRequestedVectors = -1; /* INTEGER_1_5 */
188 static int hf_gsm_map_segmentationProhibited = -1; /* NULL */
189 static int hf_gsm_map_immediateResponsePreferred = -1; /* NULL */
190 static int hf_gsm_map_re_synchronisationInfo = -1; /* T_re_synchronisationInfo */
191 static int hf_gsm_map_auts = -1; /* OCTET_STRING_SIZE_14 */
192 static int hf_gsm_map_requestingNodeType = -1; /* T_requestingNodeType */
193 static int hf_gsm_map_requestingPLMN_Id = -1; /* OCTET_STRING_SIZE_3 */
194 static int hf_gsm_map_SendAuthenticationInfoRes_item = -1; /* SendAuthenticationInfoRes_item */
195 static int hf_gsm_map_authenticationSetList = -1; /* T_authenticationSetList */
196 static int hf_gsm_map_tripletList = -1; /* T_tripletList */
197 static int hf_gsm_map_tripletList_item = -1; /* T_tripletList_item */
198 static int hf_gsm_map_quintupletList = -1; /* T_quintupletList */
199 static int hf_gsm_map_quintupletList_item = -1; /* T_quintupletList_item */
200 static int hf_gsm_map_xres = -1; /* OCTET_STRING_SIZE_4_16 */
201 static int hf_gsm_map_ck = -1; /* OCTET_STRING_SIZE_16 */
202 static int hf_gsm_map_ik = -1; /* OCTET_STRING_SIZE_16 */
203 static int hf_gsm_map_autn = -1; /* OCTET_STRING_SIZE_16 */
204 static int hf_gsm_map_imei = -1; /* Imei */
205 static int hf_gsm_map_requestedEquipmentInfo = -1; /* T_requestedEquipmentInfo */
206 static int hf_gsm_map_equipmentStatus = -1; /* EquipmentStatus */
207 static int hf_gsm_map_bmuef = -1; /* T_bmuef */
208 static int hf_gsm_map_bearerService = -1; /* OCTET_STRING */
209 static int hf_gsm_map_teleservice = -1; /* Teleservice */
210 static int hf_gsm_map_BasicServiceGroupList_item = -1; /* BasicService */
211 static int hf_gsm_map_bcsmTriggerDetectionPoint = -1; /* BcsmTriggerDetectionPoint */
212 static int hf_gsm_map_serviceKey = -1; /* ServiceKey */
213 static int hf_gsm_map_gsmSCFAddress = -1; /* GsmSCF_Address */
214 static int hf_gsm_map_defaultCallHandling = -1; /* DefaultCallHandling */
215 static int hf_gsm_map_BcsmCamelTDPDataList_item = -1; /* BcsmCamelTDPData */
216 static int hf_gsm_map_o_BcsmCamelTDPDataList = -1; /* BcsmCamelTDPDataList */
217 static int hf_gsm_map_camelCapabilityHandling = -1; /* INTEGER_1_16 */
218 static int hf_gsm_map_msisdn = -1; /* Msisdn */
219 static int hf_gsm_map_category = -1; /* OCTET_STRING_SIZE_1 */
220 static int hf_gsm_map_subscriberStatus = -1; /* SubscriberStatus */
221 static int hf_gsm_map_bearerServiceList = -1; /* bearerServiceList */
222 static int hf_gsm_map_bearerServiceList_item = -1; /* OCTET_STRING_SIZE_1_5 */
223 static int hf_gsm_map_teleserviceList = -1; /* SEQUENCE_SIZE_1_20_OF_Teleservice */
224 static int hf_gsm_map_teleserviceList_item = -1; /* Teleservice */
225 static int hf_gsm_map_provisionedSS = -1; /* T_provisionedSS */
226 static int hf_gsm_map_provisionedSS_item = -1; /* T_provisionedSS_item */
227 static int hf_gsm_map_forwardingInfo = -1; /* ForwardingInfo */
228 static int hf_gsm_map_callBarringInfo = -1; /* CallBarringInfo */
229 static int hf_gsm_map_cug_Info = -1; /* T_cug_Info */
230 static int hf_gsm_map_cug_SubscriptionList = -1; /* T_cug_SubscriptionList */
231 static int hf_gsm_map_cug_SubscriptionList_item = -1; /* T_cug_SubscriptionList_item */
232 static int hf_gsm_map_cug_Index = -1; /* INTEGER_0_32767 */
233 static int hf_gsm_map_cug_Interlock = -1; /* OCTET_STRING_SIZE_4 */
234 static int hf_gsm_map_intraCUG_Options = -1; /* IntraCUG_Options */
235 static int hf_gsm_map_basicServiceGroupList = -1; /* BasicServiceGroupList */
236 static int hf_gsm_map_cug_FeatureList = -1; /* T_cug_FeatureList */
237 static int hf_gsm_map_cug_FeatureList_item = -1; /* T_cug_FeatureList_item */
238 static int hf_gsm_map_basicService = -1; /* BasicService */
239 static int hf_gsm_map_preferentialCUG_Indicator = -1; /* INTEGER_0_32767 */
240 static int hf_gsm_map_interCUG_Restrictions = -1; /* OCTET_STRING_SIZE_1 */
241 static int hf_gsm_map_ss_Data = -1; /* Ss_Data */
242 static int hf_gsm_map_emlpp_Info = -1; /* T_emlpp_Info */
243 static int hf_gsm_map_maximumentitledPriority = -1; /* INTEGER_0_15 */
244 static int hf_gsm_map_defaultPriority = -1; /* INTEGER_0_15 */
245 static int hf_gsm_map_odb_Data = -1; /* Odb_data */
246 static int hf_gsm_map_roamingRestrictionDueToUnsupportedFeature = -1; /* NULL */
247 static int hf_gsm_map_regionalSubscriptionData = -1; /* T_regionalSubscriptionData */
248 static int hf_gsm_map_regionalSubscriptionData_item = -1; /* OCTET_STRING_SIZE_2 */
249 static int hf_gsm_map_vbsSubscriptionData = -1; /* T_vbsSubscriptionData */
250 static int hf_gsm_map_vbsSubscriptionData_item = -1; /* T_vbsSubscriptionData_item */
251 static int hf_gsm_map_groupid = -1; /* OCTET_STRING_SIZE_3 */
252 static int hf_gsm_map_broadcastInitEntitlement = -1; /* NULL */
253 static int hf_gsm_map_vgcsSubscriptionData = -1; /* T_vgcsSubscriptionData */
254 static int hf_gsm_map_vgcsSubscriptionData_item = -1; /* T_vgcsSubscriptionData_item */
255 static int hf_gsm_map_groupId = -1; /* OCTET_STRING_SIZE_3 */
256 static int hf_gsm_map_vlrCamelSubscriptionInfo = -1; /* T_vlrCamelSubscriptionInfo */
257 static int hf_gsm_map_o_CSI = -1; /* O_CSI */
258 static int hf_gsm_map_ss_CSI = -1; /* ss_CSI */
259 static int hf_gsm_map_ss_CamelData = -1; /* Ss_CamelData */
260 static int hf_gsm_map_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDP_CriteriaList */
261 static int hf_gsm_map_tif_CSI = -1; /* NULL */
262 static int hf_gsm_map_naea_PreferredCI = -1; /* Naea_PreferredCI */
263 static int hf_gsm_map_gprsSubscriptionData = -1; /* T_gprsSubscriptionData */
264 static int hf_gsm_map_completeDataListIncluded = -1; /* NULL */
265 static int hf_gsm_map_gprsDataList = -1; /* T_gprsDataList */
266 static int hf_gsm_map_gprsDataList_item = -1; /* T_gprsDataList_item */
267 static int hf_gsm_map_pdp_ContextId = -1; /* INTEGER_1_50 */
268 static int hf_gsm_map_pdp_Type = -1; /* OCTET_STRING_SIZE_2 */
269 static int hf_gsm_map_pdp_Address = -1; /* OCTET_STRING_SIZE_1_16 */
270 static int hf_gsm_map_qos_Subscribed = -1; /* Qos_Subscribed */
271 static int hf_gsm_map_vplmnAddressAllowed = -1; /* NULL */
272 static int hf_gsm_map_apn = -1; /* OCTET_STRING_SIZE_2_63 */
273 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature = -1; /* NULL */
274 static int hf_gsm_map_networkAccessMode = -1; /* T_networkAccessMode */
275 static int hf_gsm_map_lsaInformation = -1; /* T_lsaInformation */
276 static int hf_gsm_map_lsaOnlyAccessIndicator = -1; /* T_lsaOnlyAccessIndicator */
277 static int hf_gsm_map_lsaDataList = -1; /* T_lsaDataList */
278 static int hf_gsm_map_lsaDataList_item = -1; /* T_lsaDataList_item */
279 static int hf_gsm_map_lsaIdentity = -1; /* OCTET_STRING_SIZE_3 */
280 static int hf_gsm_map_lsaAttributes = -1; /* OCTET_STRING_SIZE_1 */
281 static int hf_gsm_map_lsaActiveModeIndicator = -1; /* NULL */
282 static int hf_gsm_map_lmu_Indicator = -1; /* NULL */
283 static int hf_gsm_map_lcsInformation = -1; /* T_lcsInformation */
284 static int hf_gsm_map_gmlc_List = -1; /* T_gmlc_List */
285 static int hf_gsm_map_gmlc_List_item = -1; /* T_gmlc_List_item */
286 static int hf_gsm_map_lcs_PrivacyExceptionList = -1; /* T_lcs_PrivacyExceptionList */
287 static int hf_gsm_map_lcs_PrivacyExceptionList_item = -1; /* T_lcs_PrivacyExceptionList_item */
288 static int hf_gsm_map_ss_Code = -1; /* Ss_Code */
289 static int hf_gsm_map_ss_Status = -1; /* Ss_Status */
290 static int hf_gsm_map_notificationToMSUser = -1; /* NotificationToMSUser */
291 static int hf_gsm_map_externalClientList = -1; /* T_externalClientList */
292 static int hf_gsm_map_externalClientList_item = -1; /* T_externalClientList_item */
293 static int hf_gsm_map_clientIdentity = -1; /* T_clientIdentity */
294 static int hf_gsm_map_externalAddress = -1; /* OCTET_STRING_SIZE_1_20 */
295 static int hf_gsm_map_gmlc_Restriction = -1; /* T_gmlc_Restriction */
296 static int hf_gsm_map_plmnClientList = -1; /* T_plmnClientList */
297 static int hf_gsm_map_plmnClientList_item = -1; /* T_plmnClientList_item */
298 static int hf_gsm_map_molr_List = -1; /* T_molr_List */
299 static int hf_gsm_map_molr_List_item = -1; /* T_molr_List_item */
300 static int hf_gsm_map_ss_List = -1; /* ss_List */
301 static int hf_gsm_map_ss_List_item = -1; /* OCTET_STRING_SIZE_1 */
302 static int hf_gsm_map_odb_GeneralData = -1; /* Odb_GeneralData */
303 static int hf_gsm_map_regionalSubscriptionResponse = -1; /* RegionalSubscriptionResponse */
304 static int hf_gsm_map_ss_EventList = -1; /* T_ss_EventList */
305 static int hf_gsm_map_ss_EventList_item = -1; /* OCTET_STRING_SIZE_1 */
306 static int hf_gsm_map_gsmSCF_Address = -1; /* GsmSCF_Address */
307 static int hf_gsm_map_callBarringFeatureList = -1; /* CallBarringFeatureList */
308 static int hf_gsm_map_CallBarringFeatureList_item = -1; /* CallBarringFeatureList_item */
309 static int hf_gsm_map_forwardedToNumber = -1; /* ForwardedToNumber */
310 static int hf_gsm_map_forwardedToSubaddress = -1; /* ForwardedToSubaddress */
311 static int hf_gsm_map_forwardingOptions = -1; /* ForwardingOptions */
312 static int hf_gsm_map_noReplyConditionTime = -1; /* INTEGER */
313 static int hf_gsm_map_longForwardedToNumber = -1; /* LongForwardedToNumber */
314 static int hf_gsm_map_matchType = -1; /* MatchType */
315 static int hf_gsm_map_destinationNumberList = -1; /* T_destinationNumberList */
316 static int hf_gsm_map_destinationNumberList_item = -1; /* T_destinationNumberList_item */
317 static int hf_gsm_map_destinationNumberLengthList = -1; /* T_destinationNumberLengthList */
318 static int hf_gsm_map_destinationNumberLengthList_item = -1; /* INTEGER_1_15 */
319 static int hf_gsm_map_forwardingFeatureList_1_32 = -1; /* SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList */
320 static int hf_gsm_map_forwardingFeatureList_item = -1; /* ForwardingFeatureList */
321 static int hf_gsm_map_naea_PreferredCIC = -1; /* OCTET_STRING_SIZE_3 */
322 static int hf_gsm_map_O_BcsmCamelTDP_CriteriaList_item = -1; /* O_BcsmCamelTDP_CriteriaList_item */
323 static int hf_gsm_map_o_BcsmTriggerDetectionPoint = -1; /* BcsmTriggerDetectionPoint */
324 static int hf_gsm_map_destinationNumberCriteria = -1; /* DestinationNumberCriteria */
325 static int hf_gsm_map_basicServiceCriteria_lst = -1; /* BasicServiceGroupList */
326 static int hf_gsm_map_callTypeCriteria = -1; /* CallTypeCriteria */
327 static int hf_gsm_map_cliRestrictionOption = -1; /* CliRestrictionOption */
328 static int hf_gsm_map_overrideCategory = -1; /* OverrideCategory */
329 static int hf_gsm_map_basicServiceList = -1; /* BasicServiceGroupList */
330 static int hf_gsm_map_regionalSubscriptionIdentifier = -1; /* OCTET_STRING_SIZE_2 */
331 static int hf_gsm_map_vbsGroupIndication = -1; /* NULL */
332 static int hf_gsm_map_vgcsGroupIndication = -1; /* NULL */
333 static int hf_gsm_map_camelSubscriptionInfoWithdraw = -1; /* NULL */
334 static int hf_gsm_map_gprsSubscriptionDataWithdraw = -1; /* T_gprsSubscriptionDataWithdraw */
335 static int hf_gsm_map_allGPRSData = -1; /* NULL */
336 static int hf_gsm_map_contextIdList = -1; /* T_contextIdList */
337 static int hf_gsm_map_contextIdList_item = -1; /* INTEGER_1_50 */
338 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1; /* NULL */
339 static int hf_gsm_map_lsaInformationWithdraw = -1; /* T_lsaInformationWithdraw */
340 static int hf_gsm_map_allLSAData = -1; /* NULL */
341 static int hf_gsm_map_lsaIdentityList = -1; /* T_lsaIdentityList */
342 static int hf_gsm_map_lsaIdentityList_item = -1; /* OCTET_STRING_SIZE_3 */
343 static int hf_gsm_map_gmlc_ListWithdraw = -1; /* NULL */
344 static int hf_gsm_map_hlr_List = -1; /* T_hlr_List */
345 static int hf_gsm_map_hlr_List_item = -1; /* OCTET_STRING_SIZE_3_8 */
346 static int hf_gsm_map_msNotReachable = -1; /* NULL */
347 static int hf_gsm_map_traceReference = -1; /* OCTET_STRING_SIZE_1_2 */
348 static int hf_gsm_map_traceType = -1; /* INTEGER_0_255 */
349 static int hf_gsm_map_omc_Id = -1; /* OCTET_STRING_SIZE_1_20 */
350 static int hf_gsm_map_cug_CheckInfo = -1; /* Cug_CheckInfo */
351 static int hf_gsm_map_numberOfForwarding = -1; /* INTEGER_1_5 */
352 static int hf_gsm_map_interrogationType = -1; /* T_interrogationType */
353 static int hf_gsm_map_or_Interrogation = -1; /* NULL */
354 static int hf_gsm_map_or_Capability = -1; /* INTEGER_1_127 */
355 static int hf_gsm_map_gmsc_Address = -1; /* Gmsc_Address */
356 static int hf_gsm_map_callReferenceNumber = -1; /* OCTET_STRING_SIZE_1_8 */
357 static int hf_gsm_map_forwardingReason = -1; /* T_forwardingReason */
358 static int hf_gsm_map_basicServiceGroup = -1; /* BasicService */
359 static int hf_gsm_map_networkSignalInfo = -1; /* Bss_APDU */
360 static int hf_gsm_map_camelInfo = -1; /* T_camelInfo */
361 static int hf_gsm_map_suppress_T_CSI = -1; /* NULL */
362 static int hf_gsm_map_suppressionOfAnnouncement = -1; /* NULL */
363 static int hf_gsm_map_alertingPattern = -1; /* OCTET_STRING_SIZE_1 */
364 static int hf_gsm_map_ccbs_Call = -1; /* NULL */
365 static int hf_gsm_map_supportedCCBS_Phase = -1; /* INTEGER_1_127 */
366 static int hf_gsm_map_additionalSignalInfo = -1; /* AdditionalSignalInfo */
367 static int hf_gsm_map_extendedRoutingInfo = -1; /* T_extendedRoutingInfo */
368 static int hf_gsm_map_routingInfo = -1; /* T_routingInfo */
369 static int hf_gsm_map_roamingNumber = -1; /* RoamingNumber */
370 static int hf_gsm_map_forwardingData = -1; /* ForwardingData */
371 static int hf_gsm_map_camelRoutingInfo = -1; /* T_camelRoutingInfo */
372 static int hf_gsm_map_gmscCamelSubscriptionInfo = -1; /* T_gmscCamelSubscriptionInfo */
373 static int hf_gsm_map_t_CSI = -1; /* t_CSI */
374 static int hf_gsm_map_t_BcsmCamelTDPDataList = -1; /* BcsmCamelTDPDataList */
375 static int hf_gsm_map_cugSubscriptionFlag = -1; /* NULL */
376 static int hf_gsm_map_subscriberInfo = -1; /* SubscriberInfo */
377 static int hf_gsm_map_forwardingInterrogationRequired = -1; /* NULL */
378 static int hf_gsm_map_vmsc_Address = -1; /* T_vmsc_Address */
379 static int hf_gsm_map_ccbs_Indicators = -1; /* T_ccbs_Indicators */
380 static int hf_gsm_map_ccbs_Possible = -1; /* NULL */
381 static int hf_gsm_map_keepCCBS_CallIndicator = -1; /* NULL */
382 static int hf_gsm_map_numberPortabilityStatus = -1; /* NumberPortabilityStatus */
383 static int hf_gsm_map_assumedIdle = -1; /* NULL */
384 static int hf_gsm_map_camelBusy = -1; /* NULL */
385 static int hf_gsm_map_notProvidedFromVLR = -1; /* NULL */
386 static int hf_gsm_map_ageOfLocationInformation = -1; /* INTEGER_0_32767 */
387 static int hf_gsm_map_geographicalInformation = -1; /* OCTET_STRING_SIZE_8 */
388 static int hf_gsm_map_vlr_number = -1; /* Vlr_Number */
389 static int hf_gsm_map_locationNumber = -1; /* OCTET_STRING_SIZE_2_10 */
390 static int hf_gsm_map_cellIdOrLAI = -1; /* T_cellIdOrLAI */
391 static int hf_gsm_map_cellIdFixedLength = -1; /* OCTET_STRING_SIZE_7 */
392 static int hf_gsm_map_laiFixedLength = -1; /* OCTET_STRING_SIZE_5 */
393 static int hf_gsm_map_selectedLSA_Id = -1; /* OCTET_STRING_SIZE_3 */
394 static int hf_gsm_map_geodeticInformation = -1; /* OCTET_STRING_SIZE_10 */
395 static int hf_gsm_map_currentLocationRetrieved = -1; /* NULL */
396 static int hf_gsm_map_sai_Present = -1; /* NULL */
397 static int hf_gsm_map_locationInformation = -1; /* LocationInformation */
398 static int hf_gsm_map_subscriberState = -1; /* SubscriberState */
399 static int hf_gsm_map_locationInformationGPRS = -1; /* T_locationInformationGPRS */
400 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* T_cellGlobalIdOrServiceAreaIdOrLAI */
401 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1; /* OCTET_STRING_SIZE_7 */
402 static int hf_gsm_map_routeingAreaIdentity = -1; /* OCTET_STRING_SIZE_6 */
403 static int hf_gsm_map_selectedLSAIdentity = -1; /* OCTET_STRING_SIZE_3 */
404 static int hf_gsm_map_ps_SubscriberState = -1; /* T_ps_SubscriberState */
405 static int hf_gsm_map_notProvidedFromSGSN = -1; /* NULL */
406 static int hf_gsm_map_ps_Detached = -1; /* NULL */
407 static int hf_gsm_map_ps_AttachedNotReachableForPaging = -1; /* NULL */
408 static int hf_gsm_map_ps_AttachedReachableForPaging = -1; /* NULL */
409 static int hf_gsm_map_ps_PDP_ActiveNotReachableForPaging = -1; /* T_ps_PDP_ActiveNotReachableForPaging */
410 static int hf_gsm_map_ps_PDP_ActiveNotReachableForPaging_item = -1; /* T_ps_PDP_ActiveNotReachableForPaging_item */
411 static int hf_gsm_map_pdp_ContextIdentifier = -1; /* INTEGER_1_50 */
412 static int hf_gsm_map_pdp_ContextActive = -1; /* NULL */
413 static int hf_gsm_map_apn_Subscribed = -1; /* OCTET_STRING_SIZE_2_63 */
414 static int hf_gsm_map_apn_InUse = -1; /* OCTET_STRING_SIZE_2_63 */
415 static int hf_gsm_map_nsapi = -1; /* INTEGER_0_15 */
416 static int hf_gsm_map_transactionId = -1; /* OCTET_STRING_SIZE_1_2 */
417 static int hf_gsm_map_teid_ForGnAndGp = -1; /* OCTET_STRING_SIZE_4 */
418 static int hf_gsm_map_teid_ForIu = -1; /* OCTET_STRING_SIZE_4 */
419 static int hf_gsm_map_ggsn_Address = -1; /* Ggsn_Address */
420 static int hf_gsm_map_qos_Requested = -1; /* OCTET_STRING_SIZE_1_9 */
421 static int hf_gsm_map_qos_Negotiated = -1; /* OCTET_STRING_SIZE_1_9 */
422 static int hf_gsm_map_chargingId = -1; /* OCTET_STRING_SIZE_4 */
423 static int hf_gsm_map_chargingCharacteristics = -1; /* OCTET_STRING_SIZE_2 */
424 static int hf_gsm_map_rnc_Address = -1; /* OCTET_STRING_SIZE_5_17 */
425 static int hf_gsm_map_qos2_Subscribed = -1; /* OCTET_STRING_SIZE_1_3 */
426 static int hf_gsm_map_qos2_Requested = -1; /* OCTET_STRING_SIZE_1_3 */
427 static int hf_gsm_map_qos2_Negotiated = -1; /* OCTET_STRING_SIZE_1_3 */
428 static int hf_gsm_map_ps_PDP_ActiveReachableForPaging = -1; /* T_ps_PDP_ActiveReachableForPaging */
429 static int hf_gsm_map_ps_PDP_ActiveReachableForPaging_item = -1; /* T_ps_PDP_ActiveReachableForPaging_item */
430 static int hf_gsm_map_netDetNotReachable = -1; /* T_netDetNotReachable */
431 static int hf_gsm_map_ms_Classmark2 = -1; /* OCTET_STRING_SIZE_3 */
432 static int hf_gsm_map_gprs_MS_Class = -1; /* T_gprs_MS_Class */
433 static int hf_gsm_map_mSNetworkCapability = -1; /* OCTET_STRING_SIZE_1_8 */
434 static int hf_gsm_map_mSRadioAccessCapability = -1; /* OCTET_STRING_SIZE_1_50 */
435 static int hf_gsm_map_mnpInfoRes = -1; /* T_mnpInfoRes */
436 static int hf_gsm_map_routeingNumber = -1; /* OCTET_STRING_SIZE_1_5 */
437 static int hf_gsm_map_ext_ProtocolId = -1; /* T_ext_ProtocolId */
438 static int hf_gsm_map_ext_signalInfo = -1; /* ExtSignalInfo */
439 static int hf_gsm_map_cug_OutgoingAccess = -1; /* NULL */
440 static int hf_gsm_map_gsm_BearerCapability = -1; /* Bss_APDU */
441 static int hf_gsm_map_supportedCamelPhasesInGMSC = -1; /* SupportedCamelPhases */
442 static int hf_gsm_map_orNotSupportedInGMSC = -1; /* NULL */
443 static int hf_gsm_map_uu_Data = -1; /* T_uu_Data */
444 static int hf_gsm_map_uuIndicator = -1; /* OCTET_STRING_SIZE_1 */
445 static int hf_gsm_map_uui = -1; /* OCTET_STRING_SIZE_1_131 */
446 static int hf_gsm_map_uusCFInteraction = -1; /* NULL */
447 static int hf_gsm_map_allInformationSent = -1; /* NULL */
448 static int hf_gsm_map_isdn_BearerCapability = -1; /* Bss_APDU */
449 static int hf_gsm_map_call_Direction = -1; /* OCTET_STRING_SIZE_1 */
450 static int hf_gsm_map_b_Subscriber_Address = -1; /* T_b_Subscriber_Address */
451 static int hf_gsm_map_chosenChannel = -1; /* Bss_APDU */
452 static int hf_gsm_map_lowerLayerCompatibility = -1; /* Bss_APDU */
453 static int hf_gsm_map_highLayerCompatibility = -1; /* Bss_APDU */
454 static int hf_gsm_map_sIWFSNumber = -1; /* T_sIWFSNumber */
455 static int hf_gsm_map_channelType = -1; /* Bss_APDU */
456 static int hf_gsm_map_ccbs_Monitoring = -1; /* Ccbs_Monitoring */
457 static int hf_gsm_map_ccbs_SubscriberStatus = -1; /* Ccbs_SubscriberStatus */
458 static int hf_gsm_map_eventReportData = -1; /* T_eventReportData */
459 static int hf_gsm_map_callReportdata = -1; /* T_callReportdata */
460 static int hf_gsm_map_monitoringMode = -1; /* MonitoringMode */
461 static int hf_gsm_map_callOutcome = -1; /* CallOutcome */
462 static int hf_gsm_map_callInfo = -1; /* Bss_APDU */
463 static int hf_gsm_map_ccbs_Feature = -1; /* Ccbs_Feature */
464 static int hf_gsm_map_translatedB_Number = -1; /* TranslatedB_Number */
465 static int hf_gsm_map_replaceB_Number = -1; /* NULL */
466 static int hf_gsm_map_ruf_Outcome = -1; /* Ruf_Outcome */
467 static int hf_gsm_map_ss_SubscriptionOption = -1; /* Ss_SubscriptionOption */
468 static int hf_gsm_map_ccbs_Index = -1; /* INTEGER_1_5 */
469 static int hf_gsm_map_b_subscriberNumber = -1; /* B_subscriberNumber */
470 static int hf_gsm_map_b_subscriberSubaddress = -1; /* OCTET_STRING_SIZE_1_21 */
471 static int hf_gsm_map_forwardingFeatureList_1_13 = -1; /* SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList */
472 static int hf_gsm_map_genericServiceInfo = -1; /* T_genericServiceInfo */
473 static int hf_gsm_map_maximumEntitledPriority = -1; /* INTEGER_0_15 */
474 static int hf_gsm_map_ccbs_FeatureList = -1; /* T_ccbs_FeatureList */
475 static int hf_gsm_map_ccbs_FeatureList_item = -1; /* T_ccbs_FeatureList_item */
476 static int hf_gsm_map_ussd_DataCodingScheme = -1; /* OCTET_STRING_SIZE_1 */
477 static int hf_gsm_map_ussd_String = -1; /* OCTET_STRING_SIZE_1_160 */
478 static int hf_gsm_map_ccbs_Data = -1; /* T_ccbs_Data */
479 static int hf_gsm_map_serviceIndicator = -1; /* ServiceIndicator */
480 static int hf_gsm_map_sm_RP_PRI = -1; /* BOOLEAN */
481 static int hf_gsm_map_serviceCentreAddress = -1; /* ServiceCentreAddress */
482 static int hf_gsm_map_gprsSupportIndicator = -1; /* NULL */
483 static int hf_gsm_map_sm_RP_MTI = -1; /* INTEGER_0_10 */
484 static int hf_gsm_map_sm_RP_SMEA = -1; /* OCTET_STRING_SIZE_1_12 */
485 static int hf_gsm_map_locationInfoWithLMSI = -1; /* T_locationInfoWithLMSI */
486 static int hf_gsm_map_networkNode_Number = -1; /* T_networkNode_Number */
487 static int hf_gsm_map_gprsNodeIndicator = -1; /* NULL */
488 static int hf_gsm_map_additional_Number = -1; /* T_additional_Number */
489 static int hf_gsm_map_sm_RP_DA = -1; /* Sm_RP_DA */
490 static int hf_gsm_map_sm_RP_OA = -1; /* Sm_RP_OA */
491 static int hf_gsm_map_sm_RP_UI = -1; /* Sm_RP_UI */
492 static int hf_gsm_map_serviceCentreAddressOA = -1; /* ServiceCentreAddress */
493 static int hf_gsm_map_noSM_RP_OA = -1; /* NULL */
494 static int hf_gsm_map_serviceCentreAddressDA = -1; /* ServiceCentreAddress */
495 static int hf_gsm_map_noSM_RP_DA = -1; /* NULL */
496 static int hf_gsm_map_moreMessagesToSend = -1; /* NULL */
497 static int hf_gsm_map_sm_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
498 static int hf_gsm_map_absentSubscriberDiagnosticSM = -1; /* INTEGER_0_255 */
499 static int hf_gsm_map_deliveryOutcomeIndicator = -1; /* NULL */
500 static int hf_gsm_map_additionalSM_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
501 static int hf_gsm_map_additionalAbsentSubscriberDiagnosticSM = -1; /* INTEGER_0_255 */
502 static int hf_gsm_map_storedMSISDN = -1; /* StoredMSISDN */
503 static int hf_gsm_map_mw_Status = -1; /* T_mw_Status */
504 static int hf_gsm_map_alertReason = -1; /* T_alertReason */
505 static int hf_gsm_map_alertReasonIndicator = -1; /* NULL */
506 static int hf_gsm_map_requestedInfo = -1; /* RequestedInfo */
507 static int hf_gsm_map_locationInformationFlag = -1; /* NULL */
508 static int hf_gsm_map_subscriberStateFlag = -1; /* NULL */
509 static int hf_gsm_map_currentLocation = -1; /* NULL */
510 static int hf_gsm_map_requestedDomain = -1; /* T_requestedDomain */
511 static int hf_gsm_map_imei_flg = -1; /* NULL */
512 static int hf_gsm_map_ms_classmark = -1; /* NULL */
513 static int hf_gsm_map_mnpRequestedInfo = -1; /* NULL */
514 static int hf_gsm_map_subscriberIdentity = -1; /* SubscriberIdentity */
515 static int hf_gsm_map_requestedSubscriptionInfo = -1; /* T_requestedSubscriptionInfo */
516 static int hf_gsm_map_requestedSS_Info = -1; /* T_requestedSS_Info */
517 static int hf_gsm_map_odb = -1; /* NULL */
518 static int hf_gsm_map_requestedCAMEL_SubscriptionInfo = -1; /* T_requestedCAMEL_SubscriptionInfo */
519 static int hf_gsm_map_supportedVLR_CAMEL_Phases_flg = -1; /* NULL */
520 static int hf_gsm_map_supportedSGSN_CAMEL_Phases_flg = -1; /* NULL */
521 static int hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo = -1; /* AdditionalRequestedCAMEL_SubscriptionInfo */
522 static int hf_gsm_map_callForwardingData = -1; /* T_callForwardingData */
523 static int hf_gsm_map_forwardingFeatureList = -1; /* ForwardingFeatureList */
524 static int hf_gsm_map_notificationToCSE = -1; /* NULL */
525 static int hf_gsm_map_callBarringData = -1; /* T_callBarringData */
526 static int hf_gsm_map_password = -1; /* NumericString */
527 static int hf_gsm_map_wrongPasswordAttemptsCounter = -1; /* INTEGER_0_4 */
528 static int hf_gsm_map_odb_Info = -1; /* T_odb_Info */
529 static int hf_gsm_map_camel_SubscriptionInfo = -1; /* T_camel_SubscriptionInfo */
530 static int hf_gsm_map_d_CSI = -1; /* T_d_CSI */
531 static int hf_gsm_map_dp_AnalysedInfoCriteriaList = -1; /* Dp_AnalysedInfoCriteriaList */
532 static int hf_gsm_map_csi_Active = -1; /* NULL */
533 static int hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_t_BCSM_CAMEL_TDP_CriteriaList */
534 static int hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_t_BCSM_CAMEL_TDP_CriteriaList_item */
535 static int hf_gsm_map_t_BCSM_TriggerDetectionPoint = -1; /* t_BCSM_TriggerDetectionPoint */
536 static int hf_gsm_map_basicServiceCriteria = -1; /* BasicServiceCriteria */
537 static int hf_gsm_map_t_CauseValueCriteria = -1; /* T_CauseValueCriteria */
538 static int hf_gsm_map_vt_CSI = -1; /* T_vt_CSI */
539 static int hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_vt_BCSM_CAMEL_TDP_CriteriaList */
540 static int hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_vt_BCSM_CAMEL_TDP_CriteriaList_item */
541 static int hf_gsm_map_tif_CSI_NotificationToCSE = -1; /* NULL */
542 static int hf_gsm_map_gprs_CSI = -1; /* T_gprs_CSI */
543 static int hf_gsm_map_gprs_CamelTDPDataList = -1; /* T_gprs_CamelTDPDataList */
544 static int hf_gsm_map_gprs_CamelTDPDataList_item = -1; /* T_gprs_CamelTDPDataList_item */
545 static int hf_gsm_map_gprs_TriggerDetectionPoint = -1; /* T_gprs_TriggerDetectionPoint */
546 static int hf_gsm_map_defaultSessionHandling = -1; /* T_defaultSessionHandling */
547 static int hf_gsm_map_mo_sms_CSI = -1; /* T_mo_sms_CSI */
548 static int hf_gsm_map_sms_CAMEL_TDP_DataList = -1; /* Sms_CAMEL_TDP_DataList */
549 static int hf_gsm_map_m_CSI = -1; /* T_m_CSI */
550 static int hf_gsm_map_mobilityTriggers = -1; /* MobilityTriggers */
551 static int hf_gsm_map_specificCSIDeletedList = -1; /* T_specificCSIDeletedList */
552 static int hf_gsm_map_mt_sms_CSI = -1; /* T_mt_sms_CSI */
553 static int hf_gsm_map_mt_smsCAMELTDP_CriteriaList = -1; /* T_mt_smsCAMELTDP_CriteriaList */
554 static int hf_gsm_map_mt_smsCAMELTDP_CriteriaList_item = -1; /* T_mt_smsCAMELTDP_CriteriaList_item */
555 static int hf_gsm_map_sms_TriggerDetectionPoint = -1; /* sms_TriggerDetectionPoint */
556 static int hf_gsm_map_tpdu_TypeCriterion = -1; /* T_tpdu_TypeCriterion */
557 static int hf_gsm_map_tpdu_TypeCriterion_item = -1; /* T_tpdu_TypeCriterion_item */
558 static int hf_gsm_map_mg_csi = -1; /* T_mg_csi */
559 static int hf_gsm_map_o_IM_CSI = -1; /* T_o_IM_CSI */
560 static int hf_gsm_map_csiActive = -1; /* NULL */
561 static int hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList = -1; /* T_o_IM_BcsmCamelTDP_CriteriaList */
562 static int hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList_item = -1; /* T_o_IM_BcsmCamelTDP_CriteriaList_item */
563 static int hf_gsm_map_o_CauseValueCriteria = -1; /* O_CauseValueCriteria */
564 static int hf_gsm_map_d_IM_CSI = -1; /* T_d_IM_CSI */
565 static int hf_gsm_map_vt_IM_CSI = -1; /* T_vt_IM_CSI */
566 static int hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_vt_IM_BCSM_CAMEL_TDP_CriteriaList */
567 static int hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item */
568 static int hf_gsm_map_supportedVLR_CAMEL_Phases = -1; /* T_supportedVLR_CAMEL_Phases */
569 static int hf_gsm_map_supportedSGSN_CAMEL_Phases = -1; /* T_supportedSGSN_CAMEL_Phases */
570 static int hf_gsm_map_offeredCamel4CSIsInVLR = -1; /* T_offeredCamel4CSIsInVLR */
571 static int hf_gsm_map_offeredCamel4CSIsInSGSN = -1; /* T_offeredCamel4CSIsInSGSN */
572 static int hf_gsm_map_Sms_CAMEL_TDP_DataList_item = -1; /* Sms_CAMEL_TDP_DataList_item */
573 static int hf_gsm_map_defaultSMS_Handling = -1; /* T_defaultSMS_Handling */
574 static int hf_gsm_map_T_CauseValueCriteria_item = -1; /* OCTET_STRING_SIZE_1 */
575 static int hf_gsm_map_O_CauseValueCriteria_item = -1; /* OCTET_STRING_SIZE_1 */
576 static int hf_gsm_map_MobilityTriggers_item = -1; /* OCTET_STRING_SIZE_1 */
577 static int hf_gsm_map_BasicServiceCriteria_item = -1; /* BasicServiceCriteria_item */
578 static int hf_gsm_map_ext_BearerService = -1; /* OCTET_STRING_SIZE_1_5 */
579 static int hf_gsm_map_ext_Teleservice = -1; /* OCTET_STRING_SIZE_1_5 */
580 static int hf_gsm_map_Dp_AnalysedInfoCriteriaList_item = -1; /* Dp_AnalysedInfoCriteriaList_item */
581 static int hf_gsm_map_dialledNumber = -1; /* T_dialledNumber */
582 static int hf_gsm_map_modificationRequestFor_CF_Info = -1; /* T_modificationRequestFor_CF_Info */
583 static int hf_gsm_map_basicService_ext = -1; /* BasicService_ext */
584 static int hf_gsm_map_noReplyConditionTime_1_100 = -1; /* INTEGER_1_100 */
585 static int hf_gsm_map_modifyNotificationToCSE = -1; /* ModifyNotificationToCSE */
586 static int hf_gsm_map_modificationRequestFor_CB_Info = -1; /* T_modificationRequestFor_CB_Info */
587 static int hf_gsm_map_modificationRequestFor_CSI = -1; /* T_modificationRequestFor_CSI */
588 static int hf_gsm_map_requestedCamel_SubscriptionInfo = -1; /* T_requestedCamel_SubscriptionInfo */
589 static int hf_gsm_map_modifyCSI_State = -1; /* T_modifyCSI_State */
590 static int hf_gsm_map_modificationRequestFor_ODB_data = -1; /* T_modificationRequestFor_ODB_data */
591 static int hf_gsm_map_odb_data = -1; /* Odb_data */
592 static int hf_gsm_map_odb_HPLMN_Data = -1; /* Odb_HPLMN_Data */
593 static int hf_gsm_map_ss_Event = -1; /* OCTET_STRING_SIZE_1 */
594 static int hf_gsm_map_ss_EventSpecification = -1; /* T_ss_EventSpecification */
595 static int hf_gsm_map_ss_EventSpecification_item = -1; /* OCTET_STRING_SIZE_1_20 */
596 static int hf_gsm_map_codec_Info = -1; /* OCTET_STRING_SIZE_5_10 */
597 static int hf_gsm_map_cipheringAlgorithm = -1; /* OCTET_STRING_SIZE_1 */
598 static int hf_gsm_map_groupKeyNumber = -1; /* INTEGER_0_15 */
599 static int hf_gsm_map_groupKey = -1; /* OCTET_STRING_SIZE_8 */
600 static int hf_gsm_map_priority = -1; /* INTEGER_0_15 */
601 static int hf_gsm_map_uplinkFree = -1; /* NULL */
602 static int hf_gsm_map_groupCallNumber = -1; /* T_groupCallNumber */
603 static int hf_gsm_map_uplinkRequest = -1; /* NULL */
604 static int hf_gsm_map_uplinkReleaseIndication = -1; /* NULL */
605 static int hf_gsm_map_releaseGroupCall = -1; /* NULL */
606 static int hf_gsm_map_uplinkRequestAck = -1; /* NULL */
607 static int hf_gsm_map_uplinkRejectCommand = -1; /* NULL */
608 static int hf_gsm_map_uplinkSeizedCommand = -1; /* NULL */
609 static int hf_gsm_map_uplinkReleaseCommand = -1; /* NULL */
610 static int hf_gsm_map_sgsn_Address = -1; /* OCTET_STRING_SIZE_5_17 */
611 static int hf_gsm_map_sgsn_Capability = -1; /* T_sgsn_Capability */
612 static int hf_gsm_map_ggsn_Number = -1; /* Ggsn_Number */
613 static int hf_gsm_map_mobileNotReachableReason = -1; /* INTEGER_0_255 */
614 static int hf_gsm_map_dataCodingScheme = -1; /* OCTET_STRING */
615 static int hf_gsm_map_nameString = -1; /* OCTET_STRING */
616 static int hf_gsm_map_lcsClientType = -1; /* LcsClientType */
617 static int hf_gsm_map_lcsClientExternalID = -1; /* LcsClientExternalID */
618 static int hf_gsm_map_lcsClientDialedByMS = -1; /* OCTET_STRING */
619 static int hf_gsm_map_lcsClientInternalID = -1; /* LcsClientInternalID */
620 static int hf_gsm_map_lcsClientName = -1; /* LcsClientName */
621 static int hf_gsm_map_locationType = -1; /* T_locationType */
622 static int hf_gsm_map_locationEstimateType = -1; /* T_locationEstimateType */
623 static int hf_gsm_map_mlc_Number = -1; /* T_mlc_Number */
624 static int hf_gsm_map_lcs_ClientID = -1; /* Lcs_ClientID */
625 static int hf_gsm_map_privacyOverride = -1; /* NULL */
626 static int hf_gsm_map_lcs_Priority = -1; /* OCTET_STRING_SIZE_1 */
627 static int hf_gsm_map_lcs_QoS = -1; /* T_lcs_QoS */
628 static int hf_gsm_map_horizontal_accuracy = -1; /* OCTET_STRING_SIZE_1 */
629 static int hf_gsm_map_verticalCoordinateRequest = -1; /* NULL */
630 static int hf_gsm_map_vertical_accuracy = -1; /* OCTET_STRING_SIZE_1 */
631 static int hf_gsm_map_responseTime = -1; /* T_responseTime */
632 static int hf_gsm_map_responseTimeCategory = -1; /* T_responseTimeCategory */
633 static int hf_gsm_map_locationEstimate = -1; /* OCTET_STRING_SIZE_1_20 */
634 static int hf_gsm_map_ageOfLocationEstimate = -1; /* INTEGER_0_32767 */
635 static int hf_gsm_map_mlcNumber = -1; /* T_mlcNumber */
636 static int hf_gsm_map_targetMS = -1; /* TargetMS */
637 static int hf_gsm_map_lcsLocationInfo = -1; /* LcsLocationInfo */
638 static int hf_gsm_map_lcs_Event = -1; /* Lcs_Event */
639 static int hf_gsm_map_na_ESRD = -1; /* T_na_ESRD */
640 static int hf_gsm_map_na_ESRK = -1; /* T_na_ESRK */
641 static int hf_gsm_map_networkResource = -1; /* NetworkResource */
642 static int hf_gsm_map_extensibleSystemFailureParam = -1; /* T_extensibleSystemFailureParam */
643 static int hf_gsm_map_unknownSubscriberDiagnostic = -1; /* T_unknownSubscriberDiagnostic */
644 static int hf_gsm_map_roamingNotAllowedCause = -1; /* T_roamingNotAllowedCause */
645 static int hf_gsm_map_absentSubscriberReason = -1; /* T_absentSubscriberReason */
646 static int hf_gsm_map_ccbs_Busy = -1; /* NULL */
647 static int hf_gsm_map_callBarringCause = -1; /* CallBarringCause */
648 static int hf_gsm_map_extensibleCallBarredParam = -1; /* T_extensibleCallBarredParam */
649 static int hf_gsm_map_unauthorisedMessageOriginator = -1; /* NULL */
650 static int hf_gsm_map_cug_RejectCause = -1; /* T_cug_RejectCause */
651 static int hf_gsm_map_gprsConnectionSuspended = -1; /* NULL */
652 static int hf_gsm_map_sm_EnumeratedDeliveryFailureCause = -1; /* T_sm_EnumeratedDeliveryFailureCause */
653 static int hf_gsm_map_diagnosticInfo = -1; /* OCTET_STRING_SIZE_1_200 */
654 static int hf_gsm_map_unauthorizedLCSClient_Diagnostic = -1; /* T_unauthorizedLCSClient_Diagnostic */
655 static int hf_gsm_map_positionMethodFailure_Diagnostic = -1; /* T_positionMethodFailure_Diagnostic */
656 static int hf_gsm_map_privateExtensionList = -1; /* PrivateExtensionList */
657 static int hf_gsm_map_pcsExtensions = -1; /* PcsExtensions */
659 static int hf_gsm_map_SupportedCamelPhases_phase1 = -1;
660 static int hf_gsm_map_SupportedCamelPhases_phase2 = -1;
661 static int hf_gsm_map_SupportedCamelPhases_phase3 = -1;
662 static int hf_gsm_map_SupportedCamelPhases_phase4 = -1;
663 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
664 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
665 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
666 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
667 static int hf_gsm_map_T_offeredCamel4CSIs_o_csi = -1;
668 static int hf_gsm_map_T_offeredCamel4CSIs_d_csi = -1;
669 static int hf_gsm_map_T_offeredCamel4CSIs_vt_csi = -1;
670 static int hf_gsm_map_T_offeredCamel4CSIs_t_csi = -1;
671 static int hf_gsm_map_T_offeredCamel4CSIs_mt_sms_csi = -1;
672 static int hf_gsm_map_T_offeredCamel4CSIs_mg_csi = -1;
673 static int hf_gsm_map_T_offeredCamel4CSIs_psi_enhancements = -1;
674 static int hf_gsm_map_T_requestedEquipmentInfo_equipmentStatus = -1;
675 static int hf_gsm_map_T_requestedEquipmentInfo_bmuef = -1;
676 static int hf_gsm_map_Odb_GeneralData_allOGCallsBarred = -1;
677 static int hf_gsm_map_Odb_GeneralData_internationalOGCallsBarred = -1;
678 static int hf_gsm_map_Odb_GeneralData_internationalOGCallsNotToHPLMNCountryBarred = -1;
679 static int hf_gsm_map_Odb_GeneralData_premiumRateInformationOGCallsBarred = -1;
680 static int hf_gsm_map_Odb_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
681 static int hf_gsm_map_Odb_GeneralData_ssAccessBarred = -1;
682 static int hf_gsm_map_Odb_GeneralData_interzonalOGCallsBarred = -1;
683 static int hf_gsm_map_Odb_GeneralData_interzonalOGCallsNotToHPLMNCountryBarred = -1;
684 static int hf_gsm_map_Odb_GeneralData_interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred = -1;
685 static int hf_gsm_map_Odb_GeneralData_allECTBarred = -1;
686 static int hf_gsm_map_Odb_GeneralData_chargeableECTBarred = -1;
687 static int hf_gsm_map_Odb_GeneralData_internationalECTBarred = -1;
688 static int hf_gsm_map_Odb_GeneralData_interzonalECTBarred = -1;
689 static int hf_gsm_map_Odb_GeneralData_doublyChargeableECTBarred = -1;
690 static int hf_gsm_map_Odb_GeneralData_multipleECTBarred = -1;
691 static int hf_gsm_map_Odb_GeneralData_allPacketOrientedServicesBarred = -1;
692 static int hf_gsm_map_Odb_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
693 static int hf_gsm_map_Odb_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
694 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
695 static int hf_gsm_map_Odb_GeneralData_allIC_CallsBarred = -1;
696 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
697 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
698 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_Barred = -1;
699 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
700 static int hf_gsm_map_Odb_GeneralData_registrationAllCF_Barred = -1;
701 static int hf_gsm_map_Odb_GeneralData_registrationCFNotToHPLMN_Barred = -1;
702 static int hf_gsm_map_Odb_GeneralData_registrationInterzonalCF_Barred = -1;
703 static int hf_gsm_map_Odb_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
704 static int hf_gsm_map_Odb_GeneralData_registrationInternationalCF_Barred = -1;
705 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType1 = -1;
706 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType2 = -1;
707 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType3 = -1;
708 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType4 = -1;
709 static int hf_gsm_map_ServiceIndicator_clirInvoked = -1;
710 static int hf_gsm_map_ServiceIndicator_camelInvoked = -1;
711 static int hf_gsm_map_T_mw_Status_scAddressNotIncluded = -1;
712 static int hf_gsm_map_T_mw_Status_mnrfSet = -1;
713 static int hf_gsm_map_T_mw_Status_mcefSet = -1;
714 static int hf_gsm_map_T_mw_Status_mnrgSet = -1;
715 static int hf_gsm_map_T_specificCSIDeletedList_o_csi = -1;
716 static int hf_gsm_map_T_specificCSIDeletedList_ss_csi = -1;
717 static int hf_gsm_map_T_specificCSIDeletedList_tif_csi = -1;
718 static int hf_gsm_map_T_specificCSIDeletedList_d_csi = -1;
719 static int hf_gsm_map_T_specificCSIDeletedList_vt_csi = -1;
720 static int hf_gsm_map_T_specificCSIDeletedList_mo_sms_csi = -1;
721 static int hf_gsm_map_T_specificCSIDeletedList_m_csi = -1;
722 static int hf_gsm_map_T_specificCSIDeletedList_gprs_csi = -1;
723 static int hf_gsm_map_T_specificCSIDeletedList_t_csi = -1;
724 static int hf_gsm_map_T_specificCSIDeletedList_mt_sms_csi = -1;
725 static int hf_gsm_map_T_specificCSIDeletedList_mg_csi = -1;
726 static int hf_gsm_map_T_specificCSIDeletedList_o_IM_CSI = -1;
727 static int hf_gsm_map_T_specificCSIDeletedList_d_IM_CSI = -1;
728 static int hf_gsm_map_T_specificCSIDeletedList_vt_IM_CSI = -1;
729 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase1 = -1;
730 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase2 = -1;
731 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase3 = -1;
732 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase4 = -1;
733 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase1 = -1;
734 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase2 = -1;
735 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase3 = -1;
736 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase4 = -1;
737 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_o_csi = -1;
738 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_d_csi = -1;
739 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_vt_csi = -1;
740 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_t_csi = -1;
741 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_mt_sms_csi = -1;
742 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_mg_csi = -1;
743 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_psi_enhancements = -1;
744 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_o_csi = -1;
745 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_d_csi = -1;
746 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_vt_csi = -1;
747 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_t_csi = -1;
748 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_mt_sms_csi = -1;
749 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_mg_csi = -1;
750 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_psi_enhancements = -1;
752 /*--- End of included file: packet-gsm_map-hf.c ---*/
755 /* Initialize the subtree pointers */
756 static gint ett_gsm_map = -1;
757 static gint ett_gsm_map_InvokeId = -1;
758 static gint ett_gsm_map_InvokePDU = -1;
759 static gint ett_gsm_map_ReturnResultPDU = -1;
760 static gint ett_gsm_map_ReturnErrorPDU = -1;
761 static gint ett_gsm_map_ReturnResult_result = -1;
762 static gint ett_gsm_map_ReturnError_result = -1;
763 static gint ett_gsm_map_GSMMAPPDU = -1;
766 /*--- Included file: packet-gsm_map-ett.c ---*/
768 static gint ett_gsm_map_Bss_APDU = -1;
769 static gint ett_gsm_map_An_APDU = -1;
770 static gint ett_gsm_map_SupportedCamelPhases = -1;
771 static gint ett_gsm_map_Vlr_Capability = -1;
772 static gint ett_gsm_map_T_superChargerSupportedInServingNetworkEntity = -1;
773 static gint ett_gsm_map_T_supportedLCS_CapabilitySets = -1;
774 static gint ett_gsm_map_T_offeredCamel4CSIs = -1;
775 static gint ett_gsm_map_UpdateLocationArg = -1;
776 static gint ett_gsm_map_T_add_info = -1;
777 static gint ett_gsm_map_UpdateLocationRes = -1;
778 static gint ett_gsm_map_PrivateExtensionList = -1;
779 static gint ett_gsm_map_PrivateExtension = -1;
780 static gint ett_gsm_map_PcsExtensions = -1;
781 static gint ett_gsm_map_CancelLocationArg = -1;
782 static gint ett_gsm_map_T_identity = -1;
783 static gint ett_gsm_map_T_imsi_WithLMSI = -1;
784 static gint ett_gsm_map_CancelLocationRes = -1;
785 static gint ett_gsm_map_PurgeMS_Arg = -1;
786 static gint ett_gsm_map_PurgeMS_Res = -1;
787 static gint ett_gsm_map_SendIdentificationRes = -1;
788 static gint ett_gsm_map_SendId_authenticationSetList = -1;
789 static gint ett_gsm_map_T_authenticationSetList_item = -1;
790 static gint ett_gsm_map_PrepareHO_Arg = -1;
791 static gint ett_gsm_map_PrepareHandoverV3Arg = -1;
792 static gint ett_gsm_map_T_allowedUMTS_Algorithms = -1;
793 static gint ett_gsm_map_T_radioResourceList = -1;
794 static gint ett_gsm_map_T_radioResourceList_item = -1;
795 static gint ett_gsm_map_T_bssmap_ServiceHandoverList = -1;
796 static gint ett_gsm_map_T_bssmap_ServiceHandoverList_item = -1;
797 static gint ett_gsm_map_T_iuSupportedCodecsList = -1;
798 static gint ett_gsm_map_T_utranCodecList = -1;
799 static gint ett_gsm_map_T_geranCodecList = -1;
800 static gint ett_gsm_map_T_uesbi_Iu = -1;
801 static gint ett_gsm_map_PrepareHO_Res = -1;
802 static gint ett_gsm_map_PrepareHandoverV3Res = -1;
803 static gint ett_gsm_map_T_relocationNumberList = -1;
804 static gint ett_gsm_map_T_relocationNumberList_item = -1;
805 static gint ett_gsm_map_T_selectedUMTS_Algorithms = -1;
806 static gint ett_gsm_map_T_chosenRadioResourceInformation = -1;
807 static gint ett_gsm_map_T_iuAvailableCodecsList = -1;
808 static gint ett_gsm_map_SendEndSignalV9Arg = -1;
809 static gint ett_gsm_map_PrepareSubsequentHO_Arg = -1;
810 static gint ett_gsm_map_SendAuthenticationInfoArgV3 = -1;
811 static gint ett_gsm_map_T_re_synchronisationInfo = -1;
812 static gint ett_gsm_map_SendAuthenticationInfoRes = -1;
813 static gint ett_gsm_map_SendAuthenticationInfoRes_item = -1;
814 static gint ett_gsm_map_SendAuthenticationInfoV3Res = -1;
815 static gint ett_gsm_map_T_authenticationSetList = -1;
816 static gint ett_gsm_map_T_tripletList = -1;
817 static gint ett_gsm_map_T_tripletList_item = -1;
818 static gint ett_gsm_map_T_quintupletList = -1;
819 static gint ett_gsm_map_T_quintupletList_item = -1;
820 static gint ett_gsm_map_CheckIMEIv2Arg = -1;
821 static gint ett_gsm_map_T_requestedEquipmentInfo = -1;
822 static gint ett_gsm_map_ChekIMEIv3Res = -1;
823 static gint ett_gsm_map_T_bmuef = -1;
824 static gint ett_gsm_map_BasicService = -1;
825 static gint ett_gsm_map_BasicServiceGroupList = -1;
826 static gint ett_gsm_map_Odb_GeneralData = -1;
827 static gint ett_gsm_map_Odb_HPLMN_Data = -1;
828 static gint ett_gsm_map_BcsmCamelTDPData = -1;
829 static gint ett_gsm_map_BcsmCamelTDPDataList = -1;
830 static gint ett_gsm_map_O_CSI = -1;
831 static gint ett_gsm_map_InsertSubscriberDataArg = -1;
832 static gint ett_gsm_map_bearerServiceList = -1;
833 static gint ett_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice = -1;
834 static gint ett_gsm_map_T_provisionedSS = -1;
835 static gint ett_gsm_map_T_provisionedSS_item = -1;
836 static gint ett_gsm_map_T_cug_Info = -1;
837 static gint ett_gsm_map_T_cug_SubscriptionList = -1;
838 static gint ett_gsm_map_T_cug_SubscriptionList_item = -1;
839 static gint ett_gsm_map_T_cug_FeatureList = -1;
840 static gint ett_gsm_map_T_cug_FeatureList_item = -1;
841 static gint ett_gsm_map_T_emlpp_Info = -1;
842 static gint ett_gsm_map_T_regionalSubscriptionData = -1;
843 static gint ett_gsm_map_T_vbsSubscriptionData = -1;
844 static gint ett_gsm_map_T_vbsSubscriptionData_item = -1;
845 static gint ett_gsm_map_T_vgcsSubscriptionData = -1;
846 static gint ett_gsm_map_T_vgcsSubscriptionData_item = -1;
847 static gint ett_gsm_map_T_vlrCamelSubscriptionInfo = -1;
848 static gint ett_gsm_map_ss_CSI = -1;
849 static gint ett_gsm_map_T_gprsSubscriptionData = -1;
850 static gint ett_gsm_map_T_gprsDataList = -1;
851 static gint ett_gsm_map_T_gprsDataList_item = -1;
852 static gint ett_gsm_map_T_lsaInformation = -1;
853 static gint ett_gsm_map_T_lsaDataList = -1;
854 static gint ett_gsm_map_T_lsaDataList_item = -1;
855 static gint ett_gsm_map_T_lcsInformation = -1;
856 static gint ett_gsm_map_T_gmlc_List = -1;
857 static gint ett_gsm_map_T_lcs_PrivacyExceptionList = -1;
858 static gint ett_gsm_map_T_lcs_PrivacyExceptionList_item = -1;
859 static gint ett_gsm_map_T_externalClientList = -1;
860 static gint ett_gsm_map_T_externalClientList_item = -1;
861 static gint ett_gsm_map_T_clientIdentity = -1;
862 static gint ett_gsm_map_T_plmnClientList = -1;
863 static gint ett_gsm_map_T_molr_List = -1;
864 static gint ett_gsm_map_T_molr_List_item = -1;
865 static gint ett_gsm_map_InsertSubscriberDataRes = -1;
866 static gint ett_gsm_map_ss_List = -1;
867 static gint ett_gsm_map_Ss_CamelData = -1;
868 static gint ett_gsm_map_T_ss_EventList = -1;
869 static gint ett_gsm_map_CallBarringInfo = -1;
870 static gint ett_gsm_map_CallBarringFeatureList = -1;
871 static gint ett_gsm_map_CallBarringFeatureList_item = -1;
872 static gint ett_gsm_map_ForwardingFeatureList = -1;
873 static gint ett_gsm_map_DestinationNumberCriteria = -1;
874 static gint ett_gsm_map_T_destinationNumberList = -1;
875 static gint ett_gsm_map_T_destinationNumberLengthList = -1;
876 static gint ett_gsm_map_ForwardingInfo = -1;
877 static gint ett_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList = -1;
878 static gint ett_gsm_map_Naea_PreferredCI = -1;
879 static gint ett_gsm_map_O_BcsmCamelTDP_CriteriaList = -1;
880 static gint ett_gsm_map_O_BcsmCamelTDP_CriteriaList_item = -1;
881 static gint ett_gsm_map_Ss_SubscriptionOption = -1;
882 static gint ett_gsm_map_DeleteSubscriberDataArg = -1;
883 static gint ett_gsm_map_T_gprsSubscriptionDataWithdraw = -1;
884 static gint ett_gsm_map_T_contextIdList = -1;
885 static gint ett_gsm_map_T_lsaInformationWithdraw = -1;
886 static gint ett_gsm_map_T_lsaIdentityList = -1;
887 static gint ett_gsm_map_DeleteSubscriberDataRes = -1;
888 static gint ett_gsm_map_ResetArg = -1;
889 static gint ett_gsm_map_T_hlr_List = -1;
890 static gint ett_gsm_map_RestoreDataArg = -1;
891 static gint ett_gsm_map_RestoreDataRes = -1;
892 static gint ett_gsm_map_ActivateTraceModeArg = -1;
893 static gint ett_gsm_map_ActivateTraceModeRes = -1;
894 static gint ett_gsm_map_DeactivateTraceModeArg = -1;
895 static gint ett_gsm_map_DeactivateTraceModeRes = -1;
896 static gint ett_gsm_map_SendRoutingInfoArg = -1;
897 static gint ett_gsm_map_T_camelInfo = -1;
898 static gint ett_gsm_map_SendRoutingInfoRes = -1;
899 static gint ett_gsm_map_T_extendedRoutingInfo = -1;
900 static gint ett_gsm_map_T_routingInfo = -1;
901 static gint ett_gsm_map_T_camelRoutingInfo = -1;
902 static gint ett_gsm_map_T_gmscCamelSubscriptionInfo = -1;
903 static gint ett_gsm_map_t_CSI = -1;
904 static gint ett_gsm_map_T_ccbs_Indicators = -1;
905 static gint ett_gsm_map_SubscriberState = -1;
906 static gint ett_gsm_map_LocationInformation = -1;
907 static gint ett_gsm_map_T_cellIdOrLAI = -1;
908 static gint ett_gsm_map_SubscriberInfo = -1;
909 static gint ett_gsm_map_T_locationInformationGPRS = -1;
910 static gint ett_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI = -1;
911 static gint ett_gsm_map_T_ps_SubscriberState = -1;
912 static gint ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging = -1;
913 static gint ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item = -1;
914 static gint ett_gsm_map_T_ps_PDP_ActiveReachableForPaging = -1;
915 static gint ett_gsm_map_T_ps_PDP_ActiveReachableForPaging_item = -1;
916 static gint ett_gsm_map_T_gprs_MS_Class = -1;
917 static gint ett_gsm_map_T_mnpInfoRes = -1;
918 static gint ett_gsm_map_AdditionalSignalInfo = -1;
919 static gint ett_gsm_map_Cug_CheckInfo = -1;
920 static gint ett_gsm_map_ForwardingData = -1;
921 static gint ett_gsm_map_ProvideRoamingNumberArg = -1;
922 static gint ett_gsm_map_ProvideRoamingNumberRes = -1;
923 static gint ett_gsm_map_ResumeCallHandlingArg = -1;
924 static gint ett_gsm_map_T_uu_Data = -1;
925 static gint ett_gsm_map_ResumeCallHandlingRes = -1;
926 static gint ett_gsm_map_ProvideSIWFSNumberArg = -1;
927 static gint ett_gsm_map_ProvideSIWFSNumberRes = -1;
928 static gint ett_gsm_map_SIWFSSignallingModifyArg = -1;
929 static gint ett_gsm_map_SIWFSSignallingModifyRes = -1;
930 static gint ett_gsm_map_SetReportingStateArg = -1;
931 static gint ett_gsm_map_SetReportingStateRes = -1;
932 static gint ett_gsm_map_StatusReportArg = -1;
933 static gint ett_gsm_map_T_eventReportData = -1;
934 static gint ett_gsm_map_T_callReportdata = -1;
935 static gint ett_gsm_map_StatusReportRes = -1;
936 static gint ett_gsm_map_RemoteUserFreeArg = -1;
937 static gint ett_gsm_map_RemoteUserFreeRes = -1;
938 static gint ett_gsm_map_Ss_Data = -1;
939 static gint ett_gsm_map_RegisterSS_Arg = -1;
940 static gint ett_gsm_map_Ss_Info = -1;
941 static gint ett_gsm_map_Ccbs_Feature = -1;
942 static gint ett_gsm_map_Ss_ForBS = -1;
943 static gint ett_gsm_map_InterrogateSS_Res = -1;
944 static gint ett_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList = -1;
945 static gint ett_gsm_map_T_genericServiceInfo = -1;
946 static gint ett_gsm_map_T_ccbs_FeatureList = -1;
947 static gint ett_gsm_map_T_ccbs_FeatureList_item = -1;
948 static gint ett_gsm_map_Ussd_Arg = -1;
949 static gint ett_gsm_map_Ussd_Res = -1;
950 static gint ett_gsm_map_ServiceIndicator = -1;
951 static gint ett_gsm_map_RegisterCC_EntryArg = -1;
952 static gint ett_gsm_map_T_ccbs_Data = -1;
953 static gint ett_gsm_map_RegisterCC_EntryRes = -1;
954 static gint ett_gsm_map_EraseCC_EntryArg = -1;
955 static gint ett_gsm_map_EraseCC_EntryRes = -1;
956 static gint ett_gsm_map_RoutingInfoForSMArg = -1;
957 static gint ett_gsm_map_RoutingInfoForSMRes = -1;
958 static gint ett_gsm_map_T_locationInfoWithLMSI = -1;
959 static gint ett_gsm_map_T_additional_Number = -1;
960 static gint ett_gsm_map_Mo_forwardSM_Arg = -1;
961 static gint ett_gsm_map_Mo_forwardSM_Res = -1;
962 static gint ett_gsm_map_Sm_RP_OA = -1;
963 static gint ett_gsm_map_Sm_RP_DA = -1;
964 static gint ett_gsm_map_Mt_forwardSM_Arg = -1;
965 static gint ett_gsm_map_Mt_forwardSM_Res = -1;
966 static gint ett_gsm_map_ReportSM_DeliveryStatusArg = -1;
967 static gint ett_gsm_map_ReportSM_DeliveryStatusRes = -1;
968 static gint ett_gsm_map_InformServiceCentreArg = -1;
969 static gint ett_gsm_map_T_mw_Status = -1;
970 static gint ett_gsm_map_AlertServiceCentreArg = -1;
971 static gint ett_gsm_map_ReadyForSM_Arg = -1;
972 static gint ett_gsm_map_ReadyForSM_Res = -1;
973 static gint ett_gsm_map_ProvideSubscriberInfoArg = -1;
974 static gint ett_gsm_map_ProvideSubscriberInfoRes = -1;
975 static gint ett_gsm_map_RequestedInfo = -1;
976 static gint ett_gsm_map_AnyTimeInterrogationArg = -1;
977 static gint ett_gsm_map_AnyTimeInterrogationRes = -1;
978 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationArg = -1;
979 static gint ett_gsm_map_T_requestedSubscriptionInfo = -1;
980 static gint ett_gsm_map_T_requestedSS_Info = -1;
981 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationRes = -1;
982 static gint ett_gsm_map_T_callForwardingData = -1;
983 static gint ett_gsm_map_T_callBarringData = -1;
984 static gint ett_gsm_map_T_odb_Info = -1;
985 static gint ett_gsm_map_T_camel_SubscriptionInfo = -1;
986 static gint ett_gsm_map_T_d_CSI = -1;
987 static gint ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList = -1;
988 static gint ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item = -1;
989 static gint ett_gsm_map_T_vt_CSI = -1;
990 static gint ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList = -1;
991 static gint ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item = -1;
992 static gint ett_gsm_map_T_gprs_CSI = -1;
993 static gint ett_gsm_map_T_gprs_CamelTDPDataList = -1;
994 static gint ett_gsm_map_T_gprs_CamelTDPDataList_item = -1;
995 static gint ett_gsm_map_T_mo_sms_CSI = -1;
996 static gint ett_gsm_map_T_m_CSI = -1;
997 static gint ett_gsm_map_T_specificCSIDeletedList = -1;
998 static gint ett_gsm_map_T_mt_sms_CSI = -1;
999 static gint ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList = -1;
1000 static gint ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item = -1;
1001 static gint ett_gsm_map_T_tpdu_TypeCriterion = -1;
1002 static gint ett_gsm_map_T_mg_csi = -1;
1003 static gint ett_gsm_map_T_o_IM_CSI = -1;
1004 static gint ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList = -1;
1005 static gint ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item = -1;
1006 static gint ett_gsm_map_T_d_IM_CSI = -1;
1007 static gint ett_gsm_map_T_vt_IM_CSI = -1;
1008 static gint ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1;
1009 static gint ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item = -1;
1010 static gint ett_gsm_map_T_supportedVLR_CAMEL_Phases = -1;
1011 static gint ett_gsm_map_T_supportedSGSN_CAMEL_Phases = -1;
1012 static gint ett_gsm_map_T_offeredCamel4CSIsInVLR = -1;
1013 static gint ett_gsm_map_T_offeredCamel4CSIsInSGSN = -1;
1014 static gint ett_gsm_map_Sms_CAMEL_TDP_DataList = -1;
1015 static gint ett_gsm_map_Sms_CAMEL_TDP_DataList_item = -1;
1016 static gint ett_gsm_map_T_CauseValueCriteria = -1;
1017 static gint ett_gsm_map_O_CauseValueCriteria = -1;
1018 static gint ett_gsm_map_MobilityTriggers = -1;
1019 static gint ett_gsm_map_BasicServiceCriteria = -1;
1020 static gint ett_gsm_map_BasicServiceCriteria_item = -1;
1021 static gint ett_gsm_map_Dp_AnalysedInfoCriteriaList = -1;
1022 static gint ett_gsm_map_Dp_AnalysedInfoCriteriaList_item = -1;
1023 static gint ett_gsm_map_SubscriberIdentity = -1;
1024 static gint ett_gsm_map_AnyTimeModificationArg = -1;
1025 static gint ett_gsm_map_T_modificationRequestFor_CF_Info = -1;
1026 static gint ett_gsm_map_BasicService_ext = -1;
1027 static gint ett_gsm_map_T_modificationRequestFor_CB_Info = -1;
1028 static gint ett_gsm_map_T_modificationRequestFor_CSI = -1;
1029 static gint ett_gsm_map_T_modificationRequestFor_ODB_data = -1;
1030 static gint ett_gsm_map_AnyTimeModificationRes = -1;
1031 static gint ett_gsm_map_Odb_data = -1;
1032 static gint ett_gsm_map_Ss_InvocationNotificationArg = -1;
1033 static gint ett_gsm_map_T_ss_EventSpecification = -1;
1034 static gint ett_gsm_map_Ss_InvocationNotificationRes = -1;
1035 static gint ett_gsm_map_PrepareGroupCallArg = -1;
1036 static gint ett_gsm_map_PrepareGroupCallRes = -1;
1037 static gint ett_gsm_map_SendGroupCallEndSignalArg = -1;
1038 static gint ett_gsm_map_SendGroupCallEndSignalRes = -1;
1039 static gint ett_gsm_map_ProcessGroupCallSignallingArg = -1;
1040 static gint ett_gsm_map_ForwardGroupCallSignallingArg = -1;
1041 static gint ett_gsm_map_UpdateGprsLocationArg = -1;
1042 static gint ett_gsm_map_T_sgsn_Capability = -1;
1043 static gint ett_gsm_map_UpdateGprsLocationRes = -1;
1044 static gint ett_gsm_map_SendRoutingInfoForGprsArg = -1;
1045 static gint ett_gsm_map_SendRoutingInfoForGprsRes = -1;
1046 static gint ett_gsm_map_FailureReportArg = -1;
1047 static gint ett_gsm_map_FailureReportRes = -1;
1048 static gint ett_gsm_map_NoteMsPresentForGprsArg = -1;
1049 static gint ett_gsm_map_NoteMsPresentForGprsRes = -1;
1050 static gint ett_gsm_map_LcsClientExternalID = -1;
1051 static gint ett_gsm_map_LcsClientName = -1;
1052 static gint ett_gsm_map_Lcs_ClientID = -1;
1053 static gint ett_gsm_map_LcsLocationInfo = -1;
1054 static gint ett_gsm_map_ProvideSubscriberLocation_Arg = -1;
1055 static gint ett_gsm_map_T_locationType = -1;
1056 static gint ett_gsm_map_T_lcs_QoS = -1;
1057 static gint ett_gsm_map_T_responseTime = -1;
1058 static gint ett_gsm_map_ProvideSubscriberLocation_Res = -1;
1059 static gint ett_gsm_map_TargetMS = -1;
1060 static gint ett_gsm_map_RoutingInfoForLCS_Arg = -1;
1061 static gint ett_gsm_map_RoutingInfoForLCS_Res = -1;
1062 static gint ett_gsm_map_SubscriberLocationReport_Arg = -1;
1063 static gint ett_gsm_map_SubscriberLocationReport_Res = -1;
1064 static gint ett_gsm_map_SystemFailureParam = -1;
1065 static gint ett_gsm_map_T_extensibleSystemFailureParam = -1;
1066 static gint ett_gsm_map_DataMissingParam = -1;
1067 static gint ett_gsm_map_UnexpectedDataParam = -1;
1068 static gint ett_gsm_map_FacilityNotSupParam = -1;
1069 static gint ett_gsm_map_IncompatibleTerminalParam = -1;
1070 static gint ett_gsm_map_ResourceLimitationParam = -1;
1071 static gint ett_gsm_map_UnknownSubscriberParam = -1;
1072 static gint ett_gsm_map_NumberChangedParam = -1;
1073 static gint ett_gsm_map_UnidentifiedSubParam = -1;
1074 static gint ett_gsm_map_RoamingNotAllowedParam = -1;
1075 static gint ett_gsm_map_IllegalSubscriberParam = -1;
1076 static gint ett_gsm_map_IllegalEquipmentParam = -1;
1077 static gint ett_gsm_map_BearerServNotProvParam = -1;
1078 static gint ett_gsm_map_TeleservNotProvParam = -1;
1079 static gint ett_gsm_map_TracingBufferFullParam = -1;
1080 static gint ett_gsm_map_NoRoamingNbParam = -1;
1081 static gint ett_gsm_map_AbsentSubscriberParam = -1;
1082 static gint ett_gsm_map_BusySubscriberParam = -1;
1083 static gint ett_gsm_map_NoSubscriberReplyParam = -1;
1084 static gint ett_gsm_map_CallBarredParam = -1;
1085 static gint ett_gsm_map_T_extensibleCallBarredParam = -1;
1086 static gint ett_gsm_map_ForwardingFailedParam = -1;
1087 static gint ett_gsm_map_Or_NotAllowedParam = -1;
1088 static gint ett_gsm_map_ForwardingViolationParam = -1;
1089 static gint ett_gsm_map_Cug_RejectParam = -1;
1090 static gint ett_gsm_map_Ati_NotAllowedParam = -1;
1091 static gint ett_gsm_map_NoGroupCallNbParam = -1;
1092 static gint ett_gsm_map_Ss_IncompatibilityCause = -1;
1093 static gint ett_gsm_map_ShortTermDenialParam = -1;
1094 static gint ett_gsm_map_LongTermDenialParam = -1;
1095 static gint ett_gsm_map_SubBusyForMT_SMS_Param = -1;
1096 static gint ett_gsm_map_Sm_DeliveryFailureCause = -1;
1097 static gint ett_gsm_map_MessageWaitListFullParam = -1;
1098 static gint ett_gsm_map_AbsentSubscriberSM_Param = -1;
1099 static gint ett_gsm_map_UnauthorizedRequestingNetwork_Param = -1;
1100 static gint ett_gsm_map_UnauthorizedLCSClient_Param = -1;
1101 static gint ett_gsm_map_PositionMethodFailure_Param = -1;
1102 static gint ett_gsm_map_UnknownOrUnreachableLCSClient_Param = -1;
1103 static gint ett_gsm_map_ExtensionContainer = -1;
1105 /*--- End of included file: packet-gsm_map-ett.c ---*/
1108 static dissector_table_t sms_dissector_table; /* SMS TPDU */
1109 static dissector_handle_t data_handle;
1111 /* Preferenc settings default */
1113 static range_t *global_ssn_range;
1114 static range_t *ssn_range;
1115 dissector_handle_t map_handle;
1117 /* Global variables */
1119 static proto_tree *top_tree;
1120 static int application_context_version;
1122 static int gsm_map_tap = -1;
1126 unpack_digits(tvbuff_t *tvb, int offset){
1133 length = tvb_length(tvb);
1134 if (length < offset)
1136 length = length - offset;
1137 digit_str = g_malloc(length*2+1);
1139 while ( offset <= length ){
1141 octet = tvb_get_guint8(tvb,offset);
1142 digit_str[i] = ((octet & 0x0f) + 0x30);
1146 * unpack second value in byte
1150 if (octet == 0x0f) /* odd number bytes - hit filler */
1153 digit_str[i] = ((octet & 0x0f) + 0x30);
1164 /*--- Included file: packet-gsm_map-fn.c ---*/
1166 /*--- Fields for imported types ---*/
1170 static const value_string gsm_map_ProtocolId_vals[] = {
1173 { 3, "gsm-BSSMAP" },
1174 { 4, "ets-300102-1" },
1180 dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1182 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &protocolId);
1187 static int dissect_protocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1188 return dissect_gsm_map_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_protocolId);
1193 dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1195 tvbuff_t *parameter_tvb;
1199 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1203 switch (protocolId){
1213 /* ets-300102-1 (~Q.931 ) */
1215 octet = tvb_get_guint8(parameter_tvb,0);
1216 length = tvb_get_guint8(parameter_tvb,1);
1218 dissect_q931_bearer_capability_ie(parameter_tvb, 2, length, tree);
1226 static int dissect_signalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1227 return dissect_gsm_map_SignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_signalInfo);
1232 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_) {
1233 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset,
1238 static int dissect_extId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1239 return dissect_gsm_map_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extId);
1245 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_) {
1247 proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
1248 call_dissector(data_handle, tvb, pinfo, tree);
1249 offset = tvb_length_remaining(tvb,offset);
1254 static int dissect_extType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1255 return dissect_gsm_map_T_extType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extType);
1258 static const ber_sequence_t PrivateExtension_sequence[] = {
1259 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extId },
1260 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extType },
1265 dissect_gsm_map_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1266 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1267 PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
1271 static int dissect_PrivateExtensionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1272 return dissect_gsm_map_PrivateExtension(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PrivateExtensionList_item);
1275 static const ber_sequence_t PrivateExtensionList_sequence_of[1] = {
1276 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PrivateExtensionList_item },
1280 dissect_gsm_map_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1281 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1282 PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
1286 static int dissect_privateExtensionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1287 return dissect_gsm_map_PrivateExtensionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privateExtensionList);
1290 static const ber_sequence_t PcsExtensions_sequence[] = {
1295 dissect_gsm_map_PcsExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1296 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1297 PcsExtensions_sequence, hf_index, ett_gsm_map_PcsExtensions);
1301 static int dissect_pcsExtensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1302 return dissect_gsm_map_PcsExtensions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pcsExtensions);
1305 static const ber_sequence_t ExtensionContainer_sequence[] = {
1306 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
1307 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pcsExtensions_impl },
1312 dissect_gsm_map_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1313 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1314 ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
1318 static int dissect_extensionContainer(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1319 return dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
1321 static int dissect_extensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1322 return dissect_gsm_map_ExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
1325 static const ber_sequence_t Bss_APDU_sequence[] = {
1326 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_protocolId },
1327 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
1328 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1333 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_) {
1334 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1335 Bss_APDU_sequence, hf_index, ett_gsm_map_Bss_APDU);
1339 static int dissect_bss_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1340 return dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bss_APDU);
1342 static int dissect_networkSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1343 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo);
1345 static int dissect_gsm_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1346 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsm_BearerCapability);
1348 static int dissect_isdn_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1349 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_isdn_BearerCapability);
1351 static int dissect_chosenChannel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1352 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannel);
1354 static int dissect_lowerLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1355 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lowerLayerCompatibility);
1357 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1358 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_highLayerCompatibility);
1360 static int dissect_channelType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1361 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_channelType);
1363 static int dissect_callInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1364 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callInfo);
1368 static const value_string gsm_map_T_accessNetworkProtocolId_vals[] = {
1369 { 1, "ts3G-48006" },
1370 { 2, "ts3G-25413" },
1376 dissect_gsm_map_T_accessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1377 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1381 static int dissect_accessNetworkProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1382 return dissect_gsm_map_T_accessNetworkProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_accessNetworkProtocolId);
1387 dissect_gsm_map_SignalInfo2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1388 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1393 static int dissect_signalInfo2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1394 return dissect_gsm_map_SignalInfo2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_signalInfo2);
1397 static const ber_sequence_t An_APDU_sequence[] = {
1398 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_accessNetworkProtocolId },
1399 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo2 },
1400 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1405 dissect_gsm_map_An_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1406 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1407 An_APDU_sequence, hf_index, ett_gsm_map_An_APDU);
1411 static int dissect_an_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1412 return dissect_gsm_map_An_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
1414 static int dissect_an_APDU_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1415 return dissect_gsm_map_An_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
1418 static const asn_namedbit SupportedCamelPhases_bits[] = {
1419 { 0, &hf_gsm_map_SupportedCamelPhases_phase1, -1, -1, NULL, NULL },
1420 { 1, &hf_gsm_map_SupportedCamelPhases_phase2, -1, -1, NULL, NULL },
1421 { 2, &hf_gsm_map_SupportedCamelPhases_phase3, -1, -1, NULL, NULL },
1422 { 3, &hf_gsm_map_SupportedCamelPhases_phase4, -1, -1, NULL, NULL },
1423 { 0, NULL, 0, 0, NULL, NULL }
1427 dissect_gsm_map_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1428 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1429 SupportedCamelPhases_bits, hf_index, ett_gsm_map_SupportedCamelPhases,
1434 static int dissect_supportedCamelPhases(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1435 return dissect_gsm_map_SupportedCamelPhases(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
1437 static int dissect_supportedCamelPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1438 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
1440 static int dissect_supportedCamelPhasesInGMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1441 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhasesInGMSC);
1446 dissect_gsm_map_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1447 { proto_item *ti_tmp;
1448 ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>8, 0, FALSE);
1449 proto_item_append_text(ti_tmp, ": NULL");
1454 static int dissect_solsaSupportIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1455 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1457 static int dissect_solsaSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1458 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1460 static int dissect_sendSubscriberData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1461 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sendSubscriberData);
1463 static int dissect_longFTN_Supported_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1464 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longFTN_Supported);
1466 static int dissect_informPreviousNetworkEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1467 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_informPreviousNetworkEntity);
1469 static int dissect_cs_LCS_NotSupportedByUE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1470 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cs_LCS_NotSupportedByUE);
1472 static int dissect_skipSubscriberDataUpdate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1473 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_skipSubscriberDataUpdate);
1475 static int dissect_freezeTMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1476 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeTMSI);
1478 static int dissect_freezeP_TMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1479 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeP_TMSI);
1481 static int dissect_ho_NumberNotRequired(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1482 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ho_NumberNotRequired);
1484 static int dissect_multipleBearerRequested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1485 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerRequested);
1487 static int dissect_rab_ConfigurationIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1488 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_ConfigurationIndicator);
1490 static int dissect_multipleBearerNotSupported(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1491 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerNotSupported);
1493 static int dissect_segmentationProhibited(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1494 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_segmentationProhibited);
1496 static int dissect_immediateResponsePreferred_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1497 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_immediateResponsePreferred);
1499 static int dissect_roamingRestrictionDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1500 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictionDueToUnsupportedFeature);
1502 static int dissect_broadcastInitEntitlement(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1503 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_broadcastInitEntitlement);
1505 static int dissect_tif_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1506 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI);
1508 static int dissect_completeDataListIncluded(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1509 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_completeDataListIncluded);
1511 static int dissect_vplmnAddressAllowed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1512 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vplmnAddressAllowed);
1514 static int dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1515 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature);
1517 static int dissect_lsaActiveModeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1518 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaActiveModeIndicator);
1520 static int dissect_lmu_Indicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1521 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmu_Indicator);
1523 static int dissect_vbsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1524 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsGroupIndication);
1526 static int dissect_vgcsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1527 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsGroupIndication);
1529 static int dissect_camelSubscriptionInfoWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1530 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelSubscriptionInfoWithdraw);
1532 static int dissect_allGPRSData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1533 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allGPRSData);
1535 static int dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1536 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature);
1538 static int dissect_allLSAData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1539 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allLSAData);
1541 static int dissect_gmlc_ListWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1542 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_ListWithdraw);
1544 static int dissect_msNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1545 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msNotReachable);
1547 static int dissect_or_Interrogation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1548 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Interrogation);
1550 static int dissect_suppress_T_CSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1551 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppress_T_CSI);
1553 static int dissect_suppressionOfAnnouncement_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1554 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_suppressionOfAnnouncement);
1556 static int dissect_ccbs_Call_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1557 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Call);
1559 static int dissect_cugSubscriptionFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1560 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cugSubscriptionFlag);
1562 static int dissect_forwardingInterrogationRequired_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1563 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInterrogationRequired);
1565 static int dissect_ccbs_Possible_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1566 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Possible);
1568 static int dissect_keepCCBS_CallIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1569 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_keepCCBS_CallIndicator);
1571 static int dissect_assumedIdle_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1572 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_assumedIdle);
1574 static int dissect_camelBusy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1575 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelBusy);
1577 static int dissect_notProvidedFromVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1578 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromVLR);
1580 static int dissect_currentLocationRetrieved_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1581 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocationRetrieved);
1583 static int dissect_sai_Present_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1584 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sai_Present);
1586 static int dissect_notProvidedFromSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1587 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromSGSN);
1589 static int dissect_ps_Detached_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1590 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_Detached);
1592 static int dissect_ps_AttachedNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1593 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_AttachedNotReachableForPaging);
1595 static int dissect_ps_AttachedReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1596 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_AttachedReachableForPaging);
1598 static int dissect_pdp_ContextActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1599 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextActive);
1601 static int dissect_cug_OutgoingAccess(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1602 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_OutgoingAccess);
1604 static int dissect_orNotSupportedInGMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1605 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_orNotSupportedInGMSC);
1607 static int dissect_uusCFInteraction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1608 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uusCFInteraction);
1610 static int dissect_allInformationSent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1611 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allInformationSent);
1613 static int dissect_replaceB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1614 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_replaceB_Number);
1616 static int dissect_gprsSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1617 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSupportIndicator);
1619 static int dissect_gprsNodeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1620 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsNodeIndicator);
1622 static int dissect_noSM_RP_OA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1623 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_OA);
1625 static int dissect_noSM_RP_DA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1626 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_DA);
1628 static int dissect_moreMessagesToSend(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1629 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_moreMessagesToSend);
1631 static int dissect_deliveryOutcomeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1632 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deliveryOutcomeIndicator);
1634 static int dissect_alertReasonIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1635 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReasonIndicator);
1637 static int dissect_locationInformationFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1638 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationFlag);
1640 static int dissect_subscriberStateFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1641 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberStateFlag);
1643 static int dissect_currentLocation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1644 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocation);
1646 static int dissect_imei_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1647 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei_flg);
1649 static int dissect_ms_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1650 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_classmark);
1652 static int dissect_mnpRequestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1653 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpRequestedInfo);
1655 static int dissect_odb_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1656 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb);
1658 static int dissect_supportedVLR_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1659 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases_flg);
1661 static int dissect_supportedSGSN_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1662 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases_flg);
1664 static int dissect_notificationToCSE(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1665 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1667 static int dissect_notificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1668 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1670 static int dissect_csi_Active_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1671 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csi_Active);
1673 static int dissect_tif_CSI_NotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1674 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI_NotificationToCSE);
1676 static int dissect_csiActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1677 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csiActive);
1679 static int dissect_uplinkFree_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1680 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkFree);
1682 static int dissect_uplinkRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1683 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequest);
1685 static int dissect_uplinkReleaseIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1686 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkReleaseIndication);
1688 static int dissect_releaseGroupCall_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1689 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_releaseGroupCall);
1691 static int dissect_uplinkRequestAck_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1692 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequestAck);
1694 static int dissect_uplinkRejectCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1695 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRejectCommand);
1697 static int dissect_uplinkSeizedCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1698 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkSeizedCommand);
1700 static int dissect_uplinkReleaseCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1701 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkReleaseCommand);
1703 static int dissect_privacyOverride_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1704 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privacyOverride);
1706 static int dissect_verticalCoordinateRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1707 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_verticalCoordinateRequest);
1709 static int dissect_ccbs_Busy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1710 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Busy);
1712 static int dissect_unauthorisedMessageOriginator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1713 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorisedMessageOriginator);
1715 static int dissect_gprsConnectionSuspended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1716 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsConnectionSuspended);
1720 static const value_string gsm_map_T_istSupportIndicator_vals[] = {
1721 { 0, "basicISTSupported" },
1722 { 1, "istCommandSupported" },
1728 dissect_gsm_map_T_istSupportIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1729 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1733 static int dissect_istSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1734 return dissect_gsm_map_T_istSupportIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istSupportIndicator);
1739 dissect_gsm_map_OCTET_STRING_SIZE_1_6(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1740 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1745 static int dissect_subscriberDataStored_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1746 return dissect_gsm_map_OCTET_STRING_SIZE_1_6(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberDataStored);
1750 static const value_string gsm_map_T_superChargerSupportedInServingNetworkEntity_vals[] = {
1751 { 0, "sendSubscriberData" },
1752 { 1, "subscriberDataStored" },
1756 static const ber_choice_t T_superChargerSupportedInServingNetworkEntity_choice[] = {
1757 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendSubscriberData_impl },
1758 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_subscriberDataStored_impl },
1759 { 0, 0, 0, 0, NULL }
1763 dissect_gsm_map_T_superChargerSupportedInServingNetworkEntity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1764 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1765 T_superChargerSupportedInServingNetworkEntity_choice, hf_index, ett_gsm_map_T_superChargerSupportedInServingNetworkEntity);
1769 static int dissect_superChargerSupportedInServingNetworkEntity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1770 return dissect_gsm_map_T_superChargerSupportedInServingNetworkEntity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInServingNetworkEntity);
1773 static const asn_namedbit T_supportedLCS_CapabilitySets_bits[] = {
1774 { 0, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet1, -1, -1, NULL, NULL },
1775 { 1, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet2, -1, -1, NULL, NULL },
1776 { 2, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet3, -1, -1, NULL, NULL },
1777 { 3, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet4, -1, -1, NULL, NULL },
1778 { 0, NULL, 0, 0, NULL, NULL }
1782 dissect_gsm_map_T_supportedLCS_CapabilitySets(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1783 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1784 T_supportedLCS_CapabilitySets_bits, hf_index, ett_gsm_map_T_supportedLCS_CapabilitySets,
1789 static int dissect_supportedLCS_CapabilitySets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1790 return dissect_gsm_map_T_supportedLCS_CapabilitySets(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedLCS_CapabilitySets);
1793 static const asn_namedbit T_offeredCamel4CSIs_bits[] = {
1794 { 0, &hf_gsm_map_T_offeredCamel4CSIs_o_csi, -1, -1, NULL, NULL },
1795 { 1, &hf_gsm_map_T_offeredCamel4CSIs_d_csi, -1, -1, NULL, NULL },
1796 { 2, &hf_gsm_map_T_offeredCamel4CSIs_vt_csi, -1, -1, NULL, NULL },
1797 { 3, &hf_gsm_map_T_offeredCamel4CSIs_t_csi, -1, -1, NULL, NULL },
1798 { 4, &hf_gsm_map_T_offeredCamel4CSIs_mt_sms_csi, -1, -1, NULL, NULL },
1799 { 5, &hf_gsm_map_T_offeredCamel4CSIs_mg_csi, -1, -1, NULL, NULL },
1800 { 6, &hf_gsm_map_T_offeredCamel4CSIs_psi_enhancements, -1, -1, NULL, NULL },
1801 { 0, NULL, 0, 0, NULL, NULL }
1805 dissect_gsm_map_T_offeredCamel4CSIs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1806 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1807 T_offeredCamel4CSIs_bits, hf_index, ett_gsm_map_T_offeredCamel4CSIs,
1812 static int dissect_offeredCamel4CSIs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1813 return dissect_gsm_map_T_offeredCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIs);
1816 static const ber_sequence_t Vlr_Capability_sequence[] = {
1817 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
1818 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1819 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_solsaSupportIndicator_impl },
1820 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istSupportIndicator_impl },
1821 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_superChargerSupportedInServingNetworkEntity },
1822 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
1823 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
1824 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
1829 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_) {
1830 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1831 Vlr_Capability_sequence, hf_index, ett_gsm_map_Vlr_Capability);
1835 static int dissect_vlr_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1836 return dissect_gsm_map_Vlr_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Capability);
1841 dissect_gsm_map_Imsi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1843 tvbuff_t *parameter_tvb;
1846 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1851 digit_str = unpack_digits(parameter_tvb, 0);
1853 proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 0, -1, digit_str);
1862 static int dissect_imsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1863 return dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
1865 static int dissect_imsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1866 return dissect_gsm_map_Imsi(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
1871 dissect_gsm_map_Lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1872 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1877 static int dissect_lmsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1878 return dissect_gsm_map_Lmsi(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
1880 static int dissect_lmsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1881 return dissect_gsm_map_Lmsi(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
1886 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_) {
1887 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1892 static int dissect_msc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1893 return dissect_gsm_map_Msc_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
1895 static int dissect_msc_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1896 return dissect_gsm_map_Msc_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
1901 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_) {
1902 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1907 static int dissect_vlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1908 return dissect_gsm_map_Vlr_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
1910 static int dissect_vlr_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1911 return dissect_gsm_map_Vlr_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
1913 static int dissect_vlr_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1914 return dissect_gsm_map_Vlr_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_number);
1919 dissect_gsm_map_OCTET_STRING_SIZE_5_17(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1920 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1925 static int dissect_v_gmlc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1926 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_v_gmlc_Address);
1928 static int dissect_rnc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1929 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rnc_Address);
1931 static int dissect_sgsn_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1932 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
1934 static int dissect_sgsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1935 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
1940 dissect_gsm_map_OCTET_STRING_SIZE_8(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1941 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1946 static int dissect_imeisv_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1947 return dissect_gsm_map_OCTET_STRING_SIZE_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imeisv);
1949 static int dissect_kc(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1950 return dissect_gsm_map_OCTET_STRING_SIZE_8(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_kc);
1952 static int dissect_geographicalInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1953 return dissect_gsm_map_OCTET_STRING_SIZE_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geographicalInformation);
1955 static int dissect_groupKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1956 return dissect_gsm_map_OCTET_STRING_SIZE_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKey);
1959 static const ber_sequence_t T_add_info_sequence[] = {
1960 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imeisv_impl },
1961 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_skipSubscriberDataUpdate_impl },
1966 dissect_gsm_map_T_add_info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1967 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1968 T_add_info_sequence, hf_index, ett_gsm_map_T_add_info);
1972 static int dissect_add_info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1973 return dissect_gsm_map_T_add_info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_add_info);
1976 static const ber_sequence_t UpdateLocationArg_sequence[] = {
1977 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
1978 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
1979 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_vlr_Number },
1980 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
1981 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1982 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
1983 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_informPreviousNetworkEntity_impl },
1984 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cs_LCS_NotSupportedByUE_impl },
1985 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_v_gmlc_Address_impl },
1986 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_info_impl },
1991 dissect_gsm_map_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1992 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1993 UpdateLocationArg_sequence, hf_index, ett_gsm_map_UpdateLocationArg);
2000 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_) {
2002 tvbuff_t *parameter_tvb;
2005 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2011 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
2012 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
2013 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
2015 digit_str = unpack_digits(parameter_tvb, 1);
2017 proto_tree_add_string(tree, hf_gsm_map_map_hlr_number_digits, parameter_tvb, 1, -1, digit_str);
2023 static int dissect_hlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2024 return dissect_gsm_map_Hlr_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_Number);
2027 static const ber_sequence_t UpdateLocationRes_sequence[] = {
2028 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
2029 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2034 dissect_gsm_map_UpdateLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2035 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2036 UpdateLocationRes_sequence, hf_index, ett_gsm_map_UpdateLocationRes);
2043 dissect_gsm_map_Teleservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2044 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2049 static int dissect_teleservice(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2050 return dissect_gsm_map_Teleservice(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice);
2052 static int dissect_teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2053 return dissect_gsm_map_Teleservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice);
2055 static int dissect_teleserviceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2056 return dissect_gsm_map_Teleservice(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_teleserviceList_item);
2060 static const value_string gsm_map_CancellationType_vals[] = {
2061 { 0, "updateProcedure" },
2062 { 1, "subscriptionWithdraw" },
2068 dissect_gsm_map_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2069 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2073 static int dissect_cancellationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2074 return dissect_gsm_map_CancellationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cancellationType);
2077 static const ber_sequence_t T_imsi_WithLMSI_sequence[] = {
2078 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2079 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_lmsi },
2084 dissect_gsm_map_T_imsi_WithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2085 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2086 T_imsi_WithLMSI_sequence, hf_index, ett_gsm_map_T_imsi_WithLMSI);
2090 static int dissect_imsi_WithLMSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2091 return dissect_gsm_map_T_imsi_WithLMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi_WithLMSI);
2095 static const value_string gsm_map_T_identity_vals[] = {
2097 { 1, "imsi-WithLMSI" },
2101 static const ber_choice_t T_identity_choice[] = {
2102 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2103 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_imsi_WithLMSI },
2104 { 0, 0, 0, 0, NULL }
2108 dissect_gsm_map_T_identity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2109 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2110 T_identity_choice, hf_index, ett_gsm_map_T_identity);
2114 static int dissect_identity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2115 return dissect_gsm_map_T_identity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_identity);
2118 static const ber_sequence_t CancelLocationArg_sequence[] = {
2119 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_identity },
2120 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cancellationType },
2121 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2126 dissect_gsm_map_CancelLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2127 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2128 CancelLocationArg_sequence, hf_index, ett_gsm_map_CancelLocationArg);
2133 static const ber_sequence_t CancelLocationRes_sequence[] = {
2134 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2139 dissect_gsm_map_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2140 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2141 CancelLocationRes_sequence, hf_index, ett_gsm_map_CancelLocationRes);
2148 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_) {
2149 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2154 static int dissect_sgsn_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2155 return dissect_gsm_map_Sgsn_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
2157 static int dissect_sgsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2158 return dissect_gsm_map_Sgsn_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
2161 static const ber_sequence_t PurgeMS_Arg_sequence[] = {
2162 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2163 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Number_impl },
2164 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
2165 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2170 dissect_gsm_map_PurgeMS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2171 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2172 PurgeMS_Arg_sequence, hf_index, ett_gsm_map_PurgeMS_Arg);
2177 static const ber_sequence_t PurgeMS_Res_sequence[] = {
2178 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeTMSI_impl },
2179 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeP_TMSI_impl },
2180 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2185 dissect_gsm_map_PurgeMS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2186 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2187 PurgeMS_Res_sequence, hf_index, ett_gsm_map_PurgeMS_Res);
2194 dissect_gsm_map_Tmsi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2195 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2203 dissect_gsm_map_OCTET_STRING_SIZE_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2204 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2209 static int dissect_rand(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2210 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rand);
2212 static int dissect_ck(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2213 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ck);
2215 static int dissect_ik(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2216 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ik);
2218 static int dissect_autn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2219 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_autn);
2224 dissect_gsm_map_OCTET_STRING_SIZE_4(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2225 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2230 static int dissect_sres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2231 return dissect_gsm_map_OCTET_STRING_SIZE_4(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sres);
2233 static int dissect_cug_Interlock(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2234 return dissect_gsm_map_OCTET_STRING_SIZE_4(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Interlock);
2236 static int dissect_teid_ForGnAndGp_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2237 return dissect_gsm_map_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForGnAndGp);
2239 static int dissect_teid_ForIu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2240 return dissect_gsm_map_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForIu);
2242 static int dissect_chargingId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2243 return dissect_gsm_map_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingId);
2246 static const ber_sequence_t T_authenticationSetList_item_sequence[] = {
2247 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
2248 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
2249 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
2254 dissect_gsm_map_T_authenticationSetList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2255 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2256 T_authenticationSetList_item_sequence, hf_index, ett_gsm_map_T_authenticationSetList_item);
2260 static int dissect_authenticationSetList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2261 return dissect_gsm_map_T_authenticationSetList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_authenticationSetList_item);
2264 static const ber_sequence_t SendId_authenticationSetList_sequence_of[1] = {
2265 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_authenticationSetList_item },
2269 dissect_gsm_map_SendId_authenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2270 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2271 SendId_authenticationSetList_sequence_of, hf_index, ett_gsm_map_SendId_authenticationSetList);
2275 static int dissect_sendId_authenticationSetList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2276 return dissect_gsm_map_SendId_authenticationSetList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sendId_authenticationSetList);
2279 static const ber_sequence_t SendIdentificationRes_sequence[] = {
2280 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2281 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sendId_authenticationSetList },
2286 dissect_gsm_map_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2287 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2288 SendIdentificationRes_sequence, hf_index, ett_gsm_map_SendIdentificationRes);
2295 dissect_gsm_map_OCTET_STRING_SIZE_5_7(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,
2301 static int dissect_targetCellId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2302 return dissect_gsm_map_OCTET_STRING_SIZE_5_7(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
2304 static int dissect_targetCellId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2305 return dissect_gsm_map_OCTET_STRING_SIZE_5_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
2308 static const ber_sequence_t PrepareHO_Arg_sequence[] = {
2309 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_targetCellId },
2310 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
2311 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2316 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_) {
2317 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2318 PrepareHO_Arg_sequence, hf_index, ett_gsm_map_PrepareHO_Arg);
2325 dissect_gsm_map_OCTET_STRING_SIZE_7(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2326 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2331 static int dissect_targetRNCId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2332 return dissect_gsm_map_OCTET_STRING_SIZE_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetRNCId);
2334 static int dissect_cellIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2335 return dissect_gsm_map_OCTET_STRING_SIZE_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellIdFixedLength);
2337 static int dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2338 return dissect_gsm_map_OCTET_STRING_SIZE_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength);
2343 dissect_gsm_map_OCTET_STRING_SIZE_18_100(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2344 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2349 static int dissect_integrityProtectionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2350 return dissect_gsm_map_OCTET_STRING_SIZE_18_100(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionInfo);
2352 static int dissect_encryptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2353 return dissect_gsm_map_OCTET_STRING_SIZE_18_100(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionInfo);
2358 dissect_gsm_map_OCTET_STRING_SIZE_3_13(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2359 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2364 static int dissect_radioResourceInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2365 return dissect_gsm_map_OCTET_STRING_SIZE_3_13(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
2367 static int dissect_radioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2368 return dissect_gsm_map_OCTET_STRING_SIZE_3_13(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
2373 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_) {
2374 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2379 static int dissect_allowedGSM_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2380 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedGSM_Algorithms);
2382 static int dissect_bssmap_ServiceHandover(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2383 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
2385 static int dissect_bssmap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2386 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
2388 static int dissect_ranap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2389 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ranap_ServiceHandover);
2391 static int dissect_integrityProtectionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2392 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithm);
2394 static int dissect_encryptionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2395 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithm);
2397 static int dissect_chosenChannelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2398 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannelInfo);
2400 static int dissect_chosenSpeechVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2401 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenSpeechVersion);
2403 static int dissect_category_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2404 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_category);
2406 static int dissect_interCUG_Restrictions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2407 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_interCUG_Restrictions);
2409 static int dissect_lsaAttributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2410 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaAttributes);
2412 static int dissect_ss_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2413 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List_item);
2415 static int dissect_ss_EventList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2416 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventList_item);
2418 static int dissect_alertingPattern(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2419 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
2421 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2422 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
2424 static int dissect_uuIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2425 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uuIndicator);
2427 static int dissect_call_Direction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2428 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_call_Direction);
2430 static int dissect_ussd_DataCodingScheme(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2431 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_DataCodingScheme);
2433 static int dissect_T_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2434 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_CauseValueCriteria_item);
2436 static int dissect_O_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2437 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_CauseValueCriteria_item);
2439 static int dissect_MobilityTriggers_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2440 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MobilityTriggers_item);
2442 static int dissect_ss_Event_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2443 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Event);
2445 static int dissect_cipheringAlgorithm(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2446 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cipheringAlgorithm);
2448 static int dissect_lcs_Priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2449 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Priority);
2451 static int dissect_horizontal_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2452 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_horizontal_accuracy);
2454 static int dissect_vertical_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2455 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vertical_accuracy);
2460 dissect_gsm_map_OCTET_STRING_SIZE_1_9(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2461 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2466 static int dissect_integrityProtectionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2467 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithms);
2469 static int dissect_encryptionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2470 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithms);
2472 static int dissect_qos_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2473 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Requested);
2475 static int dissect_qos_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2476 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Negotiated);
2479 static const ber_sequence_t T_allowedUMTS_Algorithms_sequence[] = {
2480 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithms_impl },
2481 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithms_impl },
2482 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2487 dissect_gsm_map_T_allowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2488 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2489 T_allowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_T_allowedUMTS_Algorithms);
2493 static int dissect_allowedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2494 return dissect_gsm_map_T_allowedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedUMTS_Algorithms);
2500 dissect_gsm_map_INTEGER_1_255(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2501 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2505 static int dissect_rab_Id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2506 return dissect_gsm_map_INTEGER_1_255(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
2508 static int dissect_rab_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2509 return dissect_gsm_map_INTEGER_1_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
2512 static const ber_sequence_t T_radioResourceList_item_sequence[] = {
2513 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_radioResourceInformation },
2514 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
2519 dissect_gsm_map_T_radioResourceList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2520 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2521 T_radioResourceList_item_sequence, hf_index, ett_gsm_map_T_radioResourceList_item);
2525 static int dissect_radioResourceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2526 return dissect_gsm_map_T_radioResourceList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList_item);
2529 static const ber_sequence_t T_radioResourceList_sequence_of[1] = {
2530 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_radioResourceList_item },
2534 dissect_gsm_map_T_radioResourceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2535 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2536 T_radioResourceList_sequence_of, hf_index, ett_gsm_map_T_radioResourceList);
2540 static int dissect_radioResourceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2541 return dissect_gsm_map_T_radioResourceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList);
2544 static const ber_sequence_t T_bssmap_ServiceHandoverList_item_sequence[] = {
2545 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bssmap_ServiceHandover },
2546 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
2551 dissect_gsm_map_T_bssmap_ServiceHandoverList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2552 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2553 T_bssmap_ServiceHandoverList_item_sequence, hf_index, ett_gsm_map_T_bssmap_ServiceHandoverList_item);
2557 static int dissect_bssmap_ServiceHandoverList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2558 return dissect_gsm_map_T_bssmap_ServiceHandoverList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList_item);
2561 static const ber_sequence_t T_bssmap_ServiceHandoverList_sequence_of[1] = {
2562 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bssmap_ServiceHandoverList_item },
2566 dissect_gsm_map_T_bssmap_ServiceHandoverList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2567 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2568 T_bssmap_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_T_bssmap_ServiceHandoverList);
2572 static int dissect_bssmap_ServiceHandoverList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2573 return dissect_gsm_map_T_bssmap_ServiceHandoverList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList);
2578 dissect_gsm_map_OCTET_STRING_SIZE_1_8(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2579 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2584 static int dissect_asciCallReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2585 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
2587 static int dissect_asciCallReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2588 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
2590 static int dissect_callReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2591 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReferenceNumber);
2593 static int dissect_mSNetworkCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2594 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSNetworkCapability);
2599 dissect_gsm_map_OCTET_STRING_SIZE_2_87(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2600 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2605 static int dissect_geran_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2606 return dissect_gsm_map_OCTET_STRING_SIZE_2_87(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geran_classmark);
2611 dissect_gsm_map_OCTET_STRING_SIZE_1_4(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2612 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2617 static int dissect_iuCurrentlyUsedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2618 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuCurrentlyUsedCodec);
2620 static int dissect_codec1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2621 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec1);
2623 static int dissect_codec2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2624 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec2);
2626 static int dissect_codec3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2627 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec3);
2629 static int dissect_codec4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2630 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec4);
2632 static int dissect_codec5_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2633 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec5);
2635 static int dissect_codec6_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2636 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec6);
2638 static int dissect_codec7_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2639 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec7);
2641 static int dissect_codec8_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2642 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec8);
2644 static int dissect_iuSelectedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2645 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuSelectedCodec);
2648 static const ber_sequence_t T_geranCodecList_sequence[] = {
2649 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
2650 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
2651 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
2652 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
2653 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
2654 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
2655 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
2656 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
2657 { BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2662 dissect_gsm_map_T_geranCodecList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2663 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2664 T_geranCodecList_sequence, hf_index, ett_gsm_map_T_geranCodecList);
2668 static int dissect_geranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2669 return dissect_gsm_map_T_geranCodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geranCodecList);
2672 static const ber_sequence_t T_utranCodecList_sequence[] = {
2673 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
2674 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
2675 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
2676 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
2677 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
2678 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
2679 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
2680 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
2681 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2682 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranCodecList_impl },
2687 dissect_gsm_map_T_utranCodecList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2688 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2689 T_utranCodecList_sequence, hf_index, ett_gsm_map_T_utranCodecList);
2693 static int dissect_utranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2694 return dissect_gsm_map_T_utranCodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_utranCodecList);
2697 static const ber_sequence_t T_iuSupportedCodecsList_sequence[] = {
2698 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranCodecList_impl },
2699 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2704 dissect_gsm_map_T_iuSupportedCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2705 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2706 T_iuSupportedCodecsList_sequence, hf_index, ett_gsm_map_T_iuSupportedCodecsList);
2710 static int dissect_iuSupportedCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2711 return dissect_gsm_map_T_iuSupportedCodecsList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuSupportedCodecsList);
2716 dissect_gsm_map_BIT_STRING_SIZE_1_128(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2717 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2723 static int dissect_uesbi_IuA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2724 return dissect_gsm_map_BIT_STRING_SIZE_1_128(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuA);
2726 static int dissect_uesbi_IuB_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2727 return dissect_gsm_map_BIT_STRING_SIZE_1_128(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuB);
2730 static const ber_sequence_t T_uesbi_Iu_sequence[] = {
2731 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuA_impl },
2732 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuB_impl },
2737 dissect_gsm_map_T_uesbi_Iu(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2738 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2739 T_uesbi_Iu_sequence, hf_index, ett_gsm_map_T_uesbi_Iu);
2743 static int dissect_uesbi_Iu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2744 return dissect_gsm_map_T_uesbi_Iu(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_Iu);
2747 static const ber_sequence_t PrepareHandoverV3Arg_sequence[] = {
2748 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetCellId_impl },
2749 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
2750 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetRNCId_impl },
2751 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
2752 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multipleBearerRequested_impl },
2753 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
2754 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionInfo_impl },
2755 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionInfo_impl },
2756 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceInformation_impl },
2757 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedGSM_Algorithms_impl },
2758 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedUMTS_Algorithms_impl },
2759 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceList_impl },
2760 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2761 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_Id_impl },
2762 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandover_impl },
2763 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ranap_ServiceHandover_impl },
2764 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandoverList_impl },
2765 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asciCallReference_impl },
2766 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geran_classmark_impl },
2767 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuCurrentlyUsedCodec_impl },
2768 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuSupportedCodecsList_impl },
2769 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_ConfigurationIndicator_impl },
2770 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_Iu_impl },
2775 dissect_gsm_map_PrepareHandoverV3Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2776 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2777 PrepareHandoverV3Arg_sequence, hf_index, ett_gsm_map_PrepareHandoverV3Arg);
2784 dissect_gsm_map_HandoverNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2785 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2790 static int dissect_handoverNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2791 return dissect_gsm_map_HandoverNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
2793 static int dissect_handoverNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2794 return dissect_gsm_map_HandoverNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
2797 static const ber_sequence_t PrepareHO_Res_sequence[] = {
2798 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
2799 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2804 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_) {
2805 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2806 PrepareHO_Res_sequence, hf_index, ett_gsm_map_PrepareHO_Res);
2811 static const ber_sequence_t T_relocationNumberList_item_sequence[] = {
2812 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
2813 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
2818 dissect_gsm_map_T_relocationNumberList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2819 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2820 T_relocationNumberList_item_sequence, hf_index, ett_gsm_map_T_relocationNumberList_item);
2824 static int dissect_relocationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2825 return dissect_gsm_map_T_relocationNumberList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_relocationNumberList_item);
2828 static const ber_sequence_t T_relocationNumberList_sequence_of[1] = {
2829 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_relocationNumberList_item },
2833 dissect_gsm_map_T_relocationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2834 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2835 T_relocationNumberList_sequence_of, hf_index, ett_gsm_map_T_relocationNumberList);
2839 static int dissect_relocationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2840 return dissect_gsm_map_T_relocationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_relocationNumberList);
2846 dissect_gsm_map_INTEGER_1_7(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2847 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2851 static int dissect_multicallBearerInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2852 return dissect_gsm_map_INTEGER_1_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multicallBearerInfo);
2855 static const ber_sequence_t T_selectedUMTS_Algorithms_sequence[] = {
2856 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithm_impl },
2857 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithm_impl },
2858 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2863 dissect_gsm_map_T_selectedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2864 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2865 T_selectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_T_selectedUMTS_Algorithms);
2869 static int dissect_selectedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2870 return dissect_gsm_map_T_selectedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedUMTS_Algorithms);
2873 static const ber_sequence_t T_chosenRadioResourceInformation_sequence[] = {
2874 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannelInfo_impl },
2875 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenSpeechVersion_impl },
2880 dissect_gsm_map_T_chosenRadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2881 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2882 T_chosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_T_chosenRadioResourceInformation);
2886 static int dissect_chosenRadioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2887 return dissect_gsm_map_T_chosenRadioResourceInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenRadioResourceInformation);
2890 static const ber_sequence_t T_iuAvailableCodecsList_sequence[] = {
2891 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
2892 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
2893 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
2894 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
2895 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
2896 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
2897 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
2898 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
2899 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2904 dissect_gsm_map_T_iuAvailableCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2905 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2906 T_iuAvailableCodecsList_sequence, hf_index, ett_gsm_map_T_iuAvailableCodecsList);
2910 static int dissect_iuAvailableCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2911 return dissect_gsm_map_T_iuAvailableCodecsList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuAvailableCodecsList);
2914 static const ber_sequence_t PrepareHandoverV3Res_sequence[] = {
2915 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_handoverNumber_impl },
2916 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relocationNumberList_impl },
2917 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
2918 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multicallBearerInfo_impl },
2919 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_multipleBearerNotSupported },
2920 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedUMTS_Algorithms_impl },
2921 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenRadioResourceInformation_impl },
2922 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2923 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuSelectedCodec_impl },
2924 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuAvailableCodecsList_impl },
2929 dissect_gsm_map_PrepareHandoverV3Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2930 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2931 PrepareHandoverV3Res_sequence, hf_index, ett_gsm_map_PrepareHandoverV3Res);
2936 static const ber_sequence_t SendEndSignalV9Arg_sequence[] = {
2937 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
2938 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2943 dissect_gsm_map_SendEndSignalV9Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2944 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2945 SendEndSignalV9Arg_sequence, hf_index, ett_gsm_map_SendEndSignalV9Arg);
2952 dissect_gsm_map_T_targetMSC_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2953 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2958 static int dissect_targetMSC_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2959 return dissect_gsm_map_T_targetMSC_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMSC_Number);
2962 static const ber_sequence_t PrepareSubsequentHO_Arg_sequence[] = {
2963 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetCellId },
2964 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetMSC_Number },
2965 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2970 dissect_gsm_map_PrepareSubsequentHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2971 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2972 PrepareSubsequentHO_Arg_sequence, hf_index, ett_gsm_map_PrepareSubsequentHO_Arg);
2979 dissect_gsm_map_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2980 offset = dissect_gsm_map_Imsi(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2988 dissect_gsm_map_INTEGER_1_5(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, NULL);
2993 static int dissect_numberOfRequestedVectors(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2994 return dissect_gsm_map_INTEGER_1_5(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfRequestedVectors);
2996 static int dissect_numberOfForwarding_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2997 return dissect_gsm_map_INTEGER_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfForwarding);
2999 static int dissect_ccbs_Index_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3000 return dissect_gsm_map_INTEGER_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Index);
3005 dissect_gsm_map_OCTET_STRING_SIZE_14(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3006 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3011 static int dissect_auts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3012 return dissect_gsm_map_OCTET_STRING_SIZE_14(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_auts);
3015 static const ber_sequence_t T_re_synchronisationInfo_sequence[] = {
3016 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3017 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_auts },
3022 dissect_gsm_map_T_re_synchronisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3023 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3024 T_re_synchronisationInfo_sequence, hf_index, ett_gsm_map_T_re_synchronisationInfo);
3028 static int dissect_re_synchronisationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3029 return dissect_gsm_map_T_re_synchronisationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_re_synchronisationInfo);
3033 static const value_string gsm_map_T_requestingNodeType_vals[] = {
3041 dissect_gsm_map_T_requestingNodeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3042 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3046 static int dissect_requestingNodeType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3047 return dissect_gsm_map_T_requestingNodeType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingNodeType);
3052 dissect_gsm_map_OCTET_STRING_SIZE_3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3053 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3058 static int dissect_requestingPLMN_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3059 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingPLMN_Id);
3061 static int dissect_groupid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3062 return dissect_gsm_map_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupid);
3064 static int dissect_groupId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3065 return dissect_gsm_map_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupId);
3067 static int dissect_lsaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3068 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentity);
3070 static int dissect_naea_PreferredCIC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3071 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCIC);
3073 static int dissect_lsaIdentityList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3074 return dissect_gsm_map_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentityList_item);
3076 static int dissect_selectedLSA_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3077 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSA_Id);
3079 static int dissect_selectedLSAIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3080 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSAIdentity);
3082 static int dissect_ms_Classmark2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3083 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_Classmark2);
3086 static const ber_sequence_t SendAuthenticationInfoArgV3_sequence[] = {
3087 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
3088 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberOfRequestedVectors },
3089 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_segmentationProhibited },
3090 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_immediateResponsePreferred_impl },
3091 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_re_synchronisationInfo },
3092 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3093 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingNodeType_impl },
3094 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingPLMN_Id_impl },
3099 dissect_gsm_map_SendAuthenticationInfoArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3100 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3101 SendAuthenticationInfoArgV3_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoArgV3);
3106 static const ber_sequence_t SendAuthenticationInfoRes_item_sequence[] = {
3107 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3108 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
3109 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3114 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_) {
3115 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3116 SendAuthenticationInfoRes_item_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoRes_item);
3120 static int dissect_SendAuthenticationInfoRes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3121 return dissect_gsm_map_SendAuthenticationInfoRes_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes_item);
3124 static const ber_sequence_t SendAuthenticationInfoRes_sequence_of[1] = {
3125 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SendAuthenticationInfoRes_item },
3129 dissect_gsm_map_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3130 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3131 SendAuthenticationInfoRes_sequence_of, hf_index, ett_gsm_map_SendAuthenticationInfoRes);
3136 static const ber_sequence_t T_tripletList_item_sequence[] = {
3137 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3138 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
3139 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3144 dissect_gsm_map_T_tripletList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3145 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3146 T_tripletList_item_sequence, hf_index, ett_gsm_map_T_tripletList_item);
3150 static int dissect_tripletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3151 return dissect_gsm_map_T_tripletList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_tripletList_item);
3154 static const ber_sequence_t T_tripletList_sequence_of[1] = {
3155 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_tripletList_item },
3159 dissect_gsm_map_T_tripletList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3160 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3161 T_tripletList_sequence_of, hf_index, ett_gsm_map_T_tripletList);
3165 static int dissect_tripletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3166 return dissect_gsm_map_T_tripletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tripletList);
3171 dissect_gsm_map_OCTET_STRING_SIZE_4_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3172 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3177 static int dissect_xres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3178 return dissect_gsm_map_OCTET_STRING_SIZE_4_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_xres);
3181 static const ber_sequence_t T_quintupletList_item_sequence[] = {
3182 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3183 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_xres },
3184 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ck },
3185 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ik },
3186 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_autn },
3191 dissect_gsm_map_T_quintupletList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3192 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3193 T_quintupletList_item_sequence, hf_index, ett_gsm_map_T_quintupletList_item);
3197 static int dissect_quintupletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3198 return dissect_gsm_map_T_quintupletList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_quintupletList_item);
3201 static const ber_sequence_t T_quintupletList_sequence_of[1] = {
3202 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_quintupletList_item },
3206 dissect_gsm_map_T_quintupletList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3207 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3208 T_quintupletList_sequence_of, hf_index, ett_gsm_map_T_quintupletList);
3212 static int dissect_quintupletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3213 return dissect_gsm_map_T_quintupletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_quintupletList);
3217 static const value_string gsm_map_T_authenticationSetList_vals[] = {
3218 { 0, "tripletList" },
3219 { 1, "quintupletList" },
3223 static const ber_choice_t T_authenticationSetList_choice[] = {
3224 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_tripletList_impl },
3225 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_quintupletList_impl },
3226 { 0, 0, 0, 0, NULL }
3230 dissect_gsm_map_T_authenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3231 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3232 T_authenticationSetList_choice, hf_index, ett_gsm_map_T_authenticationSetList);
3236 static int dissect_authenticationSetList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3237 return dissect_gsm_map_T_authenticationSetList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_authenticationSetList);
3240 static const ber_sequence_t SendAuthenticationInfoV3Res_sequence[] = {
3241 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_authenticationSetList },
3242 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3247 dissect_gsm_map_SendAuthenticationInfoV3Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3248 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3249 SendAuthenticationInfoV3Res_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoV3Res);
3256 dissect_gsm_map_Imei(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3257 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3262 static int dissect_imei(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3263 return dissect_gsm_map_Imei(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
3265 static int dissect_imei_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3266 return dissect_gsm_map_Imei(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
3271 dissect_gsm_map_CheckIMEIArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3272 offset = dissect_gsm_map_Imei(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3277 static const asn_namedbit T_requestedEquipmentInfo_bits[] = {
3278 { 0, &hf_gsm_map_T_requestedEquipmentInfo_equipmentStatus, -1, -1, NULL, NULL },
3279 { 1, &hf_gsm_map_T_requestedEquipmentInfo_bmuef, -1, -1, NULL, NULL },
3280 { 0, NULL, 0, 0, NULL, NULL }
3284 dissect_gsm_map_T_requestedEquipmentInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3285 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3286 T_requestedEquipmentInfo_bits, hf_index, ett_gsm_map_T_requestedEquipmentInfo,
3291 static int dissect_requestedEquipmentInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3292 return dissect_gsm_map_T_requestedEquipmentInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_requestedEquipmentInfo);
3295 static const ber_sequence_t CheckIMEIv2Arg_sequence[] = {
3296 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imei },
3297 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_requestedEquipmentInfo },
3298 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3303 dissect_gsm_map_CheckIMEIv2Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3304 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3305 CheckIMEIv2Arg_sequence, hf_index, ett_gsm_map_CheckIMEIv2Arg);
3311 static const value_string gsm_map_EquipmentStatus_vals[] = {
3312 { 0, "whiteListed" },
3313 { 1, "blackListed" },
3314 { 2, "greyListed" },
3320 dissect_gsm_map_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3321 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3325 static int dissect_equipmentStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3326 return dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_equipmentStatus);
3329 static const ber_sequence_t T_bmuef_sequence[] = {
3330 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuA_impl },
3331 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuB_impl },
3336 dissect_gsm_map_T_bmuef(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3337 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3338 T_bmuef_sequence, hf_index, ett_gsm_map_T_bmuef);
3342 static int dissect_bmuef(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3343 return dissect_gsm_map_T_bmuef(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bmuef);
3346 static const ber_sequence_t ChekIMEIv3Res_sequence[] = {
3347 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_equipmentStatus },
3348 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bmuef },
3349 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3354 dissect_gsm_map_ChekIMEIv3Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3355 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3356 ChekIMEIv3Res_sequence, hf_index, ett_gsm_map_ChekIMEIv3Res);
3362 static const value_string gsm_map_OverrideCategory_vals[] = {
3363 { 0, "overrideEnabled" },
3364 { 1, "overrideDisabled" },
3370 dissect_gsm_map_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3371 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3375 static int dissect_overrideCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3376 return dissect_gsm_map_OverrideCategory(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_overrideCategory);
3381 dissect_gsm_map_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3382 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3387 static int dissect_bearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3388 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerService);
3390 static int dissect_dataCodingScheme_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3391 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dataCodingScheme);
3393 static int dissect_nameString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3394 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nameString);
3396 static int dissect_lcsClientDialedByMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3397 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientDialedByMS);
3401 static const value_string gsm_map_BasicService_vals[] = {
3402 { 2, "bearerService" },
3403 { 3, "teleservice" },
3407 static const ber_choice_t BasicService_choice[] = {
3408 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_bearerService_impl },
3409 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_teleservice_impl },
3410 { 0, 0, 0, 0, NULL }
3414 dissect_gsm_map_BasicService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3415 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3416 BasicService_choice, hf_index, ett_gsm_map_BasicService);
3420 static int dissect_BasicServiceGroupList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3421 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceGroupList_item);
3423 static int dissect_basicService(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3424 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService);
3426 static int dissect_basicServiceGroup(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3427 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroup);
3430 static const ber_sequence_t BasicServiceGroupList_sequence_of[1] = {
3431 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceGroupList_item },
3435 dissect_gsm_map_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3436 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3437 BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_BasicServiceGroupList);
3441 static int dissect_basicServiceGroupList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3442 return dissect_gsm_map_BasicServiceGroupList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroupList);
3444 static int dissect_basicServiceGroupList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3445 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroupList);
3447 static int dissect_basicServiceCriteria_lst_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3448 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceCriteria_lst);
3450 static int dissect_basicServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3451 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceList);
3455 static const value_string gsm_map_IntraCUG_Options_vals[] = {
3456 { 0, "noCUG-Restrictions" },
3457 { 1, "cugIC-CallBarred" },
3458 { 2, "cugOG-CallBarred" },
3464 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_) {
3465 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3469 static int dissect_intraCUG_Options(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3470 return dissect_gsm_map_IntraCUG_Options(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_intraCUG_Options);
3473 static const asn_namedbit Odb_GeneralData_bits[] = {
3474 { 0, &hf_gsm_map_Odb_GeneralData_allOGCallsBarred, -1, -1, NULL, NULL },
3475 { 1, &hf_gsm_map_Odb_GeneralData_internationalOGCallsBarred, -1, -1, NULL, NULL },
3476 { 2, &hf_gsm_map_Odb_GeneralData_internationalOGCallsNotToHPLMNCountryBarred, -1, -1, NULL, NULL },
3477 { 3, &hf_gsm_map_Odb_GeneralData_premiumRateInformationOGCallsBarred, -1, -1, NULL, NULL },
3478 { 4, &hf_gsm_map_Odb_GeneralData_premiumRateEntertainementOGCallsBarred, -1, -1, NULL, NULL },
3479 { 5, &hf_gsm_map_Odb_GeneralData_ssAccessBarred, -1, -1, NULL, NULL },
3480 { 6, &hf_gsm_map_Odb_GeneralData_interzonalOGCallsBarred, -1, -1, NULL, NULL },
3481 { 7, &hf_gsm_map_Odb_GeneralData_interzonalOGCallsNotToHPLMNCountryBarred, -1, -1, NULL, NULL },
3482 { 8, &hf_gsm_map_Odb_GeneralData_interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred, -1, -1, NULL, NULL },
3483 { 9, &hf_gsm_map_Odb_GeneralData_allECTBarred, -1, -1, NULL, NULL },
3484 { 10, &hf_gsm_map_Odb_GeneralData_chargeableECTBarred, -1, -1, NULL, NULL },
3485 { 11, &hf_gsm_map_Odb_GeneralData_internationalECTBarred, -1, -1, NULL, NULL },
3486 { 12, &hf_gsm_map_Odb_GeneralData_interzonalECTBarred, -1, -1, NULL, NULL },
3487 { 13, &hf_gsm_map_Odb_GeneralData_doublyChargeableECTBarred, -1, -1, NULL, NULL },
3488 { 14, &hf_gsm_map_Odb_GeneralData_multipleECTBarred, -1, -1, NULL, NULL },
3489 { 15, &hf_gsm_map_Odb_GeneralData_allPacketOrientedServicesBarred, -1, -1, NULL, NULL },
3490 { 16, &hf_gsm_map_Odb_GeneralData_roamerAccessToHPLMN_AP_Barred, -1, -1, NULL, NULL },
3491 { 17, &hf_gsm_map_Odb_GeneralData_roamerAccessToVPLMN_AP_Barred, -1, -1, NULL, NULL },
3492 { 18, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNOG_CallsBarred, -1, -1, NULL, NULL },
3493 { 19, &hf_gsm_map_Odb_GeneralData_allIC_CallsBarred, -1, -1, NULL, NULL },
3494 { 20, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNIC_CallsBarred, -1, -1, NULL, NULL },
3495 { 21, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, -1, -1, NULL, NULL },
3496 { 22, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_Barred, -1, -1, NULL, NULL },
3497 { 23, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_CountryBarred, -1, -1, NULL, NULL },
3498 { 24, &hf_gsm_map_Odb_GeneralData_registrationAllCF_Barred, -1, -1, NULL, NULL },
3499 { 25, &hf_gsm_map_Odb_GeneralData_registrationCFNotToHPLMN_Barred, -1, -1, NULL, NULL },
3500 { 26, &hf_gsm_map_Odb_GeneralData_registrationInterzonalCF_Barred, -1, -1, NULL, NULL },
3501 { 27, &hf_gsm_map_Odb_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, -1, -1, NULL, NULL },
3502 { 28, &hf_gsm_map_Odb_GeneralData_registrationInternationalCF_Barred, -1, -1, NULL, NULL },
3503 { 0, NULL, 0, 0, NULL, NULL }
3507 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_) {
3508 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3509 Odb_GeneralData_bits, hf_index, ett_gsm_map_Odb_GeneralData,
3514 static int dissect_odb_GeneralData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3515 return dissect_gsm_map_Odb_GeneralData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
3517 static int dissect_odb_GeneralData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3518 return dissect_gsm_map_Odb_GeneralData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
3521 static const asn_namedbit Odb_HPLMN_Data_bits[] = {
3522 { 0, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType1, -1, -1, NULL, NULL },
3523 { 1, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType2, -1, -1, NULL, NULL },
3524 { 2, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType3, -1, -1, NULL, NULL },
3525 { 3, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType4, -1, -1, NULL, NULL },
3526 { 0, NULL, 0, 0, NULL, NULL }
3530 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_) {
3531 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3532 Odb_HPLMN_Data_bits, hf_index, ett_gsm_map_Odb_HPLMN_Data,
3537 static int dissect_odb_HPLMN_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3538 return dissect_gsm_map_Odb_HPLMN_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_HPLMN_Data);
3542 static const value_string gsm_map_SubscriberStatus_vals[] = {
3543 { 0, "serviceGranted" },
3544 { 1, "operatorDeterminedBarring" },
3550 dissect_gsm_map_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3551 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3555 static int dissect_subscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3556 return dissect_gsm_map_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberStatus);
3560 static const value_string gsm_map_BcsmTriggerDetectionPoint_vals[] = {
3561 { 2, "collectedInfo" },
3562 { 4, "routeSelectFailure" },
3563 { 12, "termAttemptAuthorized" },
3565 { 14, "tNoAnswer" },
3571 dissect_gsm_map_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3572 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3576 static int dissect_bcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3577 return dissect_gsm_map_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bcsmTriggerDetectionPoint);
3579 static int dissect_o_BcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3580 return dissect_gsm_map_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmTriggerDetectionPoint);
3586 dissect_gsm_map_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3587 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3591 static int dissect_serviceKey(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3592 return dissect_gsm_map_ServiceKey(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
3594 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3595 return dissect_gsm_map_ServiceKey(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
3600 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_) {
3601 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3606 static int dissect_gsmSCFAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3607 return dissect_gsm_map_GsmSCF_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCFAddress);
3609 static int dissect_gsmSCF_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3610 return dissect_gsm_map_GsmSCF_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
3612 static int dissect_gsmSCF_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3613 return dissect_gsm_map_GsmSCF_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
3617 static const value_string gsm_map_DefaultCallHandling_vals[] = {
3618 { 0, "continueCall" },
3619 { 1, "releaseCall" },
3625 dissect_gsm_map_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3626 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3630 static int dissect_defaultCallHandling(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3631 return dissect_gsm_map_DefaultCallHandling(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
3633 static int dissect_defaultCallHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3634 return dissect_gsm_map_DefaultCallHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
3637 static const ber_sequence_t BcsmCamelTDPData_sequence[] = {
3638 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_bcsmTriggerDetectionPoint },
3639 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
3640 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCFAddress_impl },
3641 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
3642 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3647 dissect_gsm_map_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3648 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3649 BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_BcsmCamelTDPData);
3653 static int dissect_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3654 return dissect_gsm_map_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BcsmCamelTDPDataList_item);
3657 static const ber_sequence_t BcsmCamelTDPDataList_sequence_of[1] = {
3658 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BcsmCamelTDPDataList_item },
3662 dissect_gsm_map_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3663 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3664 BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_BcsmCamelTDPDataList);
3668 static int dissect_o_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3669 return dissect_gsm_map_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDPDataList);
3671 static int dissect_t_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3672 return dissect_gsm_map_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BcsmCamelTDPDataList);
3678 dissect_gsm_map_INTEGER_1_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3679 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3683 static int dissect_camelCapabilityHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3684 return dissect_gsm_map_INTEGER_1_16(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelCapabilityHandling);
3687 static const ber_sequence_t O_CSI_sequence[] = {
3688 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDPDataList },
3689 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3690 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
3695 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_) {
3696 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3697 O_CSI_sequence, hf_index, ett_gsm_map_O_CSI);
3701 static int dissect_o_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3702 return dissect_gsm_map_O_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CSI);
3707 dissect_gsm_map_Msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3709 tvbuff_t *parameter_tvb;
3712 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3718 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
3719 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
3720 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
3722 digit_str = unpack_digits(parameter_tvb, 1);
3724 proto_tree_add_string(tree, hf_gsm_map_misdn_digits, parameter_tvb, 1, -1, digit_str);
3731 static int dissect_msisdn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3732 return dissect_gsm_map_Msisdn(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
3734 static int dissect_msisdn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3735 return dissect_gsm_map_Msisdn(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
3740 dissect_gsm_map_OCTET_STRING_SIZE_1_5(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3741 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3746 static int dissect_bearerServiceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3747 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bearerServiceList_item);
3749 static int dissect_routeingNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3750 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routeingNumber);
3752 static int dissect_ext_BearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3753 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_BearerService);
3755 static int dissect_ext_Teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3756 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_Teleservice);
3759 static const ber_sequence_t bearerServiceList_sequence_of[1] = {
3760 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bearerServiceList_item },
3764 dissect_gsm_map_bearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3765 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3766 bearerServiceList_sequence_of, hf_index, ett_gsm_map_bearerServiceList);
3770 static int dissect_bearerServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3771 return dissect_gsm_map_bearerServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerServiceList);
3774 static const ber_sequence_t SEQUENCE_SIZE_1_20_OF_Teleservice_sequence_of[1] = {
3775 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_teleserviceList_item },
3779 dissect_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3780 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3781 SEQUENCE_SIZE_1_20_OF_Teleservice_sequence_of, hf_index, ett_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice);
3785 static int dissect_teleserviceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3786 return dissect_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleserviceList);
3791 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_) {
3792 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3797 static int dissect_ss_Code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3798 return dissect_gsm_map_Ss_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
3800 static int dissect_ss_Code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3801 return dissect_gsm_map_Ss_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
3806 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_) {
3808 tvbuff_t *parameter_tvb;
3811 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3816 octet = tvb_get_guint8(parameter_tvb,0);
3818 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
3819 if ((octet & 0x01)== 1)
3820 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
3822 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
3823 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
3824 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
3830 static int dissect_ss_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3831 return dissect_gsm_map_Ss_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
3833 static int dissect_ss_Status_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3834 return dissect_gsm_map_Ss_Status(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
3839 dissect_gsm_map_ForwardedToNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3841 tvbuff_t *parameter_tvb;
3844 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3850 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
3851 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
3852 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
3854 digit_str = unpack_digits(parameter_tvb, 1);
3856 proto_tree_add_string(tree, hf_gsm_map_map_ForwardedToNumber_digits, parameter_tvb, 1, -1, digit_str);
3863 static int dissect_forwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3864 return dissect_gsm_map_ForwardedToNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToNumber);
3869 dissect_gsm_map_ForwardedToSubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3870 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3875 static int dissect_forwardedToSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3876 return dissect_gsm_map_ForwardedToSubaddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToSubaddress);
3881 dissect_gsm_map_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3882 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3887 static int dissect_forwardingOptions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3888 return dissect_gsm_map_ForwardingOptions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingOptions);
3894 dissect_gsm_map_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3895 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3899 static int dissect_noReplyConditionTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3900 return dissect_gsm_map_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noReplyConditionTime);
3905 dissect_gsm_map_LongForwardedToNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3906 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3911 static int dissect_longForwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3912 return dissect_gsm_map_LongForwardedToNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longForwardedToNumber);
3915 static const ber_sequence_t ForwardingFeatureList_sequence[] = {
3916 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
3917 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
3918 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
3919 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
3920 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
3921 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
3922 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3923 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
3928 dissect_gsm_map_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3929 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3930 ForwardingFeatureList_sequence, hf_index, ett_gsm_map_ForwardingFeatureList);
3934 static int dissect_forwardingFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3935 return dissect_gsm_map_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList_item);
3937 static int dissect_forwardingFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3938 return dissect_gsm_map_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList);
3941 static const ber_sequence_t SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList_sequence_of[1] = {
3942 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList_item },
3946 dissect_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3947 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3948 SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList);
3952 static int dissect_forwardingFeatureList_1_32(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3953 return dissect_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList_1_32);
3956 static const ber_sequence_t ForwardingInfo_sequence[] = {
3957 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
3958 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList_1_32 },
3959 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3964 dissect_gsm_map_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3965 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3966 ForwardingInfo_sequence, hf_index, ett_gsm_map_ForwardingInfo);
3970 static int dissect_forwardingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3971 return dissect_gsm_map_ForwardingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInfo);
3974 static const ber_sequence_t CallBarringFeatureList_item_sequence[] = {
3975 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
3976 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
3977 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3982 dissect_gsm_map_CallBarringFeatureList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3983 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3984 CallBarringFeatureList_item_sequence, hf_index, ett_gsm_map_CallBarringFeatureList_item);
3988 static int dissect_CallBarringFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3989 return dissect_gsm_map_CallBarringFeatureList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CallBarringFeatureList_item);
3992 static const ber_sequence_t CallBarringFeatureList_sequence_of[1] = {
3993 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallBarringFeatureList_item },
3997 dissect_gsm_map_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3998 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3999 CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_CallBarringFeatureList);
4003 static int dissect_callBarringFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4004 return dissect_gsm_map_CallBarringFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringFeatureList);
4007 static const ber_sequence_t CallBarringInfo_sequence[] = {
4008 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4009 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_callBarringFeatureList },
4010 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4015 dissect_gsm_map_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4016 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4017 CallBarringInfo_sequence, hf_index, ett_gsm_map_CallBarringInfo);
4021 static int dissect_callBarringInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4022 return dissect_gsm_map_CallBarringInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringInfo);
4028 dissect_gsm_map_INTEGER_0_32767(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4029 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4033 static int dissect_cug_Index(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4034 return dissect_gsm_map_INTEGER_0_32767(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Index);
4036 static int dissect_preferentialCUG_Indicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4037 return dissect_gsm_map_INTEGER_0_32767(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_preferentialCUG_Indicator);
4039 static int dissect_ageOfLocationInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4040 return dissect_gsm_map_INTEGER_0_32767(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationInformation);
4042 static int dissect_ageOfLocationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4043 return dissect_gsm_map_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationInformation);
4045 static int dissect_ageOfLocationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4046 return dissect_gsm_map_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationEstimate);
4049 static const ber_sequence_t T_cug_SubscriptionList_item_sequence[] = {
4050 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cug_Index },
4051 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
4052 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_intraCUG_Options },
4053 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
4054 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4059 dissect_gsm_map_T_cug_SubscriptionList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4060 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4061 T_cug_SubscriptionList_item_sequence, hf_index, ett_gsm_map_T_cug_SubscriptionList_item);
4065 static int dissect_cug_SubscriptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4066 return dissect_gsm_map_T_cug_SubscriptionList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_SubscriptionList_item);
4069 static const ber_sequence_t T_cug_SubscriptionList_sequence_of[1] = {
4070 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_SubscriptionList_item },
4074 dissect_gsm_map_T_cug_SubscriptionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4075 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4076 T_cug_SubscriptionList_sequence_of, hf_index, ett_gsm_map_T_cug_SubscriptionList);
4080 static int dissect_cug_SubscriptionList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4081 return dissect_gsm_map_T_cug_SubscriptionList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_SubscriptionList);
4084 static const ber_sequence_t T_cug_FeatureList_item_sequence[] = {
4085 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
4086 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_preferentialCUG_Indicator },
4087 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_interCUG_Restrictions },
4088 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4093 dissect_gsm_map_T_cug_FeatureList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4094 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4095 T_cug_FeatureList_item_sequence, hf_index, ett_gsm_map_T_cug_FeatureList_item);
4099 static int dissect_cug_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4100 return dissect_gsm_map_T_cug_FeatureList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_FeatureList_item);
4103 static const ber_sequence_t T_cug_FeatureList_sequence_of[1] = {
4104 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_FeatureList_item },
4108 dissect_gsm_map_T_cug_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4109 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4110 T_cug_FeatureList_sequence_of, hf_index, ett_gsm_map_T_cug_FeatureList);
4114 static int dissect_cug_FeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4115 return dissect_gsm_map_T_cug_FeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_FeatureList);
4118 static const ber_sequence_t T_cug_Info_sequence[] = {
4119 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_SubscriptionList },
4120 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_FeatureList },
4121 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4126 dissect_gsm_map_T_cug_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4127 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4128 T_cug_Info_sequence, hf_index, ett_gsm_map_T_cug_Info);
4132 static int dissect_cug_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4133 return dissect_gsm_map_T_cug_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Info);
4137 static const value_string gsm_map_CliRestrictionOption_vals[] = {
4139 { 1, "temporaryDefaultRestricted" },
4140 { 2, "temporaryDefaultAllowed" },
4146 dissect_gsm_map_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4147 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4151 static int dissect_cliRestrictionOption_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4152 return dissect_gsm_map_CliRestrictionOption(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cliRestrictionOption);
4156 static const value_string gsm_map_Ss_SubscriptionOption_vals[] = {
4157 { 2, "cliRestrictionOption" },
4158 { 1, "overrideCategory" },
4162 static const ber_choice_t Ss_SubscriptionOption_choice[] = {
4163 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cliRestrictionOption_impl },
4164 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_overrideCategory_impl },
4165 { 0, 0, 0, 0, NULL }
4169 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_) {
4170 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4171 Ss_SubscriptionOption_choice, hf_index, ett_gsm_map_Ss_SubscriptionOption);
4175 static int dissect_ss_SubscriptionOption(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4176 return dissect_gsm_map_Ss_SubscriptionOption(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_SubscriptionOption);
4182 dissect_gsm_map_INTEGER_0_15(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4183 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4187 static int dissect_maximumentitledPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4188 return dissect_gsm_map_INTEGER_0_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_maximumentitledPriority);
4190 static int dissect_defaultPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4191 return dissect_gsm_map_INTEGER_0_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
4193 static int dissect_defaultPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4194 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
4196 static int dissect_nsapi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4197 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nsapi);
4199 static int dissect_maximumEntitledPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4200 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_maximumEntitledPriority);
4202 static int dissect_groupKeyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4203 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKeyNumber);
4205 static int dissect_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4206 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_priority);
4209 static const ber_sequence_t Ss_Data_sequence[] = {
4210 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4211 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
4212 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_SubscriptionOption },
4213 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
4214 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
4215 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4220 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_) {
4221 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4222 Ss_Data_sequence, hf_index, ett_gsm_map_Ss_Data);
4226 static int dissect_ss_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4227 return dissect_gsm_map_Ss_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Data);
4230 static const ber_sequence_t T_emlpp_Info_sequence[] = {
4231 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_maximumentitledPriority },
4232 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
4233 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4238 dissect_gsm_map_T_emlpp_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4239 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4240 T_emlpp_Info_sequence, hf_index, ett_gsm_map_T_emlpp_Info);
4244 static int dissect_emlpp_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4245 return dissect_gsm_map_T_emlpp_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_emlpp_Info);
4249 static const value_string gsm_map_T_provisionedSS_item_vals[] = {
4250 { 0, "forwardingInfo" },
4251 { 1, "callBarringInfo" },
4254 { 4, "emlpp-Info" },
4258 static const ber_choice_t T_provisionedSS_item_choice[] = {
4259 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfo_impl },
4260 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfo_impl },
4261 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cug_Info_impl },
4262 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ss_Data_impl },
4263 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_emlpp_Info_impl },
4264 { 0, 0, 0, 0, NULL }
4268 dissect_gsm_map_T_provisionedSS_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4269 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4270 T_provisionedSS_item_choice, hf_index, ett_gsm_map_T_provisionedSS_item);
4274 static int dissect_provisionedSS_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4275 return dissect_gsm_map_T_provisionedSS_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_provisionedSS_item);
4278 static const ber_sequence_t T_provisionedSS_sequence_of[1] = {
4279 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_provisionedSS_item },
4283 dissect_gsm_map_T_provisionedSS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4284 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4285 T_provisionedSS_sequence_of, hf_index, ett_gsm_map_T_provisionedSS);
4289 static int dissect_provisionedSS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4290 return dissect_gsm_map_T_provisionedSS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_provisionedSS);
4293 static const ber_sequence_t Odb_data_sequence[] = {
4294 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_odb_GeneralData },
4295 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_odb_HPLMN_Data },
4296 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4301 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_) {
4302 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4303 Odb_data_sequence, hf_index, ett_gsm_map_Odb_data);
4307 static int dissect_odb_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4308 return dissect_gsm_map_Odb_data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
4310 static int dissect_odb_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4311 return dissect_gsm_map_Odb_data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
4313 static int dissect_odb_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4314 return dissect_gsm_map_Odb_data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_data);
4319 dissect_gsm_map_OCTET_STRING_SIZE_2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4320 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4325 static int dissect_regionalSubscriptionData_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4326 return dissect_gsm_map_OCTET_STRING_SIZE_2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionData_item);
4328 static int dissect_pdp_Type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4329 return dissect_gsm_map_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Type);
4331 static int dissect_regionalSubscriptionIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4332 return dissect_gsm_map_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionIdentifier);
4334 static int dissect_chargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4335 return dissect_gsm_map_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingCharacteristics);
4338 static const ber_sequence_t T_regionalSubscriptionData_sequence_of[1] = {
4339 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_regionalSubscriptionData_item },
4343 dissect_gsm_map_T_regionalSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4344 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4345 T_regionalSubscriptionData_sequence_of, hf_index, ett_gsm_map_T_regionalSubscriptionData);
4349 static int dissect_regionalSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4350 return dissect_gsm_map_T_regionalSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionData);
4353 static const ber_sequence_t T_vbsSubscriptionData_item_sequence[] = {
4354 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupid },
4355 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_broadcastInitEntitlement },
4356 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4361 dissect_gsm_map_T_vbsSubscriptionData_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4362 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4363 T_vbsSubscriptionData_item_sequence, hf_index, ett_gsm_map_T_vbsSubscriptionData_item);
4367 static int dissect_vbsSubscriptionData_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4368 return dissect_gsm_map_T_vbsSubscriptionData_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vbsSubscriptionData_item);
4371 static const ber_sequence_t T_vbsSubscriptionData_sequence_of[1] = {
4372 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vbsSubscriptionData_item },
4376 dissect_gsm_map_T_vbsSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4377 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4378 T_vbsSubscriptionData_sequence_of, hf_index, ett_gsm_map_T_vbsSubscriptionData);
4382 static int dissect_vbsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4383 return dissect_gsm_map_T_vbsSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsSubscriptionData);
4386 static const ber_sequence_t T_vgcsSubscriptionData_item_sequence[] = {
4387 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupId },
4388 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4393 dissect_gsm_map_T_vgcsSubscriptionData_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4394 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4395 T_vgcsSubscriptionData_item_sequence, hf_index, ett_gsm_map_T_vgcsSubscriptionData_item);
4399 static int dissect_vgcsSubscriptionData_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4400 return dissect_gsm_map_T_vgcsSubscriptionData_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsSubscriptionData_item);
4403 static const ber_sequence_t T_vgcsSubscriptionData_sequence_of[1] = {
4404 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vgcsSubscriptionData_item },
4408 dissect_gsm_map_T_vgcsSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4409 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4410 T_vgcsSubscriptionData_sequence_of, hf_index, ett_gsm_map_T_vgcsSubscriptionData);
4414 static int dissect_vgcsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4415 return dissect_gsm_map_T_vgcsSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsSubscriptionData);
4418 static const ber_sequence_t T_ss_EventList_sequence_of[1] = {
4419 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_EventList_item },
4423 dissect_gsm_map_T_ss_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4424 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4425 T_ss_EventList_sequence_of, hf_index, ett_gsm_map_T_ss_EventList);
4429 static int dissect_ss_EventList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4430 return dissect_gsm_map_T_ss_EventList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventList);
4433 static const ber_sequence_t Ss_CamelData_sequence[] = {
4434 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_EventList },
4435 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
4436 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4441 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_) {
4442 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4443 Ss_CamelData_sequence, hf_index, ett_gsm_map_Ss_CamelData);
4447 static int dissect_ss_CamelData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4448 return dissect_gsm_map_Ss_CamelData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CamelData);
4451 static const ber_sequence_t ss_CSI_sequence[] = {
4452 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_CamelData },
4453 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4458 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_) {
4459 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4460 ss_CSI_sequence, hf_index, ett_gsm_map_ss_CSI);
4464 static int dissect_ss_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4465 return dissect_gsm_map_ss_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CSI);
4469 static const value_string gsm_map_MatchType_vals[] = {
4470 { 0, "inhibiting" },
4477 dissect_gsm_map_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4478 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4482 static int dissect_matchType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4483 return dissect_gsm_map_MatchType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_matchType);
4488 dissect_gsm_map_T_destinationNumberList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4489 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4494 static int dissect_destinationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4495 return dissect_gsm_map_T_destinationNumberList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberList_item);
4498 static const ber_sequence_t T_destinationNumberList_sequence_of[1] = {
4499 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_destinationNumberList_item },
4503 dissect_gsm_map_T_destinationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4504 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4505 T_destinationNumberList_sequence_of, hf_index, ett_gsm_map_T_destinationNumberList);
4509 static int dissect_destinationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4510 return dissect_gsm_map_T_destinationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberList);
4516 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_) {
4517 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4521 static int dissect_destinationNumberLengthList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4522 return dissect_gsm_map_INTEGER_1_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberLengthList_item);
4525 static const ber_sequence_t T_destinationNumberLengthList_sequence_of[1] = {
4526 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_destinationNumberLengthList_item },
4530 dissect_gsm_map_T_destinationNumberLengthList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4531 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4532 T_destinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_T_destinationNumberLengthList);
4536 static int dissect_destinationNumberLengthList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4537 return dissect_gsm_map_T_destinationNumberLengthList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberLengthList);
4540 static const ber_sequence_t DestinationNumberCriteria_sequence[] = {
4541 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_matchType_impl },
4542 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberList_impl },
4543 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberLengthList_impl },
4548 dissect_gsm_map_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4549 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4550 DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_DestinationNumberCriteria);
4554 static int dissect_destinationNumberCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4555 return dissect_gsm_map_DestinationNumberCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberCriteria);
4559 static const value_string gsm_map_CallTypeCriteria_vals[] = {
4561 { 1, "notForwarded" },
4567 dissect_gsm_map_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4568 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4572 static int dissect_callTypeCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4573 return dissect_gsm_map_CallTypeCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callTypeCriteria);
4576 static const ber_sequence_t O_BcsmCamelTDP_CriteriaList_item_sequence[] = {
4577 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
4578 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
4579 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_lst_impl },
4580 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
4585 dissect_gsm_map_O_BcsmCamelTDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4586 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4587 O_BcsmCamelTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_O_BcsmCamelTDP_CriteriaList_item);
4591 static int dissect_O_BcsmCamelTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4592 return dissect_gsm_map_O_BcsmCamelTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_BcsmCamelTDP_CriteriaList_item);
4595 static const ber_sequence_t O_BcsmCamelTDP_CriteriaList_sequence_of[1] = {
4596 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_O_BcsmCamelTDP_CriteriaList_item },
4600 dissect_gsm_map_O_BcsmCamelTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4601 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4602 O_BcsmCamelTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_O_BcsmCamelTDP_CriteriaList);
4606 static int dissect_o_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4607 return dissect_gsm_map_O_BcsmCamelTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDP_CriteriaList);
4610 static const ber_sequence_t T_vlrCamelSubscriptionInfo_sequence[] = {
4611 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
4612 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4613 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
4614 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
4615 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
4620 dissect_gsm_map_T_vlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4621 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4622 T_vlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_T_vlrCamelSubscriptionInfo);
4626 static int dissect_vlrCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4627 return dissect_gsm_map_T_vlrCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlrCamelSubscriptionInfo);
4630 static const ber_sequence_t Naea_PreferredCI_sequence[] = {
4631 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_naea_PreferredCIC_impl },
4632 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4637 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_) {
4638 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4639 Naea_PreferredCI_sequence, hf_index, ett_gsm_map_Naea_PreferredCI);
4643 static int dissect_naea_PreferredCI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4644 return dissect_gsm_map_Naea_PreferredCI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCI);
4650 dissect_gsm_map_INTEGER_1_50(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4651 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4655 static int dissect_pdp_ContextId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4656 return dissect_gsm_map_INTEGER_1_50(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextId);
4658 static int dissect_contextIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4659 return dissect_gsm_map_INTEGER_1_50(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_contextIdList_item);
4661 static int dissect_pdp_ContextIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4662 return dissect_gsm_map_INTEGER_1_50(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextIdentifier);
4667 dissect_gsm_map_OCTET_STRING_SIZE_1_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4668 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4673 static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4674 return dissect_gsm_map_OCTET_STRING_SIZE_1_16(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Address);
4679 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_) {
4680 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4685 static int dissect_qos_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4686 return dissect_gsm_map_Qos_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Subscribed);
4691 dissect_gsm_map_OCTET_STRING_SIZE_2_63(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4692 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4697 static int dissect_apn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4698 return dissect_gsm_map_OCTET_STRING_SIZE_2_63(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn);
4700 static int dissect_apn_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4701 return dissect_gsm_map_OCTET_STRING_SIZE_2_63(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_Subscribed);
4703 static int dissect_apn_InUse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4704 return dissect_gsm_map_OCTET_STRING_SIZE_2_63(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_InUse);
4707 static const ber_sequence_t T_gprsDataList_item_sequence[] = {
4708 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pdp_ContextId },
4709 { BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
4710 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
4711 { BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
4712 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vplmnAddressAllowed_impl },
4713 { BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_apn_impl },
4714 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4719 dissect_gsm_map_T_gprsDataList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4720 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4721 T_gprsDataList_item_sequence, hf_index, ett_gsm_map_T_gprsDataList_item);
4725 static int dissect_gprsDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4726 return dissect_gsm_map_T_gprsDataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsDataList_item);
4729 static const ber_sequence_t T_gprsDataList_sequence_of[1] = {
4730 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprsDataList_item },
4734 dissect_gsm_map_T_gprsDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4735 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4736 T_gprsDataList_sequence_of, hf_index, ett_gsm_map_T_gprsDataList);
4740 static int dissect_gprsDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4741 return dissect_gsm_map_T_gprsDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsDataList);
4744 static const ber_sequence_t T_gprsSubscriptionData_sequence[] = {
4745 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
4746 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprsDataList_impl },
4747 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4752 dissect_gsm_map_T_gprsSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4753 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4754 T_gprsSubscriptionData_sequence, hf_index, ett_gsm_map_T_gprsSubscriptionData);
4758 static int dissect_gprsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4759 return dissect_gsm_map_T_gprsSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionData);
4763 static const value_string gsm_map_T_networkAccessMode_vals[] = {
4764 { 0, "bothMSCAndSGSN" },
4772 dissect_gsm_map_T_networkAccessMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4773 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4777 static int dissect_networkAccessMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4778 return dissect_gsm_map_T_networkAccessMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkAccessMode);
4782 static const value_string gsm_map_T_lsaOnlyAccessIndicator_vals[] = {
4783 { 0, "accessOutsideLSAsAllowed" },
4784 { 1, "accessOutsideLSAsRestricted" },
4790 dissect_gsm_map_T_lsaOnlyAccessIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4791 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4795 static int dissect_lsaOnlyAccessIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4796 return dissect_gsm_map_T_lsaOnlyAccessIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaOnlyAccessIndicator);
4799 static const ber_sequence_t T_lsaDataList_item_sequence[] = {
4800 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lsaIdentity_impl },
4801 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lsaAttributes_impl },
4802 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaActiveModeIndicator_impl },
4803 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4808 dissect_gsm_map_T_lsaDataList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4809 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4810 T_lsaDataList_item_sequence, hf_index, ett_gsm_map_T_lsaDataList_item);
4814 static int dissect_lsaDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4815 return dissect_gsm_map_T_lsaDataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaDataList_item);
4818 static const ber_sequence_t T_lsaDataList_sequence_of[1] = {
4819 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lsaDataList_item },
4823 dissect_gsm_map_T_lsaDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4824 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4825 T_lsaDataList_sequence_of, hf_index, ett_gsm_map_T_lsaDataList);
4829 static int dissect_lsaDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4830 return dissect_gsm_map_T_lsaDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaDataList);
4833 static const ber_sequence_t T_lsaInformation_sequence[] = {
4834 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
4835 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaOnlyAccessIndicator_impl },
4836 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaDataList_impl },
4837 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4842 dissect_gsm_map_T_lsaInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4843 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4844 T_lsaInformation_sequence, hf_index, ett_gsm_map_T_lsaInformation);
4848 static int dissect_lsaInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4849 return dissect_gsm_map_T_lsaInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformation);
4854 dissect_gsm_map_T_gmlc_List_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4855 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4860 static int dissect_gmlc_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4861 return dissect_gsm_map_T_gmlc_List_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_List_item);
4864 static const ber_sequence_t T_gmlc_List_sequence_of[1] = {
4865 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gmlc_List_item },
4869 dissect_gsm_map_T_gmlc_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4870 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4871 T_gmlc_List_sequence_of, hf_index, ett_gsm_map_T_gmlc_List);
4875 static int dissect_gmlc_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4876 return dissect_gsm_map_T_gmlc_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_List);
4880 static const value_string gsm_map_NotificationToMSUser_vals[] = {
4881 { 0, "notifyLocationAllowed" },
4882 { 1, "notifyAndVerify-LocationAllowedIfNoResponse" },
4883 { 2, "notifyAndVerify-LocationNotAllowedIfNoResponse" },
4889 dissect_gsm_map_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4890 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4894 static int dissect_notificationToMSUser_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4895 return dissect_gsm_map_NotificationToMSUser(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToMSUser);
4900 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_) {
4901 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4906 static int dissect_externalAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4907 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalAddress);
4909 static int dissect_omc_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4910 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_omc_Id);
4912 static int dissect_ss_EventSpecification_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4913 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification_item);
4915 static int dissect_locationEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4916 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
4918 static int dissect_locationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4919 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
4922 static const ber_sequence_t T_clientIdentity_sequence[] = {
4923 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalAddress_impl },
4924 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4929 dissect_gsm_map_T_clientIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4930 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4931 T_clientIdentity_sequence, hf_index, ett_gsm_map_T_clientIdentity);
4935 static int dissect_clientIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4936 return dissect_gsm_map_T_clientIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_clientIdentity);
4940 static const value_string gsm_map_T_gmlc_Restriction_vals[] = {
4942 { 1, "home-Country" },
4948 dissect_gsm_map_T_gmlc_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4949 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4953 static int dissect_gmlc_Restriction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4954 return dissect_gsm_map_T_gmlc_Restriction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_Restriction);
4957 static const ber_sequence_t T_externalClientList_item_sequence[] = {
4958 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_clientIdentity },
4959 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_Restriction_impl },
4960 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
4961 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4966 dissect_gsm_map_T_externalClientList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4967 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4968 T_externalClientList_item_sequence, hf_index, ett_gsm_map_T_externalClientList_item);
4972 static int dissect_externalClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4973 return dissect_gsm_map_T_externalClientList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_externalClientList_item);
4976 static const ber_sequence_t T_externalClientList_sequence_of[1] = {
4977 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_externalClientList_item },
4981 dissect_gsm_map_T_externalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4982 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4983 T_externalClientList_sequence_of, hf_index, ett_gsm_map_T_externalClientList);
4987 static int dissect_externalClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4988 return dissect_gsm_map_T_externalClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalClientList);
4992 static const value_string gsm_map_T_plmnClientList_item_vals[] = {
4993 { 0, "broadcastService" },
4994 { 1, "o-andM-HPLMN" },
4995 { 2, "o-andM-VPLMN" },
4996 { 3, "anonymousLocation" },
4997 { 4, "targetMSsubscribedService" },
5003 dissect_gsm_map_T_plmnClientList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5004 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5008 static int dissect_plmnClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5009 return dissect_gsm_map_T_plmnClientList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_plmnClientList_item);
5012 static const ber_sequence_t T_plmnClientList_sequence_of[1] = {
5013 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_plmnClientList_item },
5017 dissect_gsm_map_T_plmnClientList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5018 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5019 T_plmnClientList_sequence_of, hf_index, ett_gsm_map_T_plmnClientList);
5023 static int dissect_plmnClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5024 return dissect_gsm_map_T_plmnClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_plmnClientList);
5027 static const ber_sequence_t T_lcs_PrivacyExceptionList_item_sequence[] = {
5028 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
5029 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
5030 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
5031 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalClientList_impl },
5032 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_plmnClientList_impl },
5033 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5038 dissect_gsm_map_T_lcs_PrivacyExceptionList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5039 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5040 T_lcs_PrivacyExceptionList_item_sequence, hf_index, ett_gsm_map_T_lcs_PrivacyExceptionList_item);
5044 static int dissect_lcs_PrivacyExceptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5045 return dissect_gsm_map_T_lcs_PrivacyExceptionList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyExceptionList_item);
5048 static const ber_sequence_t T_lcs_PrivacyExceptionList_sequence_of[1] = {
5049 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcs_PrivacyExceptionList_item },
5053 dissect_gsm_map_T_lcs_PrivacyExceptionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5054 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5055 T_lcs_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_T_lcs_PrivacyExceptionList);
5059 static int dissect_lcs_PrivacyExceptionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5060 return dissect_gsm_map_T_lcs_PrivacyExceptionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyExceptionList);
5063 static const ber_sequence_t T_molr_List_item_sequence[] = {
5064 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
5065 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
5066 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5071 dissect_gsm_map_T_molr_List_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5072 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5073 T_molr_List_item_sequence, hf_index, ett_gsm_map_T_molr_List_item);
5077 static int dissect_molr_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5078 return dissect_gsm_map_T_molr_List_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_molr_List_item);
5081 static const ber_sequence_t T_molr_List_sequence_of[1] = {
5082 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_molr_List_item },
5086 dissect_gsm_map_T_molr_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5087 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5088 T_molr_List_sequence_of, hf_index, ett_gsm_map_T_molr_List);
5092 static int dissect_molr_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5093 return dissect_gsm_map_T_molr_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_molr_List);
5096 static const ber_sequence_t T_lcsInformation_sequence[] = {
5097 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_List_impl },
5098 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_PrivacyExceptionList_impl },
5099 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_molr_List_impl },
5104 dissect_gsm_map_T_lcsInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5105 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5106 T_lcsInformation_sequence, hf_index, ett_gsm_map_T_lcsInformation);
5110 static int dissect_lcsInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5111 return dissect_gsm_map_T_lcsInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsInformation);
5114 static const ber_sequence_t InsertSubscriberDataArg_sequence[] = {
5115 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5116 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
5117 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_category_impl },
5118 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberStatus_impl },
5119 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerServiceList_impl },
5120 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
5121 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_provisionedSS_impl },
5122 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Data_impl },
5123 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
5124 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionData_impl },
5125 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsSubscriptionData_impl },
5126 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsSubscriptionData_impl },
5127 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlrCamelSubscriptionInfo_impl },
5128 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5129 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
5130 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSubscriptionData_impl },
5131 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl },
5132 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkAccessMode_impl },
5133 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaInformation_impl },
5134 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmu_Indicator_impl },
5135 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsInformation_impl },
5140 dissect_gsm_map_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5141 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5142 InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_InsertSubscriberDataArg);
5147 static const ber_sequence_t ss_List_sequence_of[1] = {
5148 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_List_item },
5152 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_) {
5153 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5154 ss_List_sequence_of, hf_index, ett_gsm_map_ss_List);
5158 static int dissect_ss_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5159 return dissect_gsm_map_ss_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List);
5163 static const value_string gsm_map_RegionalSubscriptionResponse_vals[] = {
5164 { 0, "networkNodeAreaRestricted" },
5165 { 1, "tooManyZoneCodes" },
5166 { 2, "zoneCodesConflict" },
5167 { 3, "regionalSubscNotSupported" },
5173 dissect_gsm_map_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5174 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5178 static int dissect_regionalSubscriptionResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5179 return dissect_gsm_map_RegionalSubscriptionResponse(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionResponse);
5182 static const ber_sequence_t InsertSubscriberDataRes_sequence[] = {
5183 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
5184 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerServiceList_impl },
5185 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
5186 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_GeneralData_impl },
5187 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
5188 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
5189 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5194 dissect_gsm_map_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5195 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5196 InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_InsertSubscriberDataRes);
5201 static const ber_sequence_t T_contextIdList_sequence_of[1] = {
5202 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_contextIdList_item },
5206 dissect_gsm_map_T_contextIdList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5207 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5208 T_contextIdList_sequence_of, hf_index, ett_gsm_map_T_contextIdList);
5212 static int dissect_contextIdList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5213 return dissect_gsm_map_T_contextIdList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_contextIdList);
5217 static const value_string gsm_map_T_gprsSubscriptionDataWithdraw_vals[] = {
5218 { 0, "allGPRSData" },
5219 { 1, "contextIdList" },
5223 static const ber_choice_t T_gprsSubscriptionDataWithdraw_choice[] = {
5224 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allGPRSData },
5225 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contextIdList },
5226 { 0, 0, 0, 0, NULL }
5230 dissect_gsm_map_T_gprsSubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5231 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5232 T_gprsSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_T_gprsSubscriptionDataWithdraw);
5236 static int dissect_gprsSubscriptionDataWithdraw(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5237 return dissect_gsm_map_T_gprsSubscriptionDataWithdraw(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionDataWithdraw);
5240 static const ber_sequence_t T_lsaIdentityList_sequence_of[1] = {
5241 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_lsaIdentityList_item },
5245 dissect_gsm_map_T_lsaIdentityList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5246 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5247 T_lsaIdentityList_sequence_of, hf_index, ett_gsm_map_T_lsaIdentityList);
5251 static int dissect_lsaIdentityList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5252 return dissect_gsm_map_T_lsaIdentityList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentityList);
5256 static const value_string gsm_map_T_lsaInformationWithdraw_vals[] = {
5257 { 0, "allLSAData" },
5258 { 1, "lsaIdentityList" },
5262 static const ber_choice_t T_lsaInformationWithdraw_choice[] = {
5263 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allLSAData },
5264 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lsaIdentityList },
5265 { 0, 0, 0, 0, NULL }
5269 dissect_gsm_map_T_lsaInformationWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5270 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5271 T_lsaInformationWithdraw_choice, hf_index, ett_gsm_map_T_lsaInformationWithdraw);
5275 static int dissect_lsaInformationWithdraw(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5276 return dissect_gsm_map_T_lsaInformationWithdraw(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformationWithdraw);
5279 static const ber_sequence_t DeleteSubscriberDataArg_sequence[] = {
5280 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5281 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceList_impl },
5282 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
5283 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
5284 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionIdentifier_impl },
5285 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsGroupIndication_impl },
5286 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsGroupIndication_impl },
5287 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelSubscriptionInfoWithdraw_impl },
5288 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5289 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_gprsSubscriptionDataWithdraw },
5290 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl },
5291 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_lsaInformationWithdraw },
5292 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_ListWithdraw_impl },
5297 dissect_gsm_map_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5298 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5299 DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataArg);
5304 static const ber_sequence_t DeleteSubscriberDataRes_sequence[] = {
5305 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
5306 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5311 dissect_gsm_map_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5312 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5313 DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataRes);
5320 dissect_gsm_map_OCTET_STRING_SIZE_3_8(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5321 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5326 static int dissect_hlr_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5327 return dissect_gsm_map_OCTET_STRING_SIZE_3_8(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_List_item);
5330 static const ber_sequence_t T_hlr_List_sequence_of[1] = {
5331 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_List_item },
5335 dissect_gsm_map_T_hlr_List(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5336 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5337 T_hlr_List_sequence_of, hf_index, ett_gsm_map_T_hlr_List);
5341 static int dissect_hlr_List(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5342 return dissect_gsm_map_T_hlr_List(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_List);
5345 static const ber_sequence_t ResetArg_sequence[] = {
5346 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
5347 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_hlr_List },
5352 dissect_gsm_map_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5353 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5354 ResetArg_sequence, hf_index, ett_gsm_map_ResetArg);
5359 static const ber_sequence_t RestoreDataArg_sequence[] = {
5360 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
5361 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
5362 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5363 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
5368 dissect_gsm_map_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5369 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5370 RestoreDataArg_sequence, hf_index, ett_gsm_map_RestoreDataArg);
5375 static const ber_sequence_t RestoreDataRes_sequence[] = {
5376 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
5377 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msNotReachable },
5378 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5383 dissect_gsm_map_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5384 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5385 RestoreDataRes_sequence, hf_index, ett_gsm_map_RestoreDataRes);
5392 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_) {
5393 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5398 static int dissect_traceReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5399 return dissect_gsm_map_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceReference);
5401 static int dissect_transactionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5402 return dissect_gsm_map_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_transactionId);
5408 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_) {
5409 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5413 static int dissect_traceType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5414 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceType);
5416 static int dissect_absentSubscriberDiagnosticSM(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5417 return dissect_gsm_map_INTEGER_0_255(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
5419 static int dissect_absentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5420 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
5422 static int dissect_additionalAbsentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5423 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalAbsentSubscriberDiagnosticSM);
5425 static int dissect_mobileNotReachableReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5426 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mobileNotReachableReason);
5429 static const ber_sequence_t ActivateTraceModeArg_sequence[] = {
5430 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5431 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
5432 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_traceType_impl },
5433 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_omc_Id_impl },
5434 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5439 dissect_gsm_map_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5440 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5441 ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_ActivateTraceModeArg);
5446 static const ber_sequence_t ActivateTraceModeRes_sequence[] = {
5447 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5452 dissect_gsm_map_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5453 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5454 ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_ActivateTraceModeRes);
5459 static const ber_sequence_t DeactivateTraceModeArg_sequence[] = {
5460 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5461 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
5462 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5467 dissect_gsm_map_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5468 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5469 DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_DeactivateTraceModeArg);
5474 static const ber_sequence_t DeactivateTraceModeRes_sequence[] = {
5475 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5480 dissect_gsm_map_DeactivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5481 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5482 DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_DeactivateTraceModeRes);
5487 static const ber_sequence_t Cug_CheckInfo_sequence[] = {
5488 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
5489 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_OutgoingAccess },
5490 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5495 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_) {
5496 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5497 Cug_CheckInfo_sequence, hf_index, ett_gsm_map_Cug_CheckInfo);
5501 static int dissect_cug_CheckInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5502 return dissect_gsm_map_Cug_CheckInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_CheckInfo);
5506 static const value_string gsm_map_T_interrogationType_vals[] = {
5508 { 1, "forwarding" },
5514 dissect_gsm_map_T_interrogationType(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, NULL);
5519 static int dissect_interrogationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5520 return dissect_gsm_map_T_interrogationType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_interrogationType);
5526 dissect_gsm_map_INTEGER_1_127(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5527 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5531 static int dissect_or_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5532 return dissect_gsm_map_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Capability);
5534 static int dissect_supportedCCBS_Phase_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5535 return dissect_gsm_map_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCCBS_Phase);
5540 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_) {
5542 tvbuff_t *parameter_tvb;
5545 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5551 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
5552 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
5553 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
5555 digit_str = unpack_digits(parameter_tvb, 1);
5557 proto_tree_add_string(tree, hf_gsm_map_map_gmsc_address_digits, parameter_tvb, 1, -1, digit_str);
5564 static int dissect_gmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5565 return dissect_gsm_map_Gmsc_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmsc_Address);
5569 static const value_string gsm_map_T_forwardingReason_vals[] = {
5570 { 0, "notReachable" },
5578 dissect_gsm_map_T_forwardingReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5579 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5583 static int dissect_forwardingReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5584 return dissect_gsm_map_T_forwardingReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingReason);
5587 static const ber_sequence_t T_camelInfo_sequence[] = {
5588 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_supportedCamelPhases },
5589 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_suppress_T_CSI },
5590 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5595 dissect_gsm_map_T_camelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5596 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5597 T_camelInfo_sequence, hf_index, ett_gsm_map_T_camelInfo);
5601 static int dissect_camelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5602 return dissect_gsm_map_T_camelInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelInfo);
5606 static const value_string gsm_map_T_ext_ProtocolId_vals[] = {
5607 { 1, "ets-300356" },
5613 dissect_gsm_map_T_ext_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5614 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5618 static int dissect_ext_ProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5619 return dissect_gsm_map_T_ext_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ProtocolId);
5624 dissect_gsm_map_ExtSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5625 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5630 static int dissect_ext_signalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5631 return dissect_gsm_map_ExtSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_signalInfo);
5634 static const ber_sequence_t AdditionalSignalInfo_sequence[] = {
5635 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ext_ProtocolId },
5636 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_signalInfo },
5637 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5642 dissect_gsm_map_AdditionalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5643 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5644 AdditionalSignalInfo_sequence, hf_index, ett_gsm_map_AdditionalSignalInfo);
5648 static int dissect_additionalSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5649 return dissect_gsm_map_AdditionalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSignalInfo);
5652 static const ber_sequence_t SendRoutingInfoArg_sequence[] = {
5653 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
5654 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
5655 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfForwarding_impl },
5656 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_interrogationType_impl },
5657 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
5658 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Capability_impl },
5659 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gmsc_Address_impl },
5660 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
5661 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingReason_impl },
5662 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
5663 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
5664 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelInfo_impl },
5665 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
5666 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5667 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
5668 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
5669 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCCBS_Phase_impl },
5670 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
5675 dissect_gsm_map_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5677 SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoArg);
5684 dissect_gsm_map_RoamingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5686 tvbuff_t *parameter_tvb;
5689 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5695 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
5696 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
5697 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
5699 digit_str = unpack_digits(parameter_tvb, 1);
5701 proto_tree_add_string(tree, hf_gsm_map_map_RoamingNumber_digits, parameter_tvb, 1, -1, digit_str);
5707 static int dissect_roamingNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5708 return dissect_gsm_map_RoamingNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNumber);
5711 static const ber_sequence_t ForwardingData_sequence[] = {
5712 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
5713 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
5714 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
5715 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5720 dissect_gsm_map_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5721 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5722 ForwardingData_sequence, hf_index, ett_gsm_map_ForwardingData);
5726 static int dissect_forwardingData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5727 return dissect_gsm_map_ForwardingData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
5729 static int dissect_forwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5730 return dissect_gsm_map_ForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
5734 static const value_string gsm_map_T_routingInfo_vals[] = {
5735 { 0, "roamingNumber" },
5736 { 1, "forwardingData" },
5740 static const ber_choice_t T_routingInfo_choice[] = {
5741 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
5742 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingData },
5743 { 0, 0, 0, 0, NULL }
5747 dissect_gsm_map_T_routingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5748 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5749 T_routingInfo_choice, hf_index, ett_gsm_map_T_routingInfo);
5753 static int dissect_routingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5754 return dissect_gsm_map_T_routingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_routingInfo);
5757 static const ber_sequence_t t_CSI_sequence[] = {
5758 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
5759 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5760 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
5765 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_) {
5766 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5767 t_CSI_sequence, hf_index, ett_gsm_map_t_CSI);
5771 static int dissect_t_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5772 return dissect_gsm_map_t_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CSI);
5775 static const ber_sequence_t T_gmscCamelSubscriptionInfo_sequence[] = {
5776 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
5777 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
5778 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5779 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
5784 dissect_gsm_map_T_gmscCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5785 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5786 T_gmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_T_gmscCamelSubscriptionInfo);
5790 static int dissect_gmscCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5791 return dissect_gsm_map_T_gmscCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmscCamelSubscriptionInfo);
5794 static const ber_sequence_t T_camelRoutingInfo_sequence[] = {
5795 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_forwardingData },
5796 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gmscCamelSubscriptionInfo_impl },
5797 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5802 dissect_gsm_map_T_camelRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5803 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5804 T_camelRoutingInfo_sequence, hf_index, ett_gsm_map_T_camelRoutingInfo);
5808 static int dissect_camelRoutingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5809 return dissect_gsm_map_T_camelRoutingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelRoutingInfo);
5813 static const value_string gsm_map_T_extendedRoutingInfo_vals[] = {
5814 { 0, "routingInfo" },
5815 { 1, "camelRoutingInfo" },
5819 static const ber_choice_t T_extendedRoutingInfo_choice[] = {
5820 { 0, BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_routingInfo },
5821 { 1, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_camelRoutingInfo_impl },
5822 { 0, 0, 0, 0, NULL }
5826 dissect_gsm_map_T_extendedRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5827 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5828 T_extendedRoutingInfo_choice, hf_index, ett_gsm_map_T_extendedRoutingInfo);
5832 static int dissect_extendedRoutingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5833 return dissect_gsm_map_T_extendedRoutingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extendedRoutingInfo);
5838 dissect_gsm_map_OCTET_STRING_SIZE_2_10(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5839 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5844 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5845 return dissect_gsm_map_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationNumber);
5850 dissect_gsm_map_OCTET_STRING_SIZE_5(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5851 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5856 static int dissect_laiFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5857 return dissect_gsm_map_OCTET_STRING_SIZE_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_laiFixedLength);
5861 static const value_string gsm_map_T_cellIdOrLAI_vals[] = {
5862 { 0, "cellIdFixedLength" },
5863 { 1, "laiFixedLength" },
5867 static const ber_choice_t T_cellIdOrLAI_choice[] = {
5868 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellIdFixedLength_impl },
5869 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
5870 { 0, 0, 0, 0, NULL }
5874 dissect_gsm_map_T_cellIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5875 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5876 T_cellIdOrLAI_choice, hf_index, ett_gsm_map_T_cellIdOrLAI);
5880 static int dissect_cellIdOrLAI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5881 return dissect_gsm_map_T_cellIdOrLAI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cellIdOrLAI);
5886 dissect_gsm_map_OCTET_STRING_SIZE_10(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5887 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5892 static int dissect_geodeticInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5893 return dissect_gsm_map_OCTET_STRING_SIZE_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geodeticInformation);
5896 static const ber_sequence_t LocationInformation_sequence[] = {
5897 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ageOfLocationInformation },
5898 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
5899 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_number_impl },
5900 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
5901 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_cellIdOrLAI },
5902 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5903 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSA_Id_impl },
5904 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
5905 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geodeticInformation_impl },
5906 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocationRetrieved_impl },
5907 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
5912 dissect_gsm_map_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5913 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5914 LocationInformation_sequence, hf_index, ett_gsm_map_LocationInformation);
5918 static int dissect_locationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5919 return dissect_gsm_map_LocationInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformation);
5923 static const value_string gsm_map_SubscriberState_vals[] = {
5924 { 0, "assumedIdle" },
5926 { 2, "notProvidedFromVLR" },
5930 static const ber_choice_t SubscriberState_choice[] = {
5931 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assumedIdle_impl },
5932 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_camelBusy_impl },
5933 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_notProvidedFromVLR_impl },
5934 { 0, 0, 0, 0, NULL }
5938 dissect_gsm_map_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5939 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5940 SubscriberState_choice, hf_index, ett_gsm_map_SubscriberState);
5944 static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5945 return dissect_gsm_map_SubscriberState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberState);
5949 static const value_string gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI_vals[] = {
5950 { 0, "cellGlobalIdOrServiceAreaIdFixedLength" },
5951 { 1, "laiFixedLength" },
5955 static const ber_choice_t T_cellGlobalIdOrServiceAreaIdOrLAI_choice[] = {
5956 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl },
5957 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
5958 { 0, 0, 0, 0, NULL }
5962 dissect_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5963 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5964 T_cellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI);
5968 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5969 return dissect_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI);
5974 dissect_gsm_map_OCTET_STRING_SIZE_6(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5975 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5980 static int dissect_routeingAreaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5981 return dissect_gsm_map_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routeingAreaIdentity);
5984 static const ber_sequence_t T_locationInformationGPRS_sequence[] = {
5985 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_cellGlobalIdOrServiceAreaIdOrLAI },
5986 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingAreaIdentity_impl },
5987 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
5988 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
5989 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSAIdentity_impl },
5990 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5991 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
5992 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geodeticInformation_impl },
5993 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocationRetrieved_impl },
5994 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationInformation_impl },
5999 dissect_gsm_map_T_locationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6000 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6001 T_locationInformationGPRS_sequence, hf_index, ett_gsm_map_T_locationInformationGPRS);
6005 static int dissect_locationInformationGPRS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6006 return dissect_gsm_map_T_locationInformationGPRS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationGPRS);
6011 dissect_gsm_map_Ggsn_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6012 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6017 static int dissect_ggsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6018 return dissect_gsm_map_Ggsn_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Address);
6023 dissect_gsm_map_OCTET_STRING_SIZE_1_3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6024 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6029 static int dissect_qos2_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6030 return dissect_gsm_map_OCTET_STRING_SIZE_1_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Subscribed);
6032 static int dissect_qos2_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6033 return dissect_gsm_map_OCTET_STRING_SIZE_1_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Requested);
6035 static int dissect_qos2_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6036 return dissect_gsm_map_OCTET_STRING_SIZE_1_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Negotiated);
6039 static const ber_sequence_t T_ps_PDP_ActiveNotReachableForPaging_item_sequence[] = {
6040 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pdp_ContextIdentifier_impl },
6041 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ContextActive_impl },
6042 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
6043 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
6044 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_Subscribed_impl },
6045 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_InUse_impl },
6046 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nsapi_impl },
6047 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_transactionId_impl },
6048 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForGnAndGp_impl },
6049 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForIu_impl },
6050 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
6051 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
6052 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Requested_impl },
6053 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Negotiated_impl },
6054 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingId_impl },
6055 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
6056 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rnc_Address_impl },
6057 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6058 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Subscribed_impl },
6059 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Requested_impl },
6060 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Negotiated_impl },
6065 dissect_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6066 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6067 T_ps_PDP_ActiveNotReachableForPaging_item_sequence, hf_index, ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item);
6071 static int dissect_ps_PDP_ActiveNotReachableForPaging_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6072 return dissect_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveNotReachableForPaging_item);
6075 static const ber_sequence_t T_ps_PDP_ActiveNotReachableForPaging_sequence_of[1] = {
6076 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ps_PDP_ActiveNotReachableForPaging_item },
6080 dissect_gsm_map_T_ps_PDP_ActiveNotReachableForPaging(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6081 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6082 T_ps_PDP_ActiveNotReachableForPaging_sequence_of, hf_index, ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging);
6086 static int dissect_ps_PDP_ActiveNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6087 return dissect_gsm_map_T_ps_PDP_ActiveNotReachableForPaging(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveNotReachableForPaging);
6090 static const ber_sequence_t T_ps_PDP_ActiveReachableForPaging_item_sequence[] = {
6091 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pdp_ContextIdentifier_impl },
6092 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ContextActive_impl },
6093 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
6094 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
6095 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_Subscribed_impl },
6096 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_InUse_impl },
6097 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nsapi_impl },
6098 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_transactionId_impl },
6099 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForGnAndGp_impl },
6100 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForIu_impl },
6101 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
6102 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
6103 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Requested_impl },
6104 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Negotiated_impl },
6105 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingId_impl },
6106 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
6107 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rnc_Address_impl },
6108 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6109 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Subscribed_impl },
6110 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Requested_impl },
6111 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Negotiated_impl },
6116 dissect_gsm_map_T_ps_PDP_ActiveReachableForPaging_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6117 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6118 T_ps_PDP_ActiveReachableForPaging_item_sequence, hf_index, ett_gsm_map_T_ps_PDP_ActiveReachableForPaging_item);
6122 static int dissect_ps_PDP_ActiveReachableForPaging_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6123 return dissect_gsm_map_T_ps_PDP_ActiveReachableForPaging_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveReachableForPaging_item);
6126 static const ber_sequence_t T_ps_PDP_ActiveReachableForPaging_sequence_of[1] = {
6127 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ps_PDP_ActiveReachableForPaging_item },
6131 dissect_gsm_map_T_ps_PDP_ActiveReachableForPaging(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6132 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6133 T_ps_PDP_ActiveReachableForPaging_sequence_of, hf_index, ett_gsm_map_T_ps_PDP_ActiveReachableForPaging);
6137 static int dissect_ps_PDP_ActiveReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6138 return dissect_gsm_map_T_ps_PDP_ActiveReachableForPaging(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveReachableForPaging);
6142 static const value_string gsm_map_T_netDetNotReachable_vals[] = {
6144 { 1, "imsiDetached" },
6145 { 2, "restrictedArea" },
6146 { 3, "notRegistered" },
6152 dissect_gsm_map_T_netDetNotReachable(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6153 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6157 static int dissect_netDetNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6158 return dissect_gsm_map_T_netDetNotReachable(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_netDetNotReachable);
6162 static const value_string gsm_map_T_ps_SubscriberState_vals[] = {
6163 { 0, "notProvidedFromSGSN" },
6164 { 1, "ps-Detached" },
6165 { 2, "ps-AttachedNotReachableForPaging" },
6166 { 3, "ps-AttachedReachableForPaging" },
6167 { 4, "ps-PDP-ActiveNotReachableForPaging" },
6168 { 5, "ps-PDP-ActiveReachableForPaging" },
6169 { 6, "netDetNotReachable" },
6173 static const ber_choice_t T_ps_SubscriberState_choice[] = {
6174 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_notProvidedFromSGSN_impl },
6175 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ps_Detached_impl },
6176 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ps_AttachedNotReachableForPaging_impl },
6177 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ps_AttachedReachableForPaging_impl },
6178 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveNotReachableForPaging_impl },
6179 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveReachableForPaging_impl },
6180 { 6, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_netDetNotReachable },
6181 { 0, 0, 0, 0, NULL }
6185 dissect_gsm_map_T_ps_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6186 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6187 T_ps_SubscriberState_choice, hf_index, ett_gsm_map_T_ps_SubscriberState);
6191 static int dissect_ps_SubscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6192 return dissect_gsm_map_T_ps_SubscriberState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ps_SubscriberState);
6197 dissect_gsm_map_OCTET_STRING_SIZE_1_50(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6198 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6203 static int dissect_mSRadioAccessCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6204 return dissect_gsm_map_OCTET_STRING_SIZE_1_50(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSRadioAccessCapability);
6207 static const ber_sequence_t T_gprs_MS_Class_sequence[] = {
6208 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mSNetworkCapability_impl },
6209 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mSRadioAccessCapability_impl },
6214 dissect_gsm_map_T_gprs_MS_Class(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6215 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6216 T_gprs_MS_Class_sequence, hf_index, ett_gsm_map_T_gprs_MS_Class);
6220 static int dissect_gprs_MS_Class_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6221 return dissect_gsm_map_T_gprs_MS_Class(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_MS_Class);
6225 static const value_string gsm_map_NumberPortabilityStatus_vals[] = {
6226 { 0, "notKnownToBePorted" },
6227 { 1, "ownNumberPortedOut" },
6228 { 2, "foreignNumberPortedToForeignNetwork" },
6229 { 4, "ownNumberNotPortedOut" },
6230 { 5, "foreignNumberPortedIn" },
6236 dissect_gsm_map_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6237 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6241 static int dissect_numberPortabilityStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6242 return dissect_gsm_map_NumberPortabilityStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberPortabilityStatus);
6245 static const ber_sequence_t T_mnpInfoRes_sequence[] = {
6246 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingNumber_impl },
6247 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6248 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6249 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
6250 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6255 dissect_gsm_map_T_mnpInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6256 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6257 T_mnpInfoRes_sequence, hf_index, ett_gsm_map_T_mnpInfoRes);
6261 static int dissect_mnpInfoRes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6262 return dissect_gsm_map_T_mnpInfoRes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpInfoRes);
6265 static const ber_sequence_t SubscriberInfo_sequence[] = {
6266 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
6267 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_subscriberState },
6268 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6269 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
6270 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_ps_SubscriberState },
6271 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
6272 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_Classmark2_impl },
6273 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_MS_Class_impl },
6274 { BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mnpInfoRes_impl },
6279 dissect_gsm_map_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6280 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6281 SubscriberInfo_sequence, hf_index, ett_gsm_map_SubscriberInfo);
6285 static int dissect_subscriberInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6286 return dissect_gsm_map_SubscriberInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
6288 static int dissect_subscriberInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6289 return dissect_gsm_map_SubscriberInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
6294 dissect_gsm_map_T_vmsc_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6295 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6300 static int dissect_vmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6301 return dissect_gsm_map_T_vmsc_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vmsc_Address);
6304 static const ber_sequence_t T_ccbs_Indicators_sequence[] = {
6305 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
6306 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_keepCCBS_CallIndicator_impl },
6307 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6312 dissect_gsm_map_T_ccbs_Indicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6313 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6314 T_ccbs_Indicators_sequence, hf_index, ett_gsm_map_T_ccbs_Indicators);
6318 static int dissect_ccbs_Indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6319 return dissect_gsm_map_T_ccbs_Indicators(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Indicators);
6322 static const ber_sequence_t SendRoutingInfoRes_sequence[] = {
6323 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6324 { -1/*choice*/ , -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extendedRoutingInfo },
6325 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
6326 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cugSubscriptionFlag_impl },
6327 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberInfo_impl },
6328 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
6329 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicService },
6330 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingInterrogationRequired_impl },
6331 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vmsc_Address_impl },
6332 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6333 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
6334 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Indicators_impl },
6335 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6336 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
6341 dissect_gsm_map_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6342 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6343 SendRoutingInfoRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoRes);
6349 static const value_string gsm_map_NetDetNotReachable_vals[] = {
6351 { 1, "imsiDetached" },
6352 { 2, "restrictedArea" },
6353 { 3, "notRegistered" },
6359 dissect_gsm_map_NetDetNotReachable(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6360 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6365 static const ber_sequence_t ProvideRoamingNumberArg_sequence[] = {
6366 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6367 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
6368 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6369 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
6370 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
6371 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
6372 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
6373 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmsc_Address_impl },
6374 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
6375 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
6376 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6377 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
6378 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
6379 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhasesInGMSC_impl },
6380 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
6381 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_orNotSupportedInGMSC_impl },
6386 dissect_gsm_map_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6387 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6388 ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberArg);
6393 static const ber_sequence_t ProvideRoamingNumberRes_sequence[] = {
6394 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
6395 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6400 dissect_gsm_map_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6401 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6402 ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberRes);
6409 dissect_gsm_map_OCTET_STRING_SIZE_1_131(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6410 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6415 static int dissect_uui_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6416 return dissect_gsm_map_OCTET_STRING_SIZE_1_131(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uui);
6419 static const ber_sequence_t T_uu_Data_sequence[] = {
6420 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uuIndicator_impl },
6421 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uui_impl },
6422 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uusCFInteraction_impl },
6423 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6428 dissect_gsm_map_T_uu_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6429 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6430 T_uu_Data_sequence, hf_index, ett_gsm_map_T_uu_Data);
6434 static int dissect_uu_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6435 return dissect_gsm_map_T_uu_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uu_Data);
6438 static const ber_sequence_t ResumeCallHandlingArg_sequence[] = {
6439 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
6440 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
6441 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingData_impl },
6442 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6443 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
6444 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
6445 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6446 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
6447 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6448 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uu_Data_impl },
6449 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allInformationSent_impl },
6454 dissect_gsm_map_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6455 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6456 ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ResumeCallHandlingArg);
6461 static const ber_sequence_t ResumeCallHandlingRes_sequence[] = {
6462 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6467 dissect_gsm_map_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6468 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6469 ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ResumeCallHandlingRes);
6476 dissect_gsm_map_T_b_Subscriber_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6477 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6482 static int dissect_b_Subscriber_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6483 return dissect_gsm_map_T_b_Subscriber_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_Subscriber_Address);
6486 static const ber_sequence_t ProvideSIWFSNumberArg_sequence[] = {
6487 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
6488 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_isdn_BearerCapability_impl },
6489 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_call_Direction_impl },
6490 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_b_Subscriber_Address_impl },
6491 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
6492 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lowerLayerCompatibility_impl },
6493 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
6494 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6499 dissect_gsm_map_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6500 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6501 ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberArg);
6508 dissect_gsm_map_T_sIWFSNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6509 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6514 static int dissect_sIWFSNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6515 return dissect_gsm_map_T_sIWFSNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sIWFSNumber);
6518 static const ber_sequence_t ProvideSIWFSNumberRes_sequence[] = {
6519 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sIWFSNumber_impl },
6520 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6525 dissect_gsm_map_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6526 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6527 ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberRes);
6532 static const ber_sequence_t SIWFSSignallingModifyArg_sequence[] = {
6533 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_channelType_impl },
6534 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
6535 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6540 dissect_gsm_map_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6541 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6542 SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyArg);
6547 static const ber_sequence_t SIWFSSignallingModifyRes_sequence[] = {
6548 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
6549 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6554 dissect_gsm_map_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6555 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6556 SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyRes);
6562 static const value_string gsm_map_Ccbs_Monitoring_vals[] = {
6563 { 0, "stopMonitoring" },
6564 { 1, "startMonitoring" },
6570 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_) {
6571 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6575 static int dissect_ccbs_Monitoring_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6576 return dissect_gsm_map_Ccbs_Monitoring(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Monitoring);
6579 static const ber_sequence_t SetReportingStateArg_sequence[] = {
6580 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6581 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
6582 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Monitoring_impl },
6583 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6588 dissect_gsm_map_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6589 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6590 SetReportingStateArg_sequence, hf_index, ett_gsm_map_SetReportingStateArg);
6596 static const value_string gsm_map_Ccbs_SubscriberStatus_vals[] = {
6597 { 0, "ccbsNotIdle" },
6599 { 2, "ccbsNotReachable" },
6605 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_) {
6606 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6610 static int dissect_ccbs_SubscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6611 return dissect_gsm_map_Ccbs_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_SubscriberStatus);
6614 static const ber_sequence_t SetReportingStateRes_sequence[] = {
6615 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
6616 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6621 dissect_gsm_map_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6622 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6623 SetReportingStateRes_sequence, hf_index, ett_gsm_map_SetReportingStateRes);
6629 static const value_string gsm_map_MonitoringMode_vals[] = {
6637 dissect_gsm_map_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6638 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6642 static int dissect_monitoringMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6643 return dissect_gsm_map_MonitoringMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_monitoringMode);
6647 static const value_string gsm_map_CallOutcome_vals[] = {
6656 dissect_gsm_map_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6657 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6661 static int dissect_callOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6662 return dissect_gsm_map_CallOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callOutcome);
6665 static const ber_sequence_t T_eventReportData_sequence[] = {
6666 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
6667 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6672 dissect_gsm_map_T_eventReportData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6673 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6674 T_eventReportData_sequence, hf_index, ett_gsm_map_T_eventReportData);
6678 static int dissect_eventReportData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6679 return dissect_gsm_map_T_eventReportData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_eventReportData);
6682 static const ber_sequence_t T_callReportdata_sequence[] = {
6683 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitoringMode_impl },
6684 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callOutcome_impl },
6685 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6690 dissect_gsm_map_T_callReportdata(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6691 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6692 T_callReportdata_sequence, hf_index, ett_gsm_map_T_callReportdata);
6696 static int dissect_callReportdata_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6697 return dissect_gsm_map_T_callReportdata(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReportdata);
6700 static const ber_sequence_t StatusReportArg_sequence[] = {
6701 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6702 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventReportData_impl },
6703 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReportdata_impl },
6704 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6709 dissect_gsm_map_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6710 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6711 StatusReportArg_sequence, hf_index, ett_gsm_map_StatusReportArg);
6716 static const ber_sequence_t StatusReportRes_sequence[] = {
6717 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6722 dissect_gsm_map_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6723 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6724 StatusReportRes_sequence, hf_index, ett_gsm_map_StatusReportRes);
6730 static const value_string gsm_map_Ruf_Outcome_vals[] = {
6733 { 2, "noResponseFromFreeMS" },
6734 { 3, "noResponseFromBusyMS" },
6735 { 4, "udubFromFreeMS" },
6736 { 5, "udubFromBusyMS" },
6742 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_) {
6743 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6747 static int dissect_ruf_Outcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6748 return dissect_gsm_map_Ruf_Outcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ruf_Outcome);
6753 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_) {
6754 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6759 static int dissect_b_subscriberNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6760 return dissect_gsm_map_B_subscriberNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberNumber);
6765 dissect_gsm_map_OCTET_STRING_SIZE_1_21(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6766 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6771 static int dissect_b_subscriberSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6772 return dissect_gsm_map_OCTET_STRING_SIZE_1_21(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberSubaddress);
6775 static const ber_sequence_t Ccbs_Feature_sequence[] = {
6776 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
6777 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberNumber_impl },
6778 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberSubaddress_impl },
6779 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
6784 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_) {
6785 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6786 Ccbs_Feature_sequence, hf_index, ett_gsm_map_Ccbs_Feature);
6790 static int dissect_ccbs_Feature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6791 return dissect_gsm_map_Ccbs_Feature(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Feature);
6796 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_) {
6797 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6802 static int dissect_translatedB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6803 return dissect_gsm_map_TranslatedB_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_translatedB_Number);
6806 static const ber_sequence_t RemoteUserFreeArg_sequence[] = {
6807 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6808 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callInfo_impl },
6809 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
6810 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_translatedB_Number_impl },
6811 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_replaceB_Number_impl },
6812 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
6813 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6818 dissect_gsm_map_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6819 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6820 RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_RemoteUserFreeArg);
6825 static const ber_sequence_t RemoteUserFreeRes_sequence[] = {
6826 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ruf_Outcome_impl },
6827 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6832 dissect_gsm_map_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6833 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6834 RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_RemoteUserFreeRes);
6839 static const ber_sequence_t RegisterSS_Arg_sequence[] = {
6840 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
6841 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
6842 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
6843 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
6844 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
6845 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
6850 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_) {
6851 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6852 RegisterSS_Arg_sequence, hf_index, ett_gsm_map_RegisterSS_Arg);
6858 static const value_string gsm_map_Ss_Info_vals[] = {
6859 { 0, "forwardingInfo" },
6860 { 1, "callBarringInfo" },
6865 static const ber_choice_t Ss_Info_choice[] = {
6866 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfo_impl },
6867 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfo_impl },
6868 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ss_Data_impl },
6869 { 0, 0, 0, 0, NULL }
6873 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_) {
6874 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6875 Ss_Info_choice, hf_index, ett_gsm_map_Ss_Info);
6880 static const ber_sequence_t Ss_ForBS_sequence[] = {
6881 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
6882 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
6887 dissect_gsm_map_Ss_ForBS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6888 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6889 Ss_ForBS_sequence, hf_index, ett_gsm_map_Ss_ForBS);
6894 static const ber_sequence_t SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList_sequence_of[1] = {
6895 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList_item },
6899 dissect_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6900 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6901 SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList);
6905 static int dissect_forwardingFeatureList_1_13_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6906 return dissect_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList_1_13);
6909 static const ber_sequence_t T_ccbs_FeatureList_item_sequence[] = {
6910 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
6911 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberNumber_impl },
6912 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberSubaddress_impl },
6913 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
6918 dissect_gsm_map_T_ccbs_FeatureList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6919 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6920 T_ccbs_FeatureList_item_sequence, hf_index, ett_gsm_map_T_ccbs_FeatureList_item);
6924 static int dissect_ccbs_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6925 return dissect_gsm_map_T_ccbs_FeatureList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_FeatureList_item);
6928 static const ber_sequence_t T_ccbs_FeatureList_sequence_of[1] = {
6929 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ccbs_FeatureList_item },
6933 dissect_gsm_map_T_ccbs_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6934 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6935 T_ccbs_FeatureList_sequence_of, hf_index, ett_gsm_map_T_ccbs_FeatureList);
6939 static int dissect_ccbs_FeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6940 return dissect_gsm_map_T_ccbs_FeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_FeatureList);
6943 static const ber_sequence_t T_genericServiceInfo_sequence[] = {
6944 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
6945 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cliRestrictionOption_impl },
6946 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumEntitledPriority_impl },
6947 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
6948 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_FeatureList_impl },
6953 dissect_gsm_map_T_genericServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6954 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6955 T_genericServiceInfo_sequence, hf_index, ett_gsm_map_T_genericServiceInfo);
6959 static int dissect_genericServiceInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6960 return dissect_gsm_map_T_genericServiceInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_genericServiceInfo);
6964 static const value_string gsm_map_InterrogateSS_Res_vals[] = {
6966 { 2, "basicServiceGroupList" },
6967 { 3, "forwardingFeatureList" },
6968 { 4, "genericServiceInfo" },
6972 static const ber_choice_t InterrogateSS_Res_choice[] = {
6973 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
6974 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_basicServiceGroupList_impl },
6975 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_forwardingFeatureList_1_13_impl },
6976 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_genericServiceInfo_impl },
6977 { 0, 0, 0, 0, NULL }
6981 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_) {
6982 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6983 InterrogateSS_Res_choice, hf_index, ett_gsm_map_InterrogateSS_Res);
6990 dissect_gsm_map_OCTET_STRING_SIZE_1_160(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6991 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6996 static int dissect_ussd_String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6997 return dissect_gsm_map_OCTET_STRING_SIZE_1_160(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_String);
7000 static const ber_sequence_t Ussd_Arg_sequence[] = {
7001 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
7002 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
7003 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertingPattern },
7004 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7009 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_) {
7010 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7011 Ussd_Arg_sequence, hf_index, ett_gsm_map_Ussd_Arg);
7016 static const ber_sequence_t Ussd_Res_sequence[] = {
7017 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
7018 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
7023 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_) {
7024 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7025 Ussd_Res_sequence, hf_index, ett_gsm_map_Ussd_Res);
7032 dissect_gsm_map_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7033 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
7034 pinfo, tree, tvb, offset, hf_index,
7041 static const value_string gsm_map_GetPasswordArg_vals[] = {
7043 { 1, "enterNewPW" },
7044 { 2, "enterNewPW-Again" },
7050 dissect_gsm_map_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7051 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7058 dissect_gsm_map_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7059 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
7060 pinfo, tree, tvb, offset, hf_index,
7066 static const asn_namedbit ServiceIndicator_bits[] = {
7067 { 0, &hf_gsm_map_ServiceIndicator_clirInvoked, -1, -1, NULL, NULL },
7068 { 1, &hf_gsm_map_ServiceIndicator_camelInvoked, -1, -1, NULL, NULL },
7069 { 0, NULL, 0, 0, NULL, NULL }
7073 dissect_gsm_map_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7074 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7075 ServiceIndicator_bits, hf_index, ett_gsm_map_ServiceIndicator,
7080 static int dissect_serviceIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7081 return dissect_gsm_map_ServiceIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceIndicator);
7084 static const ber_sequence_t T_ccbs_Data_sequence[] = {
7085 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
7086 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_translatedB_Number_impl },
7087 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceIndicator_impl },
7088 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_callInfo_impl },
7089 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
7094 dissect_gsm_map_T_ccbs_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7095 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7096 T_ccbs_Data_sequence, hf_index, ett_gsm_map_T_ccbs_Data);
7100 static int dissect_ccbs_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7101 return dissect_gsm_map_T_ccbs_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Data);
7104 static const ber_sequence_t RegisterCC_EntryArg_sequence[] = {
7105 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7106 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Data_impl },
7111 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_) {
7112 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7113 RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_RegisterCC_EntryArg);
7118 static const ber_sequence_t RegisterCC_EntryRes_sequence[] = {
7119 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
7124 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_) {
7125 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7126 RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_RegisterCC_EntryRes);
7131 static const ber_sequence_t EraseCC_EntryArg_sequence[] = {
7132 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7133 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
7138 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_) {
7139 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7140 EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_EraseCC_EntryArg);
7145 static const ber_sequence_t EraseCC_EntryRes_sequence[] = {
7146 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7147 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
7152 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_) {
7153 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7154 EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_EraseCC_EntryRes);
7161 dissect_gsm_map_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7162 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7166 static int dissect_sm_RP_PRI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7167 return dissect_gsm_map_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_PRI);
7172 dissect_gsm_map_ServiceCentreAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7174 tvbuff_t *parameter_tvb;
7177 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7182 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
7183 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
7184 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
7186 digit_str = unpack_digits(parameter_tvb, 1);
7188 proto_tree_add_string(tree, hf_gsm_map_servicecentreaddress_digits, parameter_tvb, 1, -1, digit_str);
7195 static int dissect_serviceCentreAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7196 return dissect_gsm_map_ServiceCentreAddress(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
7198 static int dissect_serviceCentreAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7199 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
7201 static int dissect_serviceCentreAddressOA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7202 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressOA);
7204 static int dissect_serviceCentreAddressDA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7205 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressDA);
7211 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_) {
7212 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7216 static int dissect_sm_RP_MTI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7217 return dissect_gsm_map_INTEGER_0_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_MTI);
7222 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_) {
7223 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7228 static int dissect_sm_RP_SMEA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7229 return dissect_gsm_map_OCTET_STRING_SIZE_1_12(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_SMEA);
7232 static const ber_sequence_t RoutingInfoForSMArg_sequence[] = {
7233 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7234 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sm_RP_PRI_impl },
7235 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddress_impl },
7236 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7237 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
7238 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_MTI_impl },
7239 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_SMEA_impl },
7244 dissect_gsm_map_RoutingInfoForSMArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7245 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7246 RoutingInfoForSMArg_sequence, hf_index, ett_gsm_map_RoutingInfoForSMArg);
7253 dissect_gsm_map_T_networkNode_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7254 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7259 static int dissect_networkNode_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7260 return dissect_gsm_map_T_networkNode_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkNode_Number);
7264 static const value_string gsm_map_T_additional_Number_vals[] = {
7265 { 0, "msc-Number" },
7266 { 1, "sgsn-Number" },
7270 static const ber_choice_t T_additional_Number_choice[] = {
7271 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
7272 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
7273 { 0, 0, 0, 0, NULL }
7277 dissect_gsm_map_T_additional_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7278 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7279 T_additional_Number_choice, hf_index, ett_gsm_map_T_additional_Number);
7283 static int dissect_additional_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7284 return dissect_gsm_map_T_additional_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_additional_Number);
7287 static const ber_sequence_t T_locationInfoWithLMSI_sequence[] = {
7288 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_networkNode_Number_impl },
7289 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
7290 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7291 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsNodeIndicator_impl },
7292 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_additional_Number },
7297 dissect_gsm_map_T_locationInfoWithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7298 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7299 T_locationInfoWithLMSI_sequence, hf_index, ett_gsm_map_T_locationInfoWithLMSI);
7303 static int dissect_locationInfoWithLMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7304 return dissect_gsm_map_T_locationInfoWithLMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInfoWithLMSI);
7307 static const ber_sequence_t RoutingInfoForSMRes_sequence[] = {
7308 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
7309 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationInfoWithLMSI_impl },
7310 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7315 dissect_gsm_map_RoutingInfoForSMRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7316 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7317 RoutingInfoForSMRes_sequence, hf_index, ett_gsm_map_RoutingInfoForSMRes);
7323 static const value_string gsm_map_Sm_RP_DA_vals[] = {
7326 { 4, "serviceCentreAddressDA" },
7327 { 5, "noSM-RP-DA" },
7331 static const ber_choice_t Sm_RP_DA_choice[] = {
7332 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7333 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
7334 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressDA_impl },
7335 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_DA_impl },
7336 { 0, 0, 0, 0, NULL }
7340 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_) {
7341 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7342 Sm_RP_DA_choice, hf_index, ett_gsm_map_Sm_RP_DA);
7346 static int dissect_sm_RP_DA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7347 return dissect_gsm_map_Sm_RP_DA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_DA);
7351 static const value_string gsm_map_Sm_RP_OA_vals[] = {
7353 { 4, "serviceCentreAddressOA" },
7354 { 5, "noSM-RP-OA" },
7358 static const ber_choice_t Sm_RP_OA_choice[] = {
7359 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7360 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressOA_impl },
7361 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_OA_impl },
7362 { 0, 0, 0, 0, NULL }
7366 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_) {
7367 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7368 Sm_RP_OA_choice, hf_index, ett_gsm_map_Sm_RP_OA);
7372 static int dissect_sm_RP_OA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7373 return dissect_gsm_map_Sm_RP_OA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_OA);
7378 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_) {
7382 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7385 * dissect the embedded TPDU message
7390 dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
7394 static int dissect_sm_RP_UI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7395 return dissect_gsm_map_Sm_RP_UI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_UI);
7398 static const ber_sequence_t Mo_forwardSM_Arg_sequence[] = {
7399 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
7400 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
7401 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7402 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7403 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
7408 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_) {
7409 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7410 Mo_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Arg);
7415 static const ber_sequence_t Mo_forwardSM_Res_sequence[] = {
7416 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7417 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7422 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_) {
7423 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7424 Mo_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Res);
7429 static const ber_sequence_t Mt_forwardSM_Arg_sequence[] = {
7430 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
7431 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
7432 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7433 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_moreMessagesToSend },
7434 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7439 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_) {
7440 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7441 Mt_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Arg);
7446 static const ber_sequence_t Mt_forwardSM_Res_sequence[] = {
7447 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7448 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7453 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_) {
7454 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7455 Mt_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Res);
7462 dissect_gsm_map_StoredMSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7463 offset = dissect_gsm_map_Msisdn(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7467 static int dissect_storedMSISDN(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7468 return dissect_gsm_map_StoredMSISDN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_storedMSISDN);
7472 static const value_string gsm_map_Sm_DeliveryOutcome_vals[] = {
7473 { 0, "memoryCapacityExceeded" },
7474 { 1, "absentSubscriber" },
7475 { 2, "successfulTransfer" },
7481 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_) {
7482 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7486 static int dissect_sm_DeliveryOutcome(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7487 return dissect_gsm_map_Sm_DeliveryOutcome(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_DeliveryOutcome);
7489 static int dissect_additionalSM_DeliveryOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7490 return dissect_gsm_map_Sm_DeliveryOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSM_DeliveryOutcome);
7493 static const ber_sequence_t ReportSM_DeliveryStatusArg_sequence[] = {
7494 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
7495 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
7496 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_DeliveryOutcome },
7497 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberDiagnosticSM_impl },
7498 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7499 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
7500 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deliveryOutcomeIndicator_impl },
7501 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSM_DeliveryOutcome_impl },
7502 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
7507 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_) {
7508 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7509 ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusArg);
7514 static const ber_sequence_t ReportSM_DeliveryStatusRes_sequence[] = {
7515 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
7516 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7521 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_) {
7522 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7523 ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusRes);
7528 static const asn_namedbit T_mw_Status_bits[] = {
7529 { 0, &hf_gsm_map_T_mw_Status_scAddressNotIncluded, -1, -1, NULL, NULL },
7530 { 1, &hf_gsm_map_T_mw_Status_mnrfSet, -1, -1, NULL, NULL },
7531 { 2, &hf_gsm_map_T_mw_Status_mcefSet, -1, -1, NULL, NULL },
7532 { 3, &hf_gsm_map_T_mw_Status_mnrgSet, -1, -1, NULL, NULL },
7533 { 0, NULL, 0, 0, NULL, NULL }
7537 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_) {
7538 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7539 T_mw_Status_bits, hf_index, ett_gsm_map_T_mw_Status,
7544 static int dissect_mw_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7545 return dissect_gsm_map_T_mw_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mw_Status);
7548 static const ber_sequence_t InformServiceCentreArg_sequence[] = {
7549 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
7550 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_mw_Status },
7551 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7556 dissect_gsm_map_InformServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7557 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7558 InformServiceCentreArg_sequence, hf_index, ett_gsm_map_InformServiceCentreArg);
7563 static const ber_sequence_t AlertServiceCentreArg_sequence[] = {
7564 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
7565 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
7570 dissect_gsm_map_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7571 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7572 AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_AlertServiceCentreArg);
7578 static const value_string gsm_map_T_alertReason_vals[] = {
7580 { 1, "memoryAvailable" },
7586 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_) {
7587 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7591 static int dissect_alertReason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7592 return dissect_gsm_map_T_alertReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReason);
7595 static const ber_sequence_t ReadyForSM_Arg_sequence[] = {
7596 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7597 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_alertReason },
7598 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertReasonIndicator },
7599 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7604 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_) {
7605 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7606 ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_ReadyForSM_Arg);
7611 static const ber_sequence_t ReadyForSM_Res_sequence[] = {
7612 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7617 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_) {
7618 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7619 ReadyForSM_Res_sequence, hf_index, ett_gsm_map_ReadyForSM_Res);
7625 static const value_string gsm_map_T_requestedDomain_vals[] = {
7633 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_) {
7634 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7638 static int dissect_requestedDomain_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7639 return dissect_gsm_map_T_requestedDomain(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedDomain);
7642 static const ber_sequence_t RequestedInfo_sequence[] = {
7643 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationFlag_impl },
7644 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberStateFlag_impl },
7645 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7646 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocation_impl },
7647 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedDomain_impl },
7648 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_flg_impl },
7649 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_classmark_impl },
7650 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mnpRequestedInfo_impl },
7655 dissect_gsm_map_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7656 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7657 RequestedInfo_sequence, hf_index, ett_gsm_map_RequestedInfo);
7661 static int dissect_requestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7662 return dissect_gsm_map_RequestedInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedInfo);
7665 static const ber_sequence_t ProvideSubscriberInfoArg_sequence[] = {
7666 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7667 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
7668 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
7669 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7674 dissect_gsm_map_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7675 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7676 ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoArg);
7681 static const ber_sequence_t ProvideSubscriberInfoRes_sequence[] = {
7682 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
7683 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7688 dissect_gsm_map_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7689 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7690 ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoRes);
7696 static const value_string gsm_map_SubscriberIdentity_vals[] = {
7702 static const ber_choice_t SubscriberIdentity_choice[] = {
7703 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7704 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7705 { 0, 0, 0, 0, NULL }
7709 dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7710 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7711 SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity);
7715 static int dissect_subscriberIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7716 return dissect_gsm_map_SubscriberIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberIdentity);
7719 static const ber_sequence_t AnyTimeInterrogationArg_sequence[] = {
7720 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
7721 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
7722 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
7723 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7728 dissect_gsm_map_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7729 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7730 AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationArg);
7735 static const ber_sequence_t AnyTimeInterrogationRes_sequence[] = {
7736 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
7737 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7742 dissect_gsm_map_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7743 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7744 AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationRes);
7749 static const ber_sequence_t T_requestedSS_Info_sequence[] = {
7750 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
7751 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
7752 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
7757 dissect_gsm_map_T_requestedSS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7758 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7759 T_requestedSS_Info_sequence, hf_index, ett_gsm_map_T_requestedSS_Info);
7763 static int dissect_requestedSS_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7764 return dissect_gsm_map_T_requestedSS_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSS_Info);
7768 static const value_string gsm_map_T_requestedCAMEL_SubscriptionInfo_vals[] = {
7774 { 5, "mo-sms-CSI" },
7783 dissect_gsm_map_T_requestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7784 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7788 static int dissect_requestedCAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7789 return dissect_gsm_map_T_requestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCAMEL_SubscriptionInfo);
7793 static const value_string gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = {
7794 { 0, "mt-sms-CSI" },
7804 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_) {
7805 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7809 static int dissect_additionalRequestedCAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7810 return dissect_gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo);
7813 static const ber_sequence_t T_requestedSubscriptionInfo_sequence[] = {
7814 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedSS_Info_impl },
7815 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_impl },
7816 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedCAMEL_SubscriptionInfo_impl },
7817 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_flg_impl },
7818 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_flg_impl },
7819 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
7820 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalRequestedCAMEL_SubscriptionInfo_impl },
7825 dissect_gsm_map_T_requestedSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7826 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7827 T_requestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_T_requestedSubscriptionInfo);
7831 static int dissect_requestedSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7832 return dissect_gsm_map_T_requestedSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSubscriptionInfo);
7835 static const ber_sequence_t AnyTimeSubscriptionInterrogationArg_sequence[] = {
7836 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
7837 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedSubscriptionInfo_impl },
7838 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
7839 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7840 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
7845 dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7846 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7847 AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationArg);
7852 static const ber_sequence_t T_callForwardingData_sequence[] = {
7853 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList },
7854 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
7855 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7860 dissect_gsm_map_T_callForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7861 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7862 T_callForwardingData_sequence, hf_index, ett_gsm_map_T_callForwardingData);
7866 static int dissect_callForwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7867 return dissect_gsm_map_T_callForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callForwardingData);
7872 dissect_gsm_map_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7873 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
7874 pinfo, tree, tvb, offset, hf_index,
7879 static int dissect_password(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7880 return dissect_gsm_map_NumericString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_password);
7882 static int dissect_password_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7883 return dissect_gsm_map_NumericString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_password);
7889 dissect_gsm_map_INTEGER_0_4(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7890 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7894 static int dissect_wrongPasswordAttemptsCounter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7895 return dissect_gsm_map_INTEGER_0_4(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
7897 static int dissect_wrongPasswordAttemptsCounter_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7898 return dissect_gsm_map_INTEGER_0_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
7901 static const ber_sequence_t T_callBarringData_sequence[] = {
7902 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_callBarringFeatureList },
7903 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_password },
7904 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_wrongPasswordAttemptsCounter },
7905 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
7906 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7911 dissect_gsm_map_T_callBarringData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7912 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7913 T_callBarringData_sequence, hf_index, ett_gsm_map_T_callBarringData);
7917 static int dissect_callBarringData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7918 return dissect_gsm_map_T_callBarringData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringData);
7921 static const ber_sequence_t T_odb_Info_sequence[] = {
7922 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_odb_Data },
7923 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
7924 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7929 dissect_gsm_map_T_odb_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7930 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7931 T_odb_Info_sequence, hf_index, ett_gsm_map_T_odb_Info);
7935 static int dissect_odb_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7936 return dissect_gsm_map_T_odb_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Info);
7941 dissect_gsm_map_T_dialledNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7942 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7947 static int dissect_dialledNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7948 return dissect_gsm_map_T_dialledNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_dialledNumber);
7951 static const ber_sequence_t Dp_AnalysedInfoCriteriaList_item_sequence[] = {
7952 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dialledNumber },
7953 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
7954 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
7955 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_defaultCallHandling },
7956 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7961 dissect_gsm_map_Dp_AnalysedInfoCriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7962 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7963 Dp_AnalysedInfoCriteriaList_item_sequence, hf_index, ett_gsm_map_Dp_AnalysedInfoCriteriaList_item);
7967 static int dissect_Dp_AnalysedInfoCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7968 return dissect_gsm_map_Dp_AnalysedInfoCriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Dp_AnalysedInfoCriteriaList_item);
7971 static const ber_sequence_t Dp_AnalysedInfoCriteriaList_sequence_of[1] = {
7972 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Dp_AnalysedInfoCriteriaList_item },
7976 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_) {
7977 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7978 Dp_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_Dp_AnalysedInfoCriteriaList);
7982 static int dissect_dp_AnalysedInfoCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7983 return dissect_gsm_map_Dp_AnalysedInfoCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dp_AnalysedInfoCriteriaList);
7986 static const ber_sequence_t T_d_CSI_sequence[] = {
7987 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dp_AnalysedInfoCriteriaList_impl },
7988 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
7989 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7990 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
7991 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
7996 dissect_gsm_map_T_d_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7997 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7998 T_d_CSI_sequence, hf_index, ett_gsm_map_T_d_CSI);
8002 static int dissect_d_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8003 return dissect_gsm_map_T_d_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_CSI);
8007 static const value_string gsm_map_t_BCSM_TriggerDetectionPoint_vals[] = {
8008 { 12, "termAttemptAuthorized" },
8010 { 14, "tNoAnswer" },
8016 dissect_gsm_map_t_BCSM_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8017 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8021 static int dissect_t_BCSM_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8022 return dissect_gsm_map_t_BCSM_TriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_TriggerDetectionPoint);
8026 static const value_string gsm_map_BasicServiceCriteria_item_vals[] = {
8027 { 2, "ext-BearerService" },
8028 { 3, "ext-Teleservice" },
8032 static const ber_choice_t BasicServiceCriteria_item_choice[] = {
8033 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
8034 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
8035 { 0, 0, 0, 0, NULL }
8039 dissect_gsm_map_BasicServiceCriteria_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8040 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8041 BasicServiceCriteria_item_choice, hf_index, ett_gsm_map_BasicServiceCriteria_item);
8045 static int dissect_BasicServiceCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8046 return dissect_gsm_map_BasicServiceCriteria_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceCriteria_item);
8049 static const ber_sequence_t BasicServiceCriteria_sequence_of[1] = {
8050 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceCriteria_item },
8054 dissect_gsm_map_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8055 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8056 BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_BasicServiceCriteria);
8060 static int dissect_basicServiceCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8061 return dissect_gsm_map_BasicServiceCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceCriteria);
8064 static const ber_sequence_t T_CauseValueCriteria_sequence_of[1] = {
8065 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_T_CauseValueCriteria_item },
8069 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_) {
8070 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8071 T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_T_CauseValueCriteria);
8075 static int dissect_t_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8076 return dissect_gsm_map_T_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CauseValueCriteria);
8079 static const ber_sequence_t T_t_BCSM_CAMEL_TDP_CriteriaList_item_sequence[] = {
8080 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint },
8081 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
8082 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
8087 dissect_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8088 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8089 T_t_BCSM_CAMEL_TDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item);
8093 static int dissect_t_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8094 return dissect_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList_item);
8097 static const ber_sequence_t T_t_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
8098 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_item },
8102 dissect_gsm_map_T_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_) {
8103 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8104 T_t_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList);
8108 static int dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8109 return dissect_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList);
8112 static const ber_sequence_t T_vt_CSI_sequence[] = {
8113 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
8114 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8115 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8116 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8117 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8122 dissect_gsm_map_T_vt_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8123 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8124 T_vt_CSI_sequence, hf_index, ett_gsm_map_T_vt_CSI);
8128 static int dissect_vt_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8129 return dissect_gsm_map_T_vt_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_CSI);
8132 static const ber_sequence_t T_vt_BCSM_CAMEL_TDP_CriteriaList_item_sequence[] = {
8133 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint },
8134 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
8135 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
8140 dissect_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8141 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8142 T_vt_BCSM_CAMEL_TDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item);
8146 static int dissect_vt_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8147 return dissect_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList_item);
8150 static const ber_sequence_t T_vt_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
8151 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vt_BCSM_CAMEL_TDP_CriteriaList_item },
8155 dissect_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8156 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8157 T_vt_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList);
8161 static int dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8162 return dissect_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList);
8166 static const value_string gsm_map_T_gprs_TriggerDetectionPoint_vals[] = {
8168 { 2, "attachChangeOfPosition" },
8169 { 11, "pdp-ContextEstablishment" },
8170 { 12, "pdp-ContextEstablishmentAcknowledgement" },
8171 { 14, "pdp-ContextChangeOfPosition" },
8177 dissect_gsm_map_T_gprs_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8178 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8182 static int dissect_gprs_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8183 return dissect_gsm_map_T_gprs_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_TriggerDetectionPoint);
8187 static const value_string gsm_map_T_defaultSessionHandling_vals[] = {
8188 { 0, "continueTransaction" },
8189 { 1, "releaseTransaction" },
8195 dissect_gsm_map_T_defaultSessionHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8196 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8200 static int dissect_defaultSessionHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8201 return dissect_gsm_map_T_defaultSessionHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSessionHandling);
8204 static const ber_sequence_t T_gprs_CamelTDPDataList_item_sequence[] = {
8205 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprs_TriggerDetectionPoint_impl },
8206 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
8207 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8208 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSessionHandling_impl },
8209 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8214 dissect_gsm_map_T_gprs_CamelTDPDataList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8215 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8216 T_gprs_CamelTDPDataList_item_sequence, hf_index, ett_gsm_map_T_gprs_CamelTDPDataList_item);
8220 static int dissect_gprs_CamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8221 return dissect_gsm_map_T_gprs_CamelTDPDataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CamelTDPDataList_item);
8224 static const ber_sequence_t T_gprs_CamelTDPDataList_sequence_of[1] = {
8225 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprs_CamelTDPDataList_item },
8229 dissect_gsm_map_T_gprs_CamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8230 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8231 T_gprs_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_T_gprs_CamelTDPDataList);
8235 static int dissect_gprs_CamelTDPDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8236 return dissect_gsm_map_T_gprs_CamelTDPDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CamelTDPDataList);
8239 static const ber_sequence_t T_gprs_CSI_sequence[] = {
8240 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CamelTDPDataList_impl },
8241 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8242 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8243 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8244 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8249 dissect_gsm_map_T_gprs_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8250 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8251 T_gprs_CSI_sequence, hf_index, ett_gsm_map_T_gprs_CSI);
8255 static int dissect_gprs_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8256 return dissect_gsm_map_T_gprs_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CSI);
8260 static const value_string gsm_map_sms_TriggerDetectionPoint_vals[] = {
8261 { 1, "sms-CollectedInfo" },
8262 { 2, "sms-DeliveryRequest" },
8268 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_) {
8269 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8273 static int dissect_sms_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8274 return dissect_gsm_map_sms_TriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
8276 static int dissect_sms_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8277 return dissect_gsm_map_sms_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
8281 static const value_string gsm_map_T_defaultSMS_Handling_vals[] = {
8282 { 0, "continueTransaction" },
8283 { 1, "releaseTransaction" },
8289 dissect_gsm_map_T_defaultSMS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8290 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8294 static int dissect_defaultSMS_Handling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8295 return dissect_gsm_map_T_defaultSMS_Handling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSMS_Handling);
8298 static const ber_sequence_t Sms_CAMEL_TDP_DataList_item_sequence[] = {
8299 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sms_TriggerDetectionPoint_impl },
8300 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
8301 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8302 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSMS_Handling_impl },
8303 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8308 dissect_gsm_map_Sms_CAMEL_TDP_DataList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8309 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8310 Sms_CAMEL_TDP_DataList_item_sequence, hf_index, ett_gsm_map_Sms_CAMEL_TDP_DataList_item);
8314 static int dissect_Sms_CAMEL_TDP_DataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8315 return dissect_gsm_map_Sms_CAMEL_TDP_DataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Sms_CAMEL_TDP_DataList_item);
8318 static const ber_sequence_t Sms_CAMEL_TDP_DataList_sequence_of[1] = {
8319 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Sms_CAMEL_TDP_DataList_item },
8323 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_) {
8324 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8325 Sms_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_Sms_CAMEL_TDP_DataList);
8329 static int dissect_sms_CAMEL_TDP_DataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8330 return dissect_gsm_map_Sms_CAMEL_TDP_DataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_CAMEL_TDP_DataList);
8333 static const ber_sequence_t T_mo_sms_CSI_sequence[] = {
8334 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sms_CAMEL_TDP_DataList_impl },
8335 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8336 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8337 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8338 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8343 dissect_gsm_map_T_mo_sms_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8344 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8345 T_mo_sms_CSI_sequence, hf_index, ett_gsm_map_T_mo_sms_CSI);
8349 static int dissect_mo_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8350 return dissect_gsm_map_T_mo_sms_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mo_sms_CSI);
8353 static const ber_sequence_t MobilityTriggers_sequence_of[1] = {
8354 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_MobilityTriggers_item },
8358 dissect_gsm_map_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8359 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8360 MobilityTriggers_sequence_of, hf_index, ett_gsm_map_MobilityTriggers);
8364 static int dissect_mobilityTriggers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8365 return dissect_gsm_map_MobilityTriggers(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mobilityTriggers);
8368 static const ber_sequence_t T_m_CSI_sequence[] = {
8369 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
8370 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
8371 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8372 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8373 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8374 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8379 dissect_gsm_map_T_m_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8380 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8381 T_m_CSI_sequence, hf_index, ett_gsm_map_T_m_CSI);
8385 static int dissect_m_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8386 return dissect_gsm_map_T_m_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_m_CSI);
8389 static const asn_namedbit T_specificCSIDeletedList_bits[] = {
8390 { 0, &hf_gsm_map_T_specificCSIDeletedList_o_csi, -1, -1, NULL, NULL },
8391 { 1, &hf_gsm_map_T_specificCSIDeletedList_ss_csi, -1, -1, NULL, NULL },
8392 { 2, &hf_gsm_map_T_specificCSIDeletedList_tif_csi, -1, -1, NULL, NULL },
8393 { 3, &hf_gsm_map_T_specificCSIDeletedList_d_csi, -1, -1, NULL, NULL },
8394 { 4, &hf_gsm_map_T_specificCSIDeletedList_vt_csi, -1, -1, NULL, NULL },
8395 { 5, &hf_gsm_map_T_specificCSIDeletedList_mo_sms_csi, -1, -1, NULL, NULL },
8396 { 6, &hf_gsm_map_T_specificCSIDeletedList_m_csi, -1, -1, NULL, NULL },
8397 { 7, &hf_gsm_map_T_specificCSIDeletedList_gprs_csi, -1, -1, NULL, NULL },
8398 { 8, &hf_gsm_map_T_specificCSIDeletedList_t_csi, -1, -1, NULL, NULL },
8399 { 9, &hf_gsm_map_T_specificCSIDeletedList_mt_sms_csi, -1, -1, NULL, NULL },
8400 { 10, &hf_gsm_map_T_specificCSIDeletedList_mg_csi, -1, -1, NULL, NULL },
8401 { 11, &hf_gsm_map_T_specificCSIDeletedList_o_IM_CSI, -1, -1, NULL, NULL },
8402 { 12, &hf_gsm_map_T_specificCSIDeletedList_d_IM_CSI, -1, -1, NULL, NULL },
8403 { 13, &hf_gsm_map_T_specificCSIDeletedList_vt_IM_CSI, -1, -1, NULL, NULL },
8404 { 0, NULL, 0, 0, NULL, NULL }
8408 dissect_gsm_map_T_specificCSIDeletedList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8409 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8410 T_specificCSIDeletedList_bits, hf_index, ett_gsm_map_T_specificCSIDeletedList,
8415 static int dissect_specificCSIDeletedList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8416 return dissect_gsm_map_T_specificCSIDeletedList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_specificCSIDeletedList);
8419 static const ber_sequence_t T_mt_sms_CSI_sequence[] = {
8420 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sms_CAMEL_TDP_DataList_impl },
8421 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8422 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8423 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8424 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8429 dissect_gsm_map_T_mt_sms_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8430 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8431 T_mt_sms_CSI_sequence, hf_index, ett_gsm_map_T_mt_sms_CSI);
8435 static int dissect_mt_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8436 return dissect_gsm_map_T_mt_sms_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_sms_CSI);
8440 static const value_string gsm_map_T_tpdu_TypeCriterion_item_vals[] = {
8441 { 0, "sms-DELIVER" },
8442 { 1, "sms-SUBMIT-REPORT" },
8443 { 2, "sms-STATUS-REPORT" },
8449 dissect_gsm_map_T_tpdu_TypeCriterion_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8450 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8454 static int dissect_tpdu_TypeCriterion_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8455 return dissect_gsm_map_T_tpdu_TypeCriterion_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_tpdu_TypeCriterion_item);
8458 static const ber_sequence_t T_tpdu_TypeCriterion_sequence_of[1] = {
8459 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_tpdu_TypeCriterion_item },
8463 dissect_gsm_map_T_tpdu_TypeCriterion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8464 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8465 T_tpdu_TypeCriterion_sequence_of, hf_index, ett_gsm_map_T_tpdu_TypeCriterion);
8469 static int dissect_tpdu_TypeCriterion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8470 return dissect_gsm_map_T_tpdu_TypeCriterion(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tpdu_TypeCriterion);
8473 static const ber_sequence_t T_mt_smsCAMELTDP_CriteriaList_item_sequence[] = {
8474 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sms_TriggerDetectionPoint },
8475 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tpdu_TypeCriterion_impl },
8480 dissect_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8481 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8482 T_mt_smsCAMELTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item);
8486 static int dissect_mt_smsCAMELTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8487 return dissect_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mt_smsCAMELTDP_CriteriaList_item);
8490 static const ber_sequence_t T_mt_smsCAMELTDP_CriteriaList_sequence_of[1] = {
8491 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mt_smsCAMELTDP_CriteriaList_item },
8495 dissect_gsm_map_T_mt_smsCAMELTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8496 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8497 T_mt_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList);
8501 static int dissect_mt_smsCAMELTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8502 return dissect_gsm_map_T_mt_smsCAMELTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_smsCAMELTDP_CriteriaList);
8505 static const ber_sequence_t T_mg_csi_sequence[] = {
8506 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
8507 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
8508 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8509 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8510 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8511 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8516 dissect_gsm_map_T_mg_csi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8517 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8518 T_mg_csi_sequence, hf_index, ett_gsm_map_T_mg_csi);
8522 static int dissect_mg_csi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8523 return dissect_gsm_map_T_mg_csi(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mg_csi);
8526 static const ber_sequence_t T_o_IM_CSI_sequence[] = {
8527 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDPDataList },
8528 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8529 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8530 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8531 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csiActive_impl },
8536 dissect_gsm_map_T_o_IM_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8537 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8538 T_o_IM_CSI_sequence, hf_index, ett_gsm_map_T_o_IM_CSI);
8542 static int dissect_o_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8543 return dissect_gsm_map_T_o_IM_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_CSI);
8546 static const ber_sequence_t O_CauseValueCriteria_sequence_of[1] = {
8547 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_O_CauseValueCriteria_item },
8551 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_) {
8552 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8553 O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_O_CauseValueCriteria);
8557 static int dissect_o_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8558 return dissect_gsm_map_O_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CauseValueCriteria);
8561 static const ber_sequence_t T_o_IM_BcsmCamelTDP_CriteriaList_item_sequence[] = {
8562 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
8563 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
8564 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
8565 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
8566 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CauseValueCriteria_impl },
8567 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8572 dissect_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8573 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8574 T_o_IM_BcsmCamelTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item);
8578 static int dissect_o_IM_BcsmCamelTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8579 return dissect_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList_item);
8582 static const ber_sequence_t T_o_IM_BcsmCamelTDP_CriteriaList_sequence_of[1] = {
8583 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_IM_BcsmCamelTDP_CriteriaList_item },
8587 dissect_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8588 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8589 T_o_IM_BcsmCamelTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList);
8593 static int dissect_o_IM_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8594 return dissect_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList);
8597 static const ber_sequence_t T_d_IM_CSI_sequence[] = {
8598 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dp_AnalysedInfoCriteriaList_impl },
8599 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8600 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8601 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8602 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8607 dissect_gsm_map_T_d_IM_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8608 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8609 T_d_IM_CSI_sequence, hf_index, ett_gsm_map_T_d_IM_CSI);
8613 static int dissect_d_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8614 return dissect_gsm_map_T_d_IM_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_IM_CSI);
8617 static const ber_sequence_t T_vt_IM_CSI_sequence[] = {
8618 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
8619 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8620 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8621 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8622 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8627 dissect_gsm_map_T_vt_IM_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8628 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8629 T_vt_IM_CSI_sequence, hf_index, ett_gsm_map_T_vt_IM_CSI);
8633 static int dissect_vt_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8634 return dissect_gsm_map_T_vt_IM_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_CSI);
8637 static const ber_sequence_t T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item_sequence[] = {
8638 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint },
8639 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
8640 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
8645 dissect_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8646 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8647 T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item);
8651 static int dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8652 return dissect_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item);
8655 static const ber_sequence_t T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
8656 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item },
8660 dissect_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList(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_of(implicit_tag, pinfo, tree, tvb, offset,
8662 T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList);
8666 static int dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8667 return dissect_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList);
8670 static const ber_sequence_t T_camel_SubscriptionInfo_sequence[] = {
8671 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
8672 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
8673 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_CSI_impl },
8674 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
8675 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
8676 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_CSI_impl },
8677 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl },
8678 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
8679 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_NotificationToCSE_impl },
8680 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CSI_impl },
8681 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
8682 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
8683 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_m_CSI_impl },
8684 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8685 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificCSIDeletedList_impl },
8686 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
8687 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
8688 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mg_csi_impl },
8689 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_CSI_impl },
8690 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_BcsmCamelTDP_CriteriaList_impl },
8691 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_IM_CSI_impl },
8692 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_CSI_impl },
8693 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl },
8698 dissect_gsm_map_T_camel_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8699 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8700 T_camel_SubscriptionInfo_sequence, hf_index, ett_gsm_map_T_camel_SubscriptionInfo);
8704 static int dissect_camel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8705 return dissect_gsm_map_T_camel_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camel_SubscriptionInfo);
8708 static const asn_namedbit T_supportedVLR_CAMEL_Phases_bits[] = {
8709 { 0, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase1, -1, -1, NULL, NULL },
8710 { 1, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase2, -1, -1, NULL, NULL },
8711 { 2, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase3, -1, -1, NULL, NULL },
8712 { 3, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase4, -1, -1, NULL, NULL },
8713 { 0, NULL, 0, 0, NULL, NULL }
8717 dissect_gsm_map_T_supportedVLR_CAMEL_Phases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8718 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8719 T_supportedVLR_CAMEL_Phases_bits, hf_index, ett_gsm_map_T_supportedVLR_CAMEL_Phases,
8724 static int dissect_supportedVLR_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8725 return dissect_gsm_map_T_supportedVLR_CAMEL_Phases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases);
8728 static const asn_namedbit T_supportedSGSN_CAMEL_Phases_bits[] = {
8729 { 0, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase1, -1, -1, NULL, NULL },
8730 { 1, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase2, -1, -1, NULL, NULL },
8731 { 2, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase3, -1, -1, NULL, NULL },
8732 { 3, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase4, -1, -1, NULL, NULL },
8733 { 0, NULL, 0, 0, NULL, NULL }
8737 dissect_gsm_map_T_supportedSGSN_CAMEL_Phases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8738 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8739 T_supportedSGSN_CAMEL_Phases_bits, hf_index, ett_gsm_map_T_supportedSGSN_CAMEL_Phases,
8744 static int dissect_supportedSGSN_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8745 return dissect_gsm_map_T_supportedSGSN_CAMEL_Phases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases);
8748 static const asn_namedbit T_offeredCamel4CSIsInVLR_bits[] = {
8749 { 0, &hf_gsm_map_T_offeredCamel4CSIsInVLR_o_csi, -1, -1, NULL, NULL },
8750 { 1, &hf_gsm_map_T_offeredCamel4CSIsInVLR_d_csi, -1, -1, NULL, NULL },
8751 { 2, &hf_gsm_map_T_offeredCamel4CSIsInVLR_vt_csi, -1, -1, NULL, NULL },
8752 { 3, &hf_gsm_map_T_offeredCamel4CSIsInVLR_t_csi, -1, -1, NULL, NULL },
8753 { 4, &hf_gsm_map_T_offeredCamel4CSIsInVLR_mt_sms_csi, -1, -1, NULL, NULL },
8754 { 5, &hf_gsm_map_T_offeredCamel4CSIsInVLR_mg_csi, -1, -1, NULL, NULL },
8755 { 6, &hf_gsm_map_T_offeredCamel4CSIsInVLR_psi_enhancements, -1, -1, NULL, NULL },
8756 { 0, NULL, 0, 0, NULL, NULL }
8760 dissect_gsm_map_T_offeredCamel4CSIsInVLR(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8761 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8762 T_offeredCamel4CSIsInVLR_bits, hf_index, ett_gsm_map_T_offeredCamel4CSIsInVLR,
8767 static int dissect_offeredCamel4CSIsInVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8768 return dissect_gsm_map_T_offeredCamel4CSIsInVLR(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInVLR);
8771 static const asn_namedbit T_offeredCamel4CSIsInSGSN_bits[] = {
8772 { 0, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_o_csi, -1, -1, NULL, NULL },
8773 { 1, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_d_csi, -1, -1, NULL, NULL },
8774 { 2, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_vt_csi, -1, -1, NULL, NULL },
8775 { 3, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_t_csi, -1, -1, NULL, NULL },
8776 { 4, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mt_sms_csi, -1, -1, NULL, NULL },
8777 { 5, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mg_csi, -1, -1, NULL, NULL },
8778 { 6, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_psi_enhancements, -1, -1, NULL, NULL },
8779 { 0, NULL, 0, 0, NULL, NULL }
8783 dissect_gsm_map_T_offeredCamel4CSIsInSGSN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8784 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8785 T_offeredCamel4CSIsInSGSN_bits, hf_index, ett_gsm_map_T_offeredCamel4CSIsInSGSN,
8790 static int dissect_offeredCamel4CSIsInSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8791 return dissect_gsm_map_T_offeredCamel4CSIsInSGSN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInSGSN);
8794 static const ber_sequence_t AnyTimeSubscriptionInterrogationRes_sequence[] = {
8795 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callForwardingData_impl },
8796 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callBarringData_impl },
8797 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
8798 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
8799 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_impl },
8800 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_impl },
8801 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8802 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInVLR_impl },
8803 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInSGSN_impl },
8808 dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8809 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8810 AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationRes);
8816 static const value_string gsm_map_BasicService_ext_vals[] = {
8817 { 2, "ext-BearerService" },
8818 { 3, "ext-Teleservice" },
8822 static const ber_choice_t BasicService_ext_choice[] = {
8823 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
8824 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
8825 { 0, 0, 0, 0, NULL }
8829 dissect_gsm_map_BasicService_ext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8830 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8831 BasicService_ext_choice, hf_index, ett_gsm_map_BasicService_ext);
8835 static int dissect_basicService_ext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8836 return dissect_gsm_map_BasicService_ext(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService_ext);
8842 dissect_gsm_map_INTEGER_1_100(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8843 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8847 static int dissect_noReplyConditionTime_1_100_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8848 return dissect_gsm_map_INTEGER_1_100(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noReplyConditionTime_1_100);
8852 static const value_string gsm_map_ModifyNotificationToCSE_vals[] = {
8853 { 0, "deactivate" },
8860 dissect_gsm_map_ModifyNotificationToCSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8861 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8865 static int dissect_modifyNotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8866 return dissect_gsm_map_ModifyNotificationToCSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyNotificationToCSE);
8869 static const ber_sequence_t T_modificationRequestFor_CF_Info_sequence[] = {
8870 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
8871 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_basicService_ext },
8872 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
8873 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
8874 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
8875 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_1_100_impl },
8876 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
8877 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8882 dissect_gsm_map_T_modificationRequestFor_CF_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8883 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8884 T_modificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_CF_Info);
8888 static int dissect_modificationRequestFor_CF_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8889 return dissect_gsm_map_T_modificationRequestFor_CF_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CF_Info);
8892 static const ber_sequence_t T_modificationRequestFor_CB_Info_sequence[] = {
8893 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
8894 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_basicService_ext },
8895 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
8896 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_password_impl },
8897 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_wrongPasswordAttemptsCounter_impl },
8898 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
8899 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8904 dissect_gsm_map_T_modificationRequestFor_CB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8905 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8906 T_modificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_CB_Info);
8910 static int dissect_modificationRequestFor_CB_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8911 return dissect_gsm_map_T_modificationRequestFor_CB_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CB_Info);
8915 static const value_string gsm_map_T_requestedCamel_SubscriptionInfo_vals[] = {
8921 { 5, "mo-sms-CSI" },
8930 dissect_gsm_map_T_requestedCamel_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8931 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8935 static int dissect_requestedCamel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8936 return dissect_gsm_map_T_requestedCamel_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCamel_SubscriptionInfo);
8940 static const value_string gsm_map_T_modifyCSI_State_vals[] = {
8941 { 0, "deactivate" },
8948 dissect_gsm_map_T_modifyCSI_State(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8949 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8953 static int dissect_modifyCSI_State_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8954 return dissect_gsm_map_T_modifyCSI_State(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyCSI_State);
8957 static const ber_sequence_t T_modificationRequestFor_CSI_sequence[] = {
8958 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedCamel_SubscriptionInfo_impl },
8959 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
8960 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyCSI_State_impl },
8961 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8962 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalRequestedCAMEL_SubscriptionInfo_impl },
8967 dissect_gsm_map_T_modificationRequestFor_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8968 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8969 T_modificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_CSI);
8973 static int dissect_modificationRequestFor_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8974 return dissect_gsm_map_T_modificationRequestFor_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CSI);
8977 static const ber_sequence_t T_modificationRequestFor_ODB_data_sequence[] = {
8978 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_data_impl },
8979 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
8980 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8985 dissect_gsm_map_T_modificationRequestFor_ODB_data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8986 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8987 T_modificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_ODB_data);
8991 static int dissect_modificationRequestFor_ODB_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8992 return dissect_gsm_map_T_modificationRequestFor_ODB_data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_ODB_data);
8995 static const ber_sequence_t AnyTimeModificationArg_sequence[] = {
8996 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
8997 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8998 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CF_Info_impl },
8999 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CB_Info_impl },
9000 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CSI_impl },
9001 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9002 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
9003 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_ODB_data_impl },
9008 dissect_gsm_map_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9009 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9010 AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_AnyTimeModificationArg);
9015 static const ber_sequence_t AnyTimeModificationRes_sequence[] = {
9020 dissect_gsm_map_AnyTimeModificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9021 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9022 AnyTimeModificationRes_sequence, hf_index, ett_gsm_map_AnyTimeModificationRes);
9027 static const ber_sequence_t T_ss_EventSpecification_sequence_of[1] = {
9028 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_EventSpecification_item },
9032 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_) {
9033 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
9034 T_ss_EventSpecification_sequence_of, hf_index, ett_gsm_map_T_ss_EventSpecification);
9038 static int dissect_ss_EventSpecification_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9039 return dissect_gsm_map_T_ss_EventSpecification(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification);
9042 static const ber_sequence_t Ss_InvocationNotificationArg_sequence[] = {
9043 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9044 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9045 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ss_Event_impl },
9046 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_EventSpecification_impl },
9047 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9052 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_) {
9053 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9054 Ss_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationArg);
9059 static const ber_sequence_t Ss_InvocationNotificationRes_sequence[] = {
9060 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9065 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_) {
9066 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9067 Ss_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationRes);
9074 dissect_gsm_map_OCTET_STRING_SIZE_5_10(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9075 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9080 static int dissect_codec_Info(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9081 return dissect_gsm_map_OCTET_STRING_SIZE_5_10(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_codec_Info);
9084 static const ber_sequence_t PrepareGroupCallArg_sequence[] = {
9085 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_teleservice },
9086 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_asciCallReference },
9087 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_codec_Info },
9088 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cipheringAlgorithm },
9089 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKeyNumber_impl },
9090 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKey_impl },
9091 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
9092 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkFree_impl },
9093 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9098 dissect_gsm_map_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9099 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9100 PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_PrepareGroupCallArg);
9107 dissect_gsm_map_T_groupCallNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9108 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9113 static int dissect_groupCallNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9114 return dissect_gsm_map_T_groupCallNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupCallNumber);
9117 static const ber_sequence_t PrepareGroupCallRes_sequence[] = {
9118 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupCallNumber },
9119 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9124 dissect_gsm_map_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9125 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9126 PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_PrepareGroupCallRes);
9131 static const ber_sequence_t SendGroupCallEndSignalArg_sequence[] = {
9132 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
9133 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9138 dissect_gsm_map_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9139 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9140 SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalArg);
9145 static const ber_sequence_t SendGroupCallEndSignalRes_sequence[] = {
9146 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9151 dissect_gsm_map_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9152 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9153 SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalRes);
9158 static const ber_sequence_t ProcessGroupCallSignallingArg_sequence[] = {
9159 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequest_impl },
9160 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
9161 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseGroupCall_impl },
9162 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9167 dissect_gsm_map_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9168 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9169 ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ProcessGroupCallSignallingArg);
9174 static const ber_sequence_t ForwardGroupCallSignallingArg_sequence[] = {
9175 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
9176 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequestAck_impl },
9177 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
9178 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRejectCommand_impl },
9179 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkSeizedCommand_impl },
9180 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseCommand_impl },
9181 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9186 dissect_gsm_map_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9187 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9188 ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ForwardGroupCallSignallingArg);
9193 static const ber_sequence_t T_sgsn_Capability_sequence[] = {
9194 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_solsaSupportIndicator },
9195 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9200 dissect_gsm_map_T_sgsn_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9201 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9202 T_sgsn_Capability_sequence, hf_index, ett_gsm_map_T_sgsn_Capability);
9206 static int dissect_sgsn_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9207 return dissect_gsm_map_T_sgsn_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Capability);
9210 static const ber_sequence_t UpdateGprsLocationArg_sequence[] = {
9211 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
9212 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Number },
9213 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Address },
9214 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9215 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Capability_impl },
9220 dissect_gsm_map_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9221 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9222 UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_UpdateGprsLocationArg);
9227 static const ber_sequence_t UpdateGprsLocationRes_sequence[] = {
9228 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
9229 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9234 dissect_gsm_map_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9235 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9236 UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_UpdateGprsLocationRes);
9243 dissect_gsm_map_Ggsn_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9244 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9249 static int dissect_ggsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9250 return dissect_gsm_map_Ggsn_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Number);
9253 static const ber_sequence_t SendRoutingInfoForGprsArg_sequence[] = {
9254 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9255 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9256 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
9257 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9262 dissect_gsm_map_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9263 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9264 SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsArg);
9269 static const ber_sequence_t SendRoutingInfoForGprsRes_sequence[] = {
9270 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
9271 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9272 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mobileNotReachableReason_impl },
9273 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9278 dissect_gsm_map_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9279 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9280 SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsRes);
9285 static const ber_sequence_t FailureReportArg_sequence[] = {
9286 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9287 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
9288 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9289 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9294 dissect_gsm_map_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9295 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9296 FailureReportArg_sequence, hf_index, ett_gsm_map_FailureReportArg);
9301 static const ber_sequence_t FailureReportRes_sequence[] = {
9302 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9303 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9308 dissect_gsm_map_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9309 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9310 FailureReportRes_sequence, hf_index, ett_gsm_map_FailureReportRes);
9315 static const ber_sequence_t NoteMsPresentForGprsArg_sequence[] = {
9316 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9317 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
9318 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9319 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9324 dissect_gsm_map_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9325 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9326 NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsArg);
9331 static const ber_sequence_t NoteMsPresentForGprsRes_sequence[] = {
9332 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9337 dissect_gsm_map_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9338 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9339 NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsRes);
9345 static const value_string gsm_map_LcsClientType_vals[] = {
9346 { 0, "emergencyServices" },
9347 { 1, "valueAddedServices" },
9348 { 2, "plmnOperatorServices" },
9349 { 3, "lawfulInterceptServices" },
9355 dissect_gsm_map_LcsClientType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9356 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9360 static int dissect_lcsClientType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9361 return dissect_gsm_map_LcsClientType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientType);
9364 static const ber_sequence_t LcsClientExternalID_sequence[] = {
9365 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalAddress_impl },
9366 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9371 dissect_gsm_map_LcsClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9372 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9373 LcsClientExternalID_sequence, hf_index, ett_gsm_map_LcsClientExternalID);
9377 static int dissect_lcsClientExternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9378 return dissect_gsm_map_LcsClientExternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientExternalID);
9382 static const value_string gsm_map_LcsClientInternalID_vals[] = {
9383 { 0, "broadcastService" },
9384 { 1, "o-andM-HPLMN" },
9385 { 2, "o-andM-VPLMN" },
9386 { 3, "anonymousLocation" },
9387 { 4, "targetMSsubscribedService" },
9393 dissect_gsm_map_LcsClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9394 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9398 static int dissect_lcsClientInternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9399 return dissect_gsm_map_LcsClientInternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientInternalID);
9402 static const ber_sequence_t LcsClientName_sequence[] = {
9403 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
9404 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_nameString_impl },
9409 dissect_gsm_map_LcsClientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9410 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9411 LcsClientName_sequence, hf_index, ett_gsm_map_LcsClientName);
9415 static int dissect_lcsClientName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9416 return dissect_gsm_map_LcsClientName(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientName);
9419 static const ber_sequence_t Lcs_ClientID_sequence[] = {
9420 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lcsClientType_impl },
9421 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientExternalID_impl },
9422 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientDialedByMS_impl },
9423 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientInternalID_impl },
9424 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientName_impl },
9429 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_) {
9430 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9431 Lcs_ClientID_sequence, hf_index, ett_gsm_map_Lcs_ClientID);
9435 static int dissect_lcs_ClientID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9436 return dissect_gsm_map_Lcs_ClientID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
9438 static int dissect_lcs_ClientID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9439 return dissect_gsm_map_Lcs_ClientID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
9443 static const value_string gsm_map_Lcs_Event_vals[] = {
9444 { 0, "emergencyCallOrigination" },
9445 { 1, "emergencyCallRelease" },
9452 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_) {
9453 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9457 static int dissect_lcs_Event(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9458 return dissect_gsm_map_Lcs_Event(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Event);
9461 static const ber_sequence_t LcsLocationInfo_sequence[] = {
9462 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msc_Number },
9463 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
9464 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9469 dissect_gsm_map_LcsLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9470 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9471 LcsLocationInfo_sequence, hf_index, ett_gsm_map_LcsLocationInfo);
9475 static int dissect_lcsLocationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9476 return dissect_gsm_map_LcsLocationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
9478 static int dissect_lcsLocationInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9479 return dissect_gsm_map_LcsLocationInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
9483 static const value_string gsm_map_T_locationEstimateType_vals[] = {
9484 { 0, "currentLocation" },
9485 { 1, "currentOrLastKnownLocation" },
9486 { 2, "initialLocation" },
9492 dissect_gsm_map_T_locationEstimateType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9493 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9497 static int dissect_locationEstimateType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9498 return dissect_gsm_map_T_locationEstimateType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimateType);
9501 static const ber_sequence_t T_locationType_sequence[] = {
9502 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationEstimateType_impl },
9507 dissect_gsm_map_T_locationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9508 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9509 T_locationType_sequence, hf_index, ett_gsm_map_T_locationType);
9513 static int dissect_locationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9514 return dissect_gsm_map_T_locationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationType);
9519 dissect_gsm_map_T_mlc_Number(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9520 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9525 static int dissect_mlc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9526 return dissect_gsm_map_T_mlc_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mlc_Number);
9530 static const value_string gsm_map_T_responseTimeCategory_vals[] = {
9532 { 1, "delaytolerant" },
9538 dissect_gsm_map_T_responseTimeCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9539 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9543 static int dissect_responseTimeCategory(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9544 return dissect_gsm_map_T_responseTimeCategory(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_responseTimeCategory);
9547 static const ber_sequence_t T_responseTime_sequence[] = {
9548 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_responseTimeCategory },
9553 dissect_gsm_map_T_responseTime(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 T_responseTime_sequence, hf_index, ett_gsm_map_T_responseTime);
9559 static int dissect_responseTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9560 return dissect_gsm_map_T_responseTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_responseTime);
9563 static const ber_sequence_t T_lcs_QoS_sequence[] = {
9564 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_horizontal_accuracy_impl },
9565 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_verticalCoordinateRequest_impl },
9566 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vertical_accuracy_impl },
9567 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseTime_impl },
9568 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9573 dissect_gsm_map_T_lcs_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9574 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9575 T_lcs_QoS_sequence, hf_index, ett_gsm_map_T_lcs_QoS);
9579 static int dissect_lcs_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9580 return dissect_gsm_map_T_lcs_QoS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_QoS);
9583 static const ber_sequence_t ProvideSubscriberLocation_Arg_sequence[] = {
9584 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_locationType },
9585 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_mlc_Number },
9586 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ClientID_impl },
9587 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privacyOverride_impl },
9588 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9589 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9590 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
9591 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
9592 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_Priority_impl },
9593 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_QoS_impl },
9594 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9599 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_) {
9600 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9601 ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Arg);
9606 static const ber_sequence_t ProvideSubscriberLocation_Res_sequence[] = {
9607 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_locationEstimate },
9608 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
9609 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9614 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_) {
9615 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9616 ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Res);
9622 static const value_string gsm_map_TargetMS_vals[] = {
9628 static const ber_choice_t TargetMS_choice[] = {
9629 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9630 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9631 { 0, 0, 0, 0, NULL }
9635 dissect_gsm_map_TargetMS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9636 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9637 TargetMS_choice, hf_index, ett_gsm_map_TargetMS);
9641 static int dissect_targetMS(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9642 return dissect_gsm_map_TargetMS(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMS);
9647 dissect_gsm_map_T_mlcNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9648 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9653 static int dissect_mlcNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9654 return dissect_gsm_map_T_mlcNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mlcNumber);
9657 static const ber_sequence_t RoutingInfoForLCS_Arg_sequence[] = {
9658 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mlcNumber_impl },
9659 { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_targetMS },
9660 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9665 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_) {
9666 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9667 RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Arg);
9672 static const ber_sequence_t RoutingInfoForLCS_Res_sequence[] = {
9673 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_targetMS },
9674 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lcsLocationInfo_impl },
9675 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9680 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_) {
9681 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9682 RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Res);
9689 dissect_gsm_map_T_na_ESRD(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9690 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9695 static int dissect_na_ESRD_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9696 return dissect_gsm_map_T_na_ESRD(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRD);
9701 dissect_gsm_map_T_na_ESRK(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9702 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9707 static int dissect_na_ESRK_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9708 return dissect_gsm_map_T_na_ESRK(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRK);
9711 static const ber_sequence_t SubscriberLocationReport_Arg_sequence[] = {
9712 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_lcs_Event },
9713 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcs_ClientID },
9714 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcsLocationInfo },
9715 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9716 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9717 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
9718 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRD_impl },
9719 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_impl },
9720 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationEstimate_impl },
9721 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
9722 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9727 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_) {
9728 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9729 SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Arg);
9734 static const ber_sequence_t SubscriberLocationReport_Res_sequence[] = {
9735 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9740 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_) {
9741 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9742 SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Res);
9748 static const value_string gsm_map_NetworkResource_vals[] = {
9753 { 4, "controllingMSC" },
9762 dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9763 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9767 static int dissect_networkResource(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9768 return dissect_gsm_map_NetworkResource(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkResource);
9771 static const ber_sequence_t T_extensibleSystemFailureParam_sequence[] = {
9772 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_networkResource },
9773 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9778 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_) {
9779 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9780 T_extensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_T_extensibleSystemFailureParam);
9784 static int dissect_extensibleSystemFailureParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9785 return dissect_gsm_map_T_extensibleSystemFailureParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleSystemFailureParam);
9789 static const value_string gsm_map_SystemFailureParam_vals[] = {
9790 { 0, "networkResource" },
9791 { 1, "extensibleSystemFailureParam" },
9795 static const ber_choice_t SystemFailureParam_choice[] = {
9796 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_networkResource },
9797 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleSystemFailureParam },
9798 { 0, 0, 0, 0, NULL }
9802 dissect_gsm_map_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9803 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9804 SystemFailureParam_choice, hf_index, ett_gsm_map_SystemFailureParam);
9809 static const ber_sequence_t DataMissingParam_sequence[] = {
9810 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9815 dissect_gsm_map_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9816 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9817 DataMissingParam_sequence, hf_index, ett_gsm_map_DataMissingParam);
9822 static const ber_sequence_t UnexpectedDataParam_sequence[] = {
9823 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9828 dissect_gsm_map_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9829 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9830 UnexpectedDataParam_sequence, hf_index, ett_gsm_map_UnexpectedDataParam);
9835 static const ber_sequence_t FacilityNotSupParam_sequence[] = {
9836 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9841 dissect_gsm_map_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9842 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9843 FacilityNotSupParam_sequence, hf_index, ett_gsm_map_FacilityNotSupParam);
9848 static const ber_sequence_t IncompatibleTerminalParam_sequence[] = {
9849 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9854 dissect_gsm_map_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9855 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9856 IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_IncompatibleTerminalParam);
9861 static const ber_sequence_t ResourceLimitationParam_sequence[] = {
9862 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9867 dissect_gsm_map_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9868 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9869 ResourceLimitationParam_sequence, hf_index, ett_gsm_map_ResourceLimitationParam);
9875 static const value_string gsm_map_T_unknownSubscriberDiagnostic_vals[] = {
9876 { 0, "imsiUnknown" },
9877 { 1, "gprsSubscriptionUnknown" },
9883 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_) {
9884 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9888 static int dissect_unknownSubscriberDiagnostic(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9889 return dissect_gsm_map_T_unknownSubscriberDiagnostic(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_unknownSubscriberDiagnostic);
9892 static const ber_sequence_t UnknownSubscriberParam_sequence[] = {
9893 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9894 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_unknownSubscriberDiagnostic },
9899 dissect_gsm_map_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9900 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9901 UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_UnknownSubscriberParam);
9906 static const ber_sequence_t NumberChangedParam_sequence[] = {
9907 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9912 dissect_gsm_map_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9913 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9914 NumberChangedParam_sequence, hf_index, ett_gsm_map_NumberChangedParam);
9919 static const ber_sequence_t UnidentifiedSubParam_sequence[] = {
9920 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9925 dissect_gsm_map_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9926 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9927 UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_UnidentifiedSubParam);
9933 static const value_string gsm_map_T_roamingNotAllowedCause_vals[] = {
9934 { 0, "plmnRoamingNotAllowed" },
9935 { 3, "operatorDeterminedBarring" },
9941 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_) {
9942 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9946 static int dissect_roamingNotAllowedCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9947 return dissect_gsm_map_T_roamingNotAllowedCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNotAllowedCause);
9950 static const ber_sequence_t RoamingNotAllowedParam_sequence[] = {
9951 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_roamingNotAllowedCause },
9952 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9957 dissect_gsm_map_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9958 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9959 RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_RoamingNotAllowedParam);
9964 static const ber_sequence_t IllegalSubscriberParam_sequence[] = {
9965 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9970 dissect_gsm_map_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9971 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9972 IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_IllegalSubscriberParam);
9977 static const ber_sequence_t IllegalEquipmentParam_sequence[] = {
9978 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9983 dissect_gsm_map_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9984 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9985 IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_IllegalEquipmentParam);
9990 static const ber_sequence_t BearerServNotProvParam_sequence[] = {
9991 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9996 dissect_gsm_map_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9997 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9998 BearerServNotProvParam_sequence, hf_index, ett_gsm_map_BearerServNotProvParam);
10003 static const ber_sequence_t TeleservNotProvParam_sequence[] = {
10004 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10009 dissect_gsm_map_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10010 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10011 TeleservNotProvParam_sequence, hf_index, ett_gsm_map_TeleservNotProvParam);
10016 static const ber_sequence_t TracingBufferFullParam_sequence[] = {
10017 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10022 dissect_gsm_map_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10023 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10024 TracingBufferFullParam_sequence, hf_index, ett_gsm_map_TracingBufferFullParam);
10029 static const ber_sequence_t NoRoamingNbParam_sequence[] = {
10030 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10035 dissect_gsm_map_NoRoamingNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10036 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10037 NoRoamingNbParam_sequence, hf_index, ett_gsm_map_NoRoamingNbParam);
10043 static const value_string gsm_map_T_absentSubscriberReason_vals[] = {
10044 { 0, "imsiDetach" },
10045 { 1, "restrictedArea" },
10046 { 2, "noPageResponse" },
10052 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_) {
10053 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10057 static int dissect_absentSubscriberReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10058 return dissect_gsm_map_T_absentSubscriberReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberReason);
10061 static const ber_sequence_t AbsentSubscriberParam_sequence[] = {
10062 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10063 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberReason_impl },
10068 dissect_gsm_map_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10069 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10070 AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_AbsentSubscriberParam);
10075 static const ber_sequence_t BusySubscriberParam_sequence[] = {
10076 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10077 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
10078 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Busy_impl },
10083 dissect_gsm_map_BusySubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10084 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10085 BusySubscriberParam_sequence, hf_index, ett_gsm_map_BusySubscriberParam);
10090 static const ber_sequence_t NoSubscriberReplyParam_sequence[] = {
10091 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10096 dissect_gsm_map_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10097 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10098 NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_NoSubscriberReplyParam);
10104 static const value_string gsm_map_CallBarringCause_vals[] = {
10105 { 0, "barringServiceActive" },
10106 { 1, "operatorBarring" },
10112 dissect_gsm_map_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10113 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10117 static int dissect_callBarringCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10118 return dissect_gsm_map_CallBarringCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringCause);
10121 static const ber_sequence_t T_extensibleCallBarredParam_sequence[] = {
10122 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
10123 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10124 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorisedMessageOriginator_impl },
10129 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_) {
10130 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10131 T_extensibleCallBarredParam_sequence, hf_index, ett_gsm_map_T_extensibleCallBarredParam);
10135 static int dissect_extensibleCallBarredParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10136 return dissect_gsm_map_T_extensibleCallBarredParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleCallBarredParam);
10140 static const value_string gsm_map_CallBarredParam_vals[] = {
10141 { 0, "callBarringCause" },
10142 { 1, "extensibleCallBarredParam" },
10146 static const ber_choice_t CallBarredParam_choice[] = {
10147 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
10148 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleCallBarredParam },
10149 { 0, 0, 0, 0, NULL }
10153 dissect_gsm_map_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10154 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10155 CallBarredParam_choice, hf_index, ett_gsm_map_CallBarredParam);
10160 static const ber_sequence_t ForwardingFailedParam_sequence[] = {
10161 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10166 dissect_gsm_map_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10167 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10168 ForwardingFailedParam_sequence, hf_index, ett_gsm_map_ForwardingFailedParam);
10173 static const ber_sequence_t Or_NotAllowedParam_sequence[] = {
10174 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10179 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_) {
10180 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10181 Or_NotAllowedParam_sequence, hf_index, ett_gsm_map_Or_NotAllowedParam);
10186 static const ber_sequence_t ForwardingViolationParam_sequence[] = {
10187 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10192 dissect_gsm_map_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10193 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10194 ForwardingViolationParam_sequence, hf_index, ett_gsm_map_ForwardingViolationParam);
10200 static const value_string gsm_map_T_cug_RejectCause_vals[] = {
10201 { 0, "incomingCallsBarredWithinCUG" },
10202 { 1, "subscriberNotMemberOfCUG" },
10203 { 5, "requestedBasicServiceViolatesCUG-Constraints" },
10204 { 7, "calledPartySS-InteractionViolation" },
10210 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_) {
10211 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10215 static int dissect_cug_RejectCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10216 return dissect_gsm_map_T_cug_RejectCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_RejectCause);
10219 static const ber_sequence_t Cug_RejectParam_sequence[] = {
10220 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_RejectCause },
10221 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10226 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_) {
10227 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10228 Cug_RejectParam_sequence, hf_index, ett_gsm_map_Cug_RejectParam);
10233 static const ber_sequence_t Ati_NotAllowedParam_sequence[] = {
10234 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10239 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_) {
10240 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10241 Ati_NotAllowedParam_sequence, hf_index, ett_gsm_map_Ati_NotAllowedParam);
10246 static const ber_sequence_t NoGroupCallNbParam_sequence[] = {
10247 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10252 dissect_gsm_map_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10253 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10254 NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_NoGroupCallNbParam);
10259 static const ber_sequence_t Ss_IncompatibilityCause_sequence[] = {
10260 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10261 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
10262 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
10267 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_) {
10268 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10269 Ss_IncompatibilityCause_sequence, hf_index, ett_gsm_map_Ss_IncompatibilityCause);
10275 static const value_string gsm_map_Pw_RegistrationFailureCause_vals[] = {
10276 { 0, "undetermined" },
10277 { 1, "invalidFormat" },
10278 { 2, "newPasswordsMismatch" },
10284 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_) {
10285 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10290 static const ber_sequence_t ShortTermDenialParam_sequence[] = {
10295 dissect_gsm_map_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10296 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10297 ShortTermDenialParam_sequence, hf_index, ett_gsm_map_ShortTermDenialParam);
10302 static const ber_sequence_t LongTermDenialParam_sequence[] = {
10307 dissect_gsm_map_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10308 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10309 LongTermDenialParam_sequence, hf_index, ett_gsm_map_LongTermDenialParam);
10314 static const ber_sequence_t SubBusyForMT_SMS_Param_sequence[] = {
10315 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10316 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gprsConnectionSuspended },
10321 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_) {
10322 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10323 SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_SubBusyForMT_SMS_Param);
10329 static const value_string gsm_map_T_sm_EnumeratedDeliveryFailureCause_vals[] = {
10330 { 0, "memoryCapacityExceeded" },
10331 { 1, "equipmentProtocolError" },
10332 { 2, "equipmentNotSM-Equipped" },
10333 { 3, "unknownServiceCentre" },
10334 { 4, "sc-Congestion" },
10335 { 5, "invalidSME-Address" },
10336 { 6, "subscriberNotSC-Subscriber" },
10342 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_) {
10343 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10347 static int dissect_sm_EnumeratedDeliveryFailureCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10348 return dissect_gsm_map_T_sm_EnumeratedDeliveryFailureCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_EnumeratedDeliveryFailureCause);
10353 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_) {
10354 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10359 static int dissect_diagnosticInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10360 return dissect_gsm_map_OCTET_STRING_SIZE_1_200(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_diagnosticInfo);
10363 static const ber_sequence_t Sm_DeliveryFailureCause_sequence[] = {
10364 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_EnumeratedDeliveryFailureCause },
10365 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnosticInfo },
10366 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10371 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_) {
10372 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10373 Sm_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_Sm_DeliveryFailureCause);
10378 static const ber_sequence_t MessageWaitListFullParam_sequence[] = {
10379 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10384 dissect_gsm_map_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10385 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10386 MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_MessageWaitListFullParam);
10391 static const ber_sequence_t AbsentSubscriberSM_Param_sequence[] = {
10392 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_absentSubscriberDiagnosticSM },
10393 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10394 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
10399 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_) {
10400 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10401 AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_AbsentSubscriberSM_Param);
10406 static const ber_sequence_t UnauthorizedRequestingNetwork_Param_sequence[] = {
10407 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10412 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_) {
10413 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10414 UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_UnauthorizedRequestingNetwork_Param);
10420 static const value_string gsm_map_T_unauthorizedLCSClient_Diagnostic_vals[] = {
10421 { 0, "noAdditionalInformation" },
10422 { 1, "clientNotInMSPrivacyExceptionList" },
10423 { 2, "callToClientNotSetup" },
10424 { 3, "privacyOverrideNotApplicable" },
10425 { 4, "disallowedByLocalRegulatoryRequirements" },
10431 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_) {
10432 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10436 static int dissect_unauthorizedLCSClient_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10437 return dissect_gsm_map_T_unauthorizedLCSClient_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorizedLCSClient_Diagnostic);
10440 static const ber_sequence_t UnauthorizedLCSClient_Param_sequence[] = {
10441 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorizedLCSClient_Diagnostic_impl },
10442 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10447 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_) {
10448 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10449 UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_UnauthorizedLCSClient_Param);
10455 static const value_string gsm_map_T_positionMethodFailure_Diagnostic_vals[] = {
10456 { 0, "congestion" },
10457 { 1, "insufficientResources" },
10458 { 2, "insufficientMeasurementData" },
10459 { 3, "inconsistentMeasurementData" },
10460 { 4, "locationProcedureNotCompleted" },
10461 { 5, "locationProcedureNotSupportedByTargetMS" },
10462 { 6, "qoSNotAttainable" },
10463 { 7, "positionMethodNotAvailableInNetwork" },
10464 { 8, "positionMethodNotAvailableInLocationArea" },
10470 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_) {
10471 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10475 static int dissect_positionMethodFailure_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10476 return dissect_gsm_map_T_positionMethodFailure_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_positionMethodFailure_Diagnostic);
10479 static const ber_sequence_t PositionMethodFailure_Param_sequence[] = {
10480 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_positionMethodFailure_Diagnostic_impl },
10481 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10486 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_) {
10487 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10488 PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_PositionMethodFailure_Param);
10493 static const ber_sequence_t UnknownOrUnreachableLCSClient_Param_sequence[] = {
10494 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10499 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_) {
10500 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10501 UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_UnknownOrUnreachableLCSClient_Param);
10507 /*--- End of included file: packet-gsm_map-fn.c ---*/
10510 /* Stuff included from the "old" packet-gsm_map.c for tapping purposes */
10512 my_match_strval(guint32 val, const value_string *vs, gint *idx)
10516 while (vs[i].strptr) {
10517 if (vs[i].value == val)
10520 return(vs[i].strptr);
10529 /* End includes from old" packet-gsm_map.c */
10531 const value_string gsm_map_opr_code_strings[] = {
10532 { 2, "updateLocation" },
10533 { 3, "cancelLocation" },
10534 { 4, "provideRoamingNumber" },
10535 { 6, "resumeCallHandling" },
10536 { 7, "insertSubscriberData" },
10537 { 8, "deleteSubscriberData" },
10538 { 9, "sendParameters" }, /* map-ac infoRetrieval (14) version1 (1)*/
10539 { 10, "registerSS" },
10541 { 12, "activateSS" },
10542 { 13, "deactivateSS" },
10543 { 14, "interrogateSS" },
10544 { 17, "registerPassword" },
10545 { 18, "getPassword" },
10546 { 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */
10547 { 22, "sendRoutingInfo" },
10548 { 23, "updateGprsLocation" },
10549 { 24, "sendRoutingInfoForGprs" },
10550 { 25, "failureReport" },
10551 { 26, "noteMsPresentForGprs" },
10552 { 28, "performHandover" }, /* map-ac handoverControl (11) version1 (1)*/
10553 { 29, "sendEndSignal" },
10554 { 30, "performSubsequentHandover" }, /* map-ac handoverControl (11) version1 (1) */
10555 { 31, "provideSIWFSNumber" },
10556 { 32, "sIWFSSignallingModify" },
10557 { 33, "processAccessSignalling" },
10558 { 34, "forwardAccessSignalling" },
10559 { 35, "noteInternalHandover" }, /* map-ac handoverControl (11) version1 (1) */
10561 { 38, "forwardCheckSS-Indication" },
10562 { 39, "prepareGroupCall" },
10563 { 40, "sendGroupCallEndSignal" },
10564 { 41, "processGroupCallSignalling" },
10565 { 42, "forwardGroupCallSignalling" },
10566 { 43, "checkIMEI" },
10567 { 44, "mt-forwardSM" },
10568 { 45, "sendRoutingInfoForSM" },
10569 { 46, "mo-forwardSM" },
10570 { 47, "reportSM-DeliveryStatus" },
10571 { 48, "noteSubscriberPresent" }, /* map-ac mwdMngt (24) version1 (1) */
10572 { 49, "alertServiceCentreWithoutResult" }, /* map-ac shortMsgAlert (23) version1 (1) */
10573 { 50, "activateTraceMode" },
10574 { 51, "deactivateTraceMode" },
10575 { 52, "traceSubscriberActivity" }, /* map-ac handoverControl (11) version1 (1) */
10576 { 54, "beginSubscriberActivity" }, /* map-ac networkFunctionalSs (18) version1 (1) */
10577 { 55, "sendIdentification" },
10578 { 56, "sendAuthenticationInfo" },
10579 { 57, "restoreData" },
10580 { 58, "sendIMSI" },
10581 { 59, "processUnstructuredSS-Request" },
10582 { 60, "unstructuredSS-Request" },
10583 { 61, "unstructuredSS-Notify" },
10584 { 62, "anyTimeSubscriptionInterrogation" },
10585 { 63, "informServiceCentre" },
10586 { 64, "alertServiceCentre" },
10587 { 65, "anyTimeModification" },
10588 { 66, "readyForSM" },
10590 { 68, "prepareHandover" },
10591 { 69, "prepareSubsequentHandover" },
10592 { 70, "provideSubscriberInfo" },
10593 { 71, "anyTimeInterrogation" },
10594 { 72, "ss-InvocationNotification" },
10595 { 73, "setReportingState" },
10596 { 74, "statusReport" },
10597 { 75, "remoteUserFree" },
10598 { 76, "registerCC-Entry" },
10599 { 77, "eraseCC-Entry" },
10600 { 83, "provideSubscriberLocation" },
10601 { 85, "sendRoutingInfoForLCS" },
10602 { 86, "subscriberLocationReport" },
10605 static const value_string gsm_map_err_code_string_vals[] = {
10606 { 1, "Unknown Subscriber" },
10607 { 3, "Unknown MSC" },
10608 { 5, "Unidentified Subscriber" },
10609 { 6, "Absent Subscriber SM" },
10610 { 7, "Unknown Equipment" },
10611 { 8, "Roaming Not Allowed" },
10612 { 9, "Illegal Subscriber" },
10613 { 10, "Bearer Service Not Provisioned" },
10614 { 11, "Teleservice Not Provisioned" },
10615 { 12, "Illegal Equipment" },
10616 { 13, "Call Barred" },
10617 { 14, "Forwarding Violation" },
10618 { 15, "CUG Reject" },
10619 { 16, "Illegal SS Operation" },
10620 { 17, "SS Error Status" },
10621 { 18, "SS Not Available" },
10622 { 19, "SS Subscription Violation" },
10623 { 20, "SS Incompatibility" },
10624 { 21, "Facility Not Supported" },
10625 { 25, "No Handover Number Available" },
10626 { 26, "Subsequent Handover Failure" },
10627 { 27, "Absent Subscriber" },
10628 { 28, "Incompatible Terminal" },
10629 { 29, "Short Term Denial" },
10630 { 30, "Long Term Denial" },
10631 { 31, "Subscriber Busy For MT SMS" },
10632 { 32, "SM Delivery Failure" },
10633 { 33, "Message Waiting List Full" },
10634 { 34, "System Failure" },
10635 { 35, "Data Missing" },
10636 { 36, "Unexpected Data Value" },
10637 { 37, "PW Registration Failure" },
10638 { 38, "Negative PW Check" },
10639 { 39, "No Roaming Number Available" },
10640 { 40, "Tracing Buffer Full" },
10641 { 42, "Target Cell Outside Group Call Area" },
10642 { 43, "Number Of PW Attempts Violation" },
10643 { 44, "Number Changed" },
10644 { 45, "Busy Subscriber" },
10645 { 46, "No Subscriber Reply" },
10646 { 47, "Forwarding Failed" },
10647 { 48, "OR Not Allowed" },
10648 { 49, "ATI Not Allowed" },
10649 { 50, "No Group Call Number Available" },
10650 { 51, "Resource Limitation" },
10651 { 52, "Unauthorized Requesting Network" },
10652 { 53, "Unauthorized LCS Client" },
10653 { 54, "Position Method Failure" },
10654 { 58, "Unknown Or Unreachable LCS Client" },
10655 { 59, "MM Event Not Supported" },
10656 { 60, "ATSI Not Allowed" },
10657 { 61, "ATM Not Allowed" },
10658 { 62, "Information Not Available" },
10659 { 71, "Unknown Alphabet" },
10660 { 72, "USSD Busy" },
10661 { 120, "Nbr Sb Exceeded" },
10662 { 121, "Rejected By User" },
10663 { 122, "Rejected By Network" },
10664 { 123, "Deflection To Served Subscriber" },
10665 { 124, "Special Service Code" },
10666 { 125, "Invalid Deflected To Number" },
10667 { 126, "Max Number Of MPTY Participants Exceeded" },
10668 { 127, "Resources Not Available" },
10671 static const true_false_string gsm_map_extension_value = {
10675 static const value_string gsm_map_nature_of_number_values[] = {
10676 { 0x00, "unknown" },
10677 { 0x01, "International Number" },
10678 { 0x02, "National Significant Number" },
10679 { 0x03, "Network Specific Number" },
10680 { 0x04, "Subscriber Number" },
10681 { 0x05, "Reserved" },
10682 { 0x06, "Abbreviated Number" },
10683 { 0x07, "Reserved for extension" },
10686 static const value_string gsm_map_number_plan_values[] = {
10687 { 0x00, "unknown" },
10688 { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
10690 { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
10691 { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
10693 { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
10695 { 0x08, "National Numbering" },
10696 { 0x09, "Private Numbering" },
10697 { 0x0f, "Reserved for extension" },
10701 static const true_false_string gsm_map_Ss_Status_q_bit_values = {
10705 static const true_false_string gsm_map_Ss_Status_p_values = {
10709 static const true_false_string gsm_map_Ss_Status_r_values = {
10713 static const true_false_string gsm_map_Ss_Status_a_values = {
10718 static guint32 opcode=0;
10721 dissect_gsm_map_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
10722 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
10724 if (check_col(pinfo->cinfo, COL_INFO)){
10725 col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
10731 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10736 case 2: /*updateLocation*/
10737 offset=dissect_gsm_map_UpdateLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
10739 case 3: /*cancelLocation*/
10740 octet = tvb_get_guint8(tvb,0) & 0xf;
10741 if ( octet == 3){ /* */
10742 offset = offset +2;
10743 offset=dissect_gsm_map_CancelLocationArg(TRUE, tvb, offset, pinfo, tree, -1);
10745 offset=dissect_gsm_map_CancelLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
10748 case 4: /*provideRoamingNumber*/
10749 offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
10751 case 6: /*resumeCallHandling*/
10752 offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1);
10754 case 7: /*insertSubscriberData*/
10755 offset=dissect_gsm_map_InsertSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10757 case 8: /*deleteSubscriberData*/
10758 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10760 /* TODO find out why this isn't in the ASN1 file
10761 case 9: sendParameters
10762 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10765 case 10: /*registerSS*/
10766 offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10768 case 11: /*eraseSS*/
10769 offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
10771 case 12: /*activateSS*/
10772 offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
10774 case 13: /*deactivateSS*/
10775 offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
10777 case 14: /*interrogateSS*/
10778 offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
10780 case 17: /*registerPassword*/
10781 offset=dissect_gsm_map_Ss_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
10783 case 18: /*getPassword*/
10784 offset=dissect_gsm_map_GetPasswordArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_getPassword);
10786 case 22: /*sendRoutingInfo*/
10787 offset=dissect_gsm_map_SendRoutingInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
10789 case 23: /*updateGprsLocation*/
10790 offset=dissect_gsm_map_UpdateGprsLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
10792 case 24: /*sendRoutingInfoForGprs*/
10793 offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
10795 case 25: /*failureReport*/
10796 offset=dissect_gsm_map_FailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
10798 case 26: /*noteMsPresentForGprs*/
10799 offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
10801 case 29: /*sendEndSignal*/
10802 octet = tvb_get_guint8(tvb,0) & 0xf;
10803 if ( octet == 3){ /* This is a V9 message ??? */
10804 offset = offset +2;
10805 offset=dissect_gsm_map_SendEndSignalV9Arg(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
10807 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
10810 case 31: /*provideSIWFSNumbe*/
10811 offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
10813 case 32: /*sIWFSSignallingModify*/
10814 offset=dissect_gsm_map_SIWFSSignallingModifyArg(FALSE, tvb, offset, pinfo, tree, -1);
10816 case 33: /*processAccessSignalling*/
10817 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
10819 case 34: /*forwardAccessSignalling*/
10820 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
10823 offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1);
10825 case 38: /*forwardCheckSS-Indication*/
10828 case 39: /*prepareGroupCall*/
10829 offset=dissect_gsm_map_PrepareGroupCallArg(FALSE, tvb, offset, pinfo, tree, -1);
10831 case 40: /*sendGroupCallEndSignal*/
10832 dissect_gsm_map_SendGroupCallEndSignalArg(FALSE, tvb, offset, pinfo, tree, -1);
10834 case 42: /*processGroupCallSignalling*/
10835 offset=dissect_gsm_map_ProcessGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
10837 case 43: /*checkIMEI*/
10838 if (application_context_version < 2 ){
10839 offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
10841 offset=dissect_gsm_map_CheckIMEIv2Arg(FALSE, tvb, offset, pinfo, tree, -1);
10844 case 44: /*mt-forwardSM*/
10845 offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
10847 case 45: /*sendRoutingInfoForSM*/
10848 offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
10850 case 46: /*mo-forwardSM*/
10851 offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10853 case 47: /*reportSM-DeliveryStatus*/
10854 offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
10856 case 50: /*activateTraceMode*/
10857 offset=dissect_gsm_map_ActivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
10859 case 51: /*deactivateTraceMode*/
10860 offset=dissect_gsm_map_DeactivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
10862 case 55: /*sendIdentification*/
10863 offset=dissect_gsm_map_Tmsi(FALSE, tvb, offset, pinfo, tree, -1);
10865 case 56: /*sendAuthenticationInfo*/
10866 if (application_context_version < 3 ){
10867 offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
10869 offset=dissect_gsm_map_SendAuthenticationInfoArgV3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoArg);
10872 case 57: /*restoreData*/
10873 offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10875 case 58: /*sendIMSI*/
10876 offset=dissect_gsm_map_Msisdn(FALSE, tvb, offset, pinfo, tree, -1);
10878 case 59: /*processUnstructuredSS-Request*/
10879 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10881 case 60: /*unstructuredSS-Request*/
10882 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10884 case 61: /*unstructuredSS-Notify*/
10885 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10887 case 62: /*AnyTimeSubscriptionInterrogation*/
10888 offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
10890 case 63: /*informServiceCentre*/
10891 offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
10893 case 64: /*alertServiceCentre*/
10894 offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
10896 case 65: /*AnyTimeModification*/
10897 offset=dissect_gsm_map_AnyTimeModificationArg(FALSE, tvb, offset, pinfo, tree, -1);
10899 case 66: /*readyForSM*/
10900 offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10902 case 67: /*purgeMS*/
10903 offset=dissect_gsm_map_PurgeMS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10905 case 68: /*prepareHandover*/
10906 octet = tvb_get_guint8(tvb,0) & 0xf;
10907 if ( octet == 3){ /* This is a V9 message ??? */
10908 offset = offset +2;
10909 offset=dissect_gsm_map_PrepareHandoverV3Arg(TRUE, tvb, offset, pinfo, tree, -1);
10911 offset=dissect_gsm_map_PrepareHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10914 case 69: /*prepareSubsequentHandover*/
10915 offset=dissect_gsm_map_PrepareSubsequentHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10917 case 70: /*provideSubscriberInfo*/
10918 offset=dissect_gsm_map_ProvideSubscriberInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
10920 case 71: /*anyTimeInterrogation*/
10921 offset=dissect_gsm_map_AnyTimeInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
10923 case 72: /*ss-InvocationNotificatio*/
10924 offset=dissect_gsm_map_Ss_InvocationNotificationArg(FALSE, tvb, offset, pinfo, tree, -1);
10926 case 73: /*setReportingState*/
10927 offset=dissect_gsm_map_SetReportingStateArg(FALSE, tvb, offset, pinfo, tree, -1);
10929 case 74: /*statusReport*/
10930 offset=dissect_gsm_map_StatusReportArg(FALSE, tvb, offset, pinfo, tree, -1);
10932 case 75: /*remoteUserFree*/
10933 offset=dissect_gsm_map_RemoteUserFreeArg(FALSE, tvb, offset, pinfo, tree, -1);
10935 case 76: /*registerCC-Entry*/
10936 offset=dissect_gsm_map_RegisterCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
10938 case 77: /*eraseCC-Entry*/
10939 offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
10941 case 83: /*provideSubscriberLocation*/
10942 offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10944 case 85: /*sendRoutingInfoForLCS*/
10945 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10947 case 86: /*subscriberLocationReport*/
10948 offset=dissect_gsm_map_SubscriberLocationReport_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10951 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
10957 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10961 case 2: /*updateLocation*/
10962 octet = tvb_get_guint8(tvb,offset);
10963 /* As it seems like SEQUENCE OF sometimes is omitted, find out if it's there */
10964 if ( octet == 0x30 ){ /* Class 0 Univerasl, P/C 1 Constructed,Tag 16 Sequence OF */
10965 offset=dissect_gsm_map_UpdateLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
10966 }else{ /* Try decoding with IMPLICIT flag set */
10967 offset=dissect_gsm_map_UpdateLocationRes(TRUE, tvb, offset, pinfo, tree, -1);
10970 case 3: /*cancelLocation*/
10971 offset=dissect_gsm_map_CancelLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
10973 case 4: /*provideRoamingNumber*/
10974 offset=dissect_gsm_map_ProvideRoamingNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
10976 case 6: /*resumeCallHandling*/
10977 offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1);
10979 case 7: /*insertSubscriberData*/
10980 offset=dissect_gsm_map_InsertSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
10982 case 8: /*deleteSubscriberData*/
10983 offset=dissect_gsm_map_DeleteSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
10985 /* TODO find out why this isn't in the ASN1 file
10986 case 9: sendParameters
10987 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10990 case 10: /*registerSS*/
10991 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
10993 case 11: /*eraseSS*/
10994 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
10996 case 12: /*activateSS*/
10997 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
10999 case 13: /*deactivateSS*/
11000 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
11002 case 14: /*interrogateSS*/
11003 offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
11005 case 17: /*registerPassword*/
11006 offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
11008 case 18: /*getPassword*/
11009 offset=dissect_gsm_map_CurrentPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentPassword);
11011 case 22: /*sendRoutingInfo*/
11012 /* This is done to get around a problem with IMPLICIT tag:s */
11013 offset = offset +2;
11014 offset=dissect_gsm_map_SendRoutingInfoRes(TRUE, tvb, offset, pinfo, tree, -1);
11016 case 23: /*updateGprsLocation*/
11017 offset=dissect_gsm_map_UpdateGprsLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
11019 case 24: /*sendRoutingInfoForGprs*/
11020 offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
11022 case 25: /*failureReport*/
11023 offset=dissect_gsm_map_FailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
11025 case 26: /*noteMsPresentForGprs*/
11026 offset=dissect_gsm_map_NoteMsPresentForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
11028 case 29: /*sendEndSignal*/
11029 /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
11030 * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
11032 offset=dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, -1);
11034 case 31: /*provideSIWFSNumbe*/
11035 offset=dissect_gsm_map_ProvideSIWFSNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
11037 case 32: /*provideSIWFSNumbe*/
11038 offset=dissect_gsm_map_SIWFSSignallingModifyRes(FALSE, tvb, offset, pinfo, tree, -1);
11040 case 39: /*prepareGroupCall*/
11041 offset=dissect_gsm_map_PrepareGroupCallRes(FALSE, tvb, offset, pinfo, tree, -1);
11043 case 40: /*sendGroupCallEndSignal*/
11044 dissect_gsm_map_SendGroupCallEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
11046 case 43: /*checkIMEI*/
11047 offset=dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_equipmentStatus);
11049 case 45: /*sendRoutingInfoForSM*/
11050 offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
11052 case 46: /*mo-forwardSM*/
11053 offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
11055 case 48: /*reportSM-DeliveryStatus*/
11056 offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
11058 case 50: /*activateTraceMode*/
11059 offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
11061 case 51: /*deactivateTraceMode*/
11062 offset=dissect_gsm_map_DeactivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
11064 case 55: /*sendIdentification*/
11065 offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
11068 offset = dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
11070 case 57: /*restoreData*/
11071 offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
11073 case 58: /*sendIMSI*/
11074 offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
11076 case 59: /*unstructuredSS-Request*/
11077 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
11079 case 60: /*unstructuredSS-Request*/
11080 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
11082 case 61: /*unstructuredSS-Notify*/
11084 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
11086 case 62: /*AnyTimeSubscriptionInterrogation*/
11087 offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
11089 case 65: /*AnyTimeModification*/
11090 offset=dissect_gsm_map_AnyTimeModificationRes(FALSE, tvb, offset, pinfo, tree, -1);
11092 case 66: /*readyForSM*/
11093 offset=dissect_gsm_map_ReadyForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
11095 case 67: /*purgeMS*/
11096 offset=dissect_gsm_map_PurgeMS_Res(FALSE, tvb, offset, pinfo, tree, -1);
11098 case 68: /*prepareHandover*/
11099 octet = tvb_get_guint8(tvb,0) & 0xf;
11100 if ( octet == 3){ /* This is a V9 message ??? */
11101 offset = offset +2;
11102 offset=dissect_gsm_map_PrepareHandoverV3Res(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
11104 offset=dissect_gsm_map_PrepareHO_Res(FALSE, tvb, offset, pinfo, tree, -1);
11107 case 69: /*prepareSubsequentHandover*/
11108 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
11110 case 70: /*provideSubscriberInfo*/
11111 offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
11113 case 71: /*anyTimeInterrogation*/
11114 offset=dissect_gsm_map_AnyTimeInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
11116 case 72: /*ss-InvocationNotificatio*/
11117 offset=dissect_gsm_map_Ss_InvocationNotificationRes(FALSE, tvb, offset, pinfo, tree, -1);
11119 case 73: /*setReportingState*/
11120 offset=dissect_gsm_map_SetReportingStateRes(FALSE, tvb, offset, pinfo, tree, -1);
11122 case 74: /*statusReport*/
11123 offset=dissect_gsm_map_StatusReportRes(FALSE, tvb, offset, pinfo, tree, -1);
11125 case 75: /*remoteUserFree*/
11126 offset=dissect_gsm_map_RemoteUserFreeRes(FALSE, tvb, offset, pinfo, tree, -1);
11128 case 76: /*registerCC-Entry*/
11129 offset=dissect_gsm_map_RegisterCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
11131 case 77: /*eraseCC-Entry*/
11132 offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
11134 case 83: /*provideSubscriberLocation*/
11135 offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1);
11137 case 85: /*sendRoutingInfoForLCS*/
11138 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
11140 case 86: /*subscriberLocationReport*/
11141 offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1);
11144 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
11150 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11151 return dissect_gsm_map_Opcode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeCmd);
11154 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11155 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_invokeid, NULL);
11159 static const value_string InvokeId_vals[] = {
11165 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11166 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absent);
11170 static const ber_choice_t InvokeId_choice[] = {
11171 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
11172 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
11173 { 0, 0, 0, 0, NULL }
11177 dissect_gsm_map_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11178 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11179 InvokeId_choice, hf_index, ett_gsm_map_InvokeId);
11183 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11184 return dissect_gsm_map_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeId);
11187 static const ber_sequence_t InvokePDU_sequence[] = {
11188 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
11189 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
11190 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
11195 dissect_gsm_map_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11196 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11197 InvokePDU_sequence, hf_index, ett_gsm_map_InvokePDU);
11201 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11202 return dissect_gsm_map_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invoke);
11205 static const ber_sequence_t ReturnResult_result_sequence[] = {
11206 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
11207 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
11211 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11212 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
11213 ReturnResult_result_sequence, hf_gsm_map_returnResult_result, ett_gsm_map_ReturnResult_result);
11218 static const ber_sequence_t ReturnResultPDU_sequence[] = {
11219 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
11220 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
11225 dissect_gsm_map_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11226 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11227 ReturnResultPDU_sequence, hf_index, ett_gsm_map_ReturnResultPDU);
11231 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11232 return dissect_gsm_map_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResult);
11236 dissect_local_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11237 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_local_errorCode, NULL);
11241 dissect_global_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11242 offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
11243 hf_gsm_map_global_errorCode_oid, NULL);
11244 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_global_errorCode, NULL);
11246 static const ber_choice_t ReturnError_result_choice[] = {
11247 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_local_errorCode },
11248 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_global_errorCode },
11249 { 0, 0, 0, 0, NULL }
11254 dissect_ReturnError_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11256 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11257 ReturnError_result_choice, hf_gsm_map_returnError_result, ett_gsm_map_ReturnError_result);
11262 static const ber_sequence_t ReturnErrorPDU_sequence[] = {
11263 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
11264 { BER_CLASS_UNI, -1/*choice*/,BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ReturnError_result },
11269 dissect_gsm_map_ReturnErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11270 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11271 ReturnErrorPDU_sequence, hf_index, ett_gsm_map_ReturnErrorPDU);
11275 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11276 return dissect_gsm_map_ReturnErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnError);
11280 static const value_string GSMMAPPDU_vals[] = {
11282 { 2, "ReturnResult " },
11283 { 3, "ReturnError " },
11288 static const ber_choice_t GSMMAPPDU_choice[] = {
11289 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
11290 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
11291 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
11293 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
11295 { 0, 0, 0, 0, NULL }
11298 static guint8 gsmmap_pdu_type = 0;
11299 static guint8 gsm_map_pdu_size = 0;
11302 dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo , proto_tree *tree, int hf_index) {
11304 char *version_ptr, *version_str;
11307 application_context_version = 0;
11308 if (pinfo->private_data != NULL){
11309 version_ptr = strrchr(pinfo->private_data,'.');
11310 version_str = g_strdup(version_ptr+1);
11311 application_context_version = atoi(version_str);
11314 gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
11315 /* Get the length and add 2 */
11316 gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
11318 if (check_col(pinfo->cinfo, COL_INFO)){
11319 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(gsmmap_pdu_type, GSMMAPPDU_vals, "Unknown GSM-MAP PDU (%u)"));
11322 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11323 GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU);
11333 dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
11335 proto_item *item=NULL;
11336 proto_tree *tree=NULL;
11337 /* Used for gsm_map TAP */
11338 static gsm_map_tap_rec_t tap_rec;
11343 if (check_col(pinfo->cinfo, COL_PROTOCOL))
11345 col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
11348 top_tree = parent_tree;
11350 /* create display subtree for the protocol */
11352 item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE);
11353 tree = proto_item_add_subtree(item, ett_gsm_map);
11356 dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
11357 str = my_match_strval(opcode, gsm_map_opr_code_strings, &op_idx);
11359 tap_rec.invoke = FALSE;
11360 if ( gsmmap_pdu_type == 1 )
11361 tap_rec.invoke = TRUE;
11362 tap_rec.opr_code_idx = op_idx;
11363 tap_rec.size = gsm_map_pdu_size;
11365 tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
11370 static const value_string ssCode_vals[] = {
11371 { 0x00, "allSS - all SS" },
11372 { 0x10 ,"allLineIdentificationSS - all line identification SS" },
11373 { 0x11 ,"clip - calling line identification presentation" },
11374 { 0x12 ,"clir - calling line identification restriction" },
11375 { 0x13 ,"colp - connected line identification presentation" },
11376 { 0x14 ,"colr - connected line identification restriction" },
11377 { 0x15 ,"mci - malicious call identification" },
11378 { 0x18 ,"allNameIdentificationSS - all name indentification SS" },
11379 { 0x19 ,"cnap - calling name presentation" },
11380 { 0x20 ,"allForwardingSS - all forwarding SS" },
11381 { 0x21 ,"cfu - call forwarding unconditional" },
11382 { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
11383 { 0x29 ,"cfb - call forwarding busy" },
11384 { 0x2a ,"cfnry - call forwarding on no reply" },
11385 { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
11386 { 0x24 ,"cd - call deflection" },
11387 { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
11388 { 0x31 ,"ect - explicit call transfer" },
11389 { 0x32 ,"mah - mobile access hunting" },
11390 { 0x40 ,"allCallCompletionSS - all Call completion SS" },
11391 { 0x41 ,"cw - call waiting" },
11392 { 0x42 ,"hold - call hold" },
11393 { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
11394 { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
11395 { 0x45 ,"mc - multicall" },
11396 { 0x50 ,"allMultiPartySS - all multiparty SS" },
11397 { 0x51 ,"multiPTY - multiparty" },
11398 { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
11399 { 0x61 ,"cug - closed user group" },
11400 { 0x70 ,"allChargingSS - all charging SS" },
11401 { 0x71 ,"aoci - advice of charge information" },
11402 { 0x72 ,"aocc - advice of charge charging" },
11403 { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
11404 { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
11405 { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
11406 { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
11407 { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
11408 { 0x91 ,"barringOfOutgoingCalls" },
11409 { 0x92 ,"baoc - barring of all outgoing calls" },
11410 { 0x93 ,"boic - barring of outgoing international calls" },
11411 { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
11412 { 0x99 ,"barringOfIncomingCalls" },
11413 { 0x9a ,"baic - barring of all incoming calls" },
11414 { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
11415 { 0xf0 ,"allPLMN-specificSS" },
11416 { 0xa0 ,"allCallPrioritySS - all call priority SS" },
11417 { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
11418 { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
11419 { 0xb1 ,"universal - allow location by any LCS client" },
11420 { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
11421 { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
11422 { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
11423 { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
11424 { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
11425 { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
11426 { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
11428 { 0xf1 ,"plmn-specificSS-1" },
11429 { 0xf2 ,"plmn-specificSS-2" },
11430 { 0xf3 ,"plmn-specificSS-3" },
11431 { 0xf4 ,"plmn-specificSS-4" },
11432 { 0xf5 ,"plmn-specificSS-5" },
11433 { 0xf6 ,"plmn-specificSS-6" },
11434 { 0xf7 ,"plmn-specificSS-7" },
11435 { 0xf8 ,"plmn-specificSS-8" },
11436 { 0xf9 ,"plmn-specificSS-9" },
11437 { 0xfa ,"plmn-specificSS-a" },
11438 { 0xfb ,"plmn-specificSS-b" },
11439 { 0xfc ,"plmn-specificSS-c" },
11440 { 0xfd ,"plmn-specificSS-d" },
11441 { 0xfe ,"plmn-specificSS-e" },
11442 { 0xff ,"plmn-specificSS-f" },
11446 static const value_string Teleservice_vals[] = {
11447 {0x00, "allTeleservices" },
11448 {0x10, "allSpeechTransmissionServices" },
11449 {0x11, "telephony" },
11450 {0x12, "emergencyCalls" },
11451 {0x20, "allShortMessageServices" },
11452 {0x21, "shortMessageMT-PP" },
11453 {0x22, "shortMessageMO-PP" },
11454 {0x60, "allFacsimileTransmissionServices" },
11455 {0x61, "facsimileGroup3AndAlterSpeech" },
11456 {0x62, "automaticFacsimileGroup3" },
11457 {0x63, "facsimileGroup4" },
11459 {0x70, "allDataTeleservices" },
11460 {0x80, "allTeleservices-ExeptSMS" },
11462 {0x90, "allVoiceGroupCallServices" },
11463 {0x91, "voiceGroupCall" },
11464 {0x92, "voiceBroadcastCall" },
11466 {0xd0, "allPLMN-specificTS" },
11467 {0xd1, "plmn-specificTS-1" },
11468 {0xd2, "plmn-specificTS-2" },
11469 {0xd3, "plmn-specificTS-3" },
11470 {0xd4, "plmn-specificTS-4" },
11471 {0xd5, "plmn-specificTS-5" },
11472 {0xd6, "plmn-specificTS-6" },
11473 {0xd7, "plmn-specificTS-7" },
11474 {0xd8, "plmn-specificTS-8" },
11475 {0xd9, "plmn-specificTS-9" },
11476 {0xda, "plmn-specificTS-A" },
11477 {0xdb, "plmn-specificTS-B" },
11478 {0xdc, "plmn-specificTS-C" },
11479 {0xdd, "plmn-specificTS-D" },
11480 {0xde, "plmn-specificTS-E" },
11481 {0xdf, "plmn-specificTS-F" },
11485 /*--- proto_reg_handoff_gsm_map ---------------------------------------*/
11486 static void range_delete_callback(guint32 ssn)
11489 dissector_delete("tcap.itu_ssn", ssn, map_handle);
11493 static void range_add_callback(guint32 ssn)
11496 dissector_add("tcap.itu_ssn", ssn, map_handle);
11500 void proto_reg_handoff_gsm_map(void) {
11502 static int map_prefs_initialized = FALSE;
11503 data_handle = find_dissector("data");
11505 if (!map_prefs_initialized) {
11506 map_prefs_initialized = TRUE;
11507 map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
11510 range_foreach(ssn_range, range_delete_callback);
11514 ssn_range = range_copy(global_ssn_range);
11516 range_foreach(ssn_range, range_add_callback);
11520 /*--- proto_register_gsm_map -------------------------------------------*/
11521 void proto_register_gsm_map(void) {
11522 module_t *gsm_map_module;
11524 /* List of fields */
11525 static hf_register_info hf[] = {
11526 { &hf_gsm_map_invokeCmd,
11527 { "invokeCmd", "gsm_map.invokeCmd",
11528 FT_UINT32, BASE_DEC, VALS(gsm_map_opr_code_strings), 0,
11529 "InvokePDU/invokeCmd", HFILL }},
11530 { &hf_gsm_map_invokeid,
11531 { "invokeid", "gsm_map.invokeid",
11532 FT_INT32, BASE_DEC, NULL, 0,
11533 "InvokeId/invokeid", HFILL }},
11534 { &hf_gsm_map_absent,
11535 { "absent", "gsm_map.absent",
11536 FT_NONE, BASE_NONE, NULL, 0,
11537 "InvokeId/absent", HFILL }},
11538 { &hf_gsm_map_invokeId,
11539 { "invokeId", "gsm_map.invokeId",
11540 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
11541 "InvokePDU/invokeId", HFILL }},
11542 { &hf_gsm_map_SendAuthenticationInfoArg,
11543 { "SendAuthenticationInfoArg", "gsm_map.SendAuthenticationInfoArg",
11544 FT_BYTES, BASE_NONE, NULL, 0,
11545 "SendAuthenticationInfoArg", HFILL }},
11546 { &hf_gsm_map_currentPassword,
11547 { "currentPassword", "gsm_map.currentPassword",
11548 FT_STRING, BASE_NONE, NULL, 0,
11550 { &hf_gsm_mapSendEndSignal,
11551 { "mapSendEndSignalArg", "gsm_map.mapsendendsignalarg",
11552 FT_BYTES, BASE_NONE, NULL, 0,
11553 "mapSendEndSignalArg", HFILL }},
11554 { &hf_gsm_map_invoke,
11555 { "invoke", "gsm_map.invoke",
11556 FT_NONE, BASE_NONE, NULL, 0,
11557 "GSMMAPPDU/invoke", HFILL }},
11558 { &hf_gsm_map_returnResult,
11559 { "returnResult", "gsm_map.returnResult",
11560 FT_NONE, BASE_NONE, NULL, 0,
11561 "GSMMAPPDU/returnResult", HFILL }},
11562 {&hf_gsm_map_returnResult_result,
11563 { "returnResult_result", "gsm_map.returnresultresult",
11564 FT_BYTES, BASE_NONE, NULL, 0,
11565 "returnResult_result", HFILL }},
11566 {&hf_gsm_map_returnError_result,
11567 { "returnError_result", "gsm_map.returnerrorresult",
11568 FT_UINT32, BASE_DEC, NULL, 0,
11569 "returnError_result", HFILL }},
11570 {&hf_gsm_map_returnError,
11571 { "returnError", "gsm_map.returnError",
11572 FT_NONE, BASE_NONE, NULL, 0,
11573 "GSMMAPPDU/returnError", HFILL }},
11574 {&hf_gsm_map_local_errorCode,
11575 { "Local Error Code", "gsm_map.localerrorCode",
11576 FT_UINT32, BASE_DEC, VALS(gsm_map_err_code_string_vals), 0,
11577 "localerrorCode", HFILL }},
11578 {&hf_gsm_map_global_errorCode_oid,
11579 { "Global Error Code OID", "gsm_map.hlobalerrorCodeoid",
11580 FT_BYTES, BASE_NONE, NULL, 0,
11581 "globalerrorCodeoid", HFILL }},
11582 {&hf_gsm_map_global_errorCode,
11583 { "Global Error Code", "gsm_map.globalerrorCode",
11584 FT_UINT32, BASE_DEC, NULL, 0,
11585 "globalerrorCode", HFILL }},
11586 { &hf_gsm_map_getPassword,
11587 { "Password", "gsm_map.password",
11588 FT_UINT8, BASE_DEC, VALS(gsm_map_GetPasswordArg_vals), 0,
11589 "Password", HFILL }},
11590 { &hf_gsm_map_extension,
11591 { "Extension", "gsm_map.extension",
11592 FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
11593 "Extension", HFILL }},
11594 { &hf_gsm_map_nature_of_number,
11595 { "Nature of number", "gsm_map.nature_of_number",
11596 FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70,
11597 "ature of number", HFILL }},
11598 { &hf_gsm_map_number_plan,
11599 { "Number plan", "gsm_map.number_plan",
11600 FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f,
11601 "Number plan", HFILL }},
11602 { &hf_gsm_map_misdn_digits,
11603 { "Misdn digits", "gsm_map.misdn_digits",
11604 FT_STRING, BASE_NONE, NULL, 0,
11605 "Misdn digits", HFILL }},
11606 { &hf_gsm_map_servicecentreaddress_digits,
11607 { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
11608 FT_STRING, BASE_NONE, NULL, 0,
11609 "ServiceCentreAddress digits", HFILL }},
11610 { &hf_gsm_map_map_gmsc_address_digits,
11611 { "Gmsc Address digits digits", "gsm_map.gmsc_address_digits",
11612 FT_STRING, BASE_NONE, NULL, 0,
11613 "Gmsc Address digits", HFILL }},
11614 { &hf_gsm_map_imsi_digits,
11615 { "Imsi digits", "gsm_map.imsi_digits",
11616 FT_STRING, BASE_NONE, NULL, 0,
11617 "Imsi digits", HFILL }},
11618 {&hf_gsm_map_map_RoamingNumber_digits,
11619 { "RoamingNumber digits", "gsm_map.RoamingNumber_digits",
11620 FT_STRING, BASE_NONE, NULL, 0,
11621 "RoamingNumber digits", HFILL }},
11622 {&hf_gsm_map_map_hlr_number_digits,
11623 { "Hlr-Number digits", "gsm_map.hlr_number_digits",
11624 FT_STRING, BASE_NONE, NULL, 0,
11625 "Hlr-Number digits", HFILL }},
11626 {&hf_gsm_map_map_ForwardedToNumber_digits,
11627 { "Forwarded To Number digits", "gsm_map.forwardedtonumber_digits",
11628 FT_STRING, BASE_NONE, NULL, 0,
11629 "Forwarded To Number digits", HFILL }},
11630 { &hf_gsm_map_Ss_Status_unused,
11631 { "Unused", "gsm_map.unused",
11632 FT_UINT8, BASE_HEX, NULL, 0xf0,
11633 "Unused", HFILL }},
11634 { &hf_gsm_map_Ss_Status_q_bit,
11635 { "Q bit", "gsm_map.ss_status_q_bit",
11636 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
11638 { &hf_gsm_map_Ss_Status_p_bit,
11639 { "P bit", "gsm_map.ss_status_p_bit",
11640 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
11642 { &hf_gsm_map_Ss_Status_r_bit,
11643 { "R bit", "gsm_map.ss_status_r_bit",
11644 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
11646 { &hf_gsm_map_Ss_Status_a_bit,
11647 { "A bit", "gsm_map.ss_status_a_bit",
11648 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
11652 /*--- Included file: packet-gsm_map-hfarr.c ---*/
11654 { &hf_gsm_map_protocolId,
11655 { "protocolId", "gsm_map.protocolId",
11656 FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
11657 "Bss-APDU/protocolId", HFILL }},
11658 { &hf_gsm_map_signalInfo,
11659 { "signalInfo", "gsm_map.signalInfo",
11660 FT_BYTES, BASE_HEX, NULL, 0,
11661 "Bss-APDU/signalInfo", HFILL }},
11662 { &hf_gsm_map_extensionContainer,
11663 { "extensionContainer", "gsm_map.extensionContainer",
11664 FT_NONE, BASE_NONE, NULL, 0,
11666 { &hf_gsm_map_accessNetworkProtocolId,
11667 { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId",
11668 FT_UINT32, BASE_DEC, VALS(gsm_map_T_accessNetworkProtocolId_vals), 0,
11669 "An-APDU/accessNetworkProtocolId", HFILL }},
11670 { &hf_gsm_map_signalInfo2,
11671 { "signalInfo2", "gsm_map.signalInfo2",
11672 FT_BYTES, BASE_HEX, NULL, 0,
11673 "An-APDU/signalInfo2", HFILL }},
11674 { &hf_gsm_map_supportedCamelPhases,
11675 { "supportedCamelPhases", "gsm_map.supportedCamelPhases",
11676 FT_BYTES, BASE_HEX, NULL, 0,
11678 { &hf_gsm_map_solsaSupportIndicator,
11679 { "solsaSupportIndicator", "gsm_map.solsaSupportIndicator",
11680 FT_NONE, BASE_NONE, NULL, 0,
11682 { &hf_gsm_map_istSupportIndicator,
11683 { "istSupportIndicator", "gsm_map.istSupportIndicator",
11684 FT_UINT32, BASE_DEC, VALS(gsm_map_T_istSupportIndicator_vals), 0,
11685 "Vlr-Capability/istSupportIndicator", HFILL }},
11686 { &hf_gsm_map_superChargerSupportedInServingNetworkEntity,
11687 { "superChargerSupportedInServingNetworkEntity", "gsm_map.superChargerSupportedInServingNetworkEntity",
11688 FT_UINT32, BASE_DEC, VALS(gsm_map_T_superChargerSupportedInServingNetworkEntity_vals), 0,
11689 "Vlr-Capability/superChargerSupportedInServingNetworkEntity", HFILL }},
11690 { &hf_gsm_map_sendSubscriberData,
11691 { "sendSubscriberData", "gsm_map.sendSubscriberData",
11692 FT_NONE, BASE_NONE, NULL, 0,
11693 "Vlr-Capability/superChargerSupportedInServingNetworkEntity/sendSubscriberData", HFILL }},
11694 { &hf_gsm_map_subscriberDataStored,
11695 { "subscriberDataStored", "gsm_map.subscriberDataStored",
11696 FT_BYTES, BASE_HEX, NULL, 0,
11697 "Vlr-Capability/superChargerSupportedInServingNetworkEntity/subscriberDataStored", HFILL }},
11698 { &hf_gsm_map_longFTN_Supported,
11699 { "longFTN-Supported", "gsm_map.longFTN_Supported",
11700 FT_NONE, BASE_NONE, NULL, 0,
11702 { &hf_gsm_map_supportedLCS_CapabilitySets,
11703 { "supportedLCS-CapabilitySets", "gsm_map.supportedLCS_CapabilitySets",
11704 FT_BYTES, BASE_HEX, NULL, 0,
11705 "Vlr-Capability/supportedLCS-CapabilitySets", HFILL }},
11706 { &hf_gsm_map_offeredCamel4CSIs,
11707 { "offeredCamel4CSIs", "gsm_map.offeredCamel4CSIs",
11708 FT_BYTES, BASE_HEX, NULL, 0,
11709 "Vlr-Capability/offeredCamel4CSIs", HFILL }},
11710 { &hf_gsm_map_imsi,
11711 { "imsi", "gsm_map.imsi",
11712 FT_BYTES, BASE_HEX, NULL, 0,
11714 { &hf_gsm_map_msc_Number,
11715 { "msc-Number", "gsm_map.msc_Number",
11716 FT_BYTES, BASE_HEX, NULL, 0,
11718 { &hf_gsm_map_vlr_Number,
11719 { "vlr-Number", "gsm_map.vlr_Number",
11720 FT_BYTES, BASE_HEX, NULL, 0,
11722 { &hf_gsm_map_lmsi,
11723 { "lmsi", "gsm_map.lmsi",
11724 FT_BYTES, BASE_HEX, NULL, 0,
11726 { &hf_gsm_map_vlr_Capability,
11727 { "vlr-Capability", "gsm_map.vlr_Capability",
11728 FT_NONE, BASE_NONE, NULL, 0,
11730 { &hf_gsm_map_informPreviousNetworkEntity,
11731 { "informPreviousNetworkEntity", "gsm_map.informPreviousNetworkEntity",
11732 FT_NONE, BASE_NONE, NULL, 0,
11733 "UpdateLocationArg/informPreviousNetworkEntity", HFILL }},
11734 { &hf_gsm_map_cs_LCS_NotSupportedByUE,
11735 { "cs-LCS-NotSupportedByUE", "gsm_map.cs_LCS_NotSupportedByUE",
11736 FT_NONE, BASE_NONE, NULL, 0,
11737 "UpdateLocationArg/cs-LCS-NotSupportedByUE", HFILL }},
11738 { &hf_gsm_map_v_gmlc_Address,
11739 { "v-gmlc-Address", "gsm_map.v_gmlc_Address",
11740 FT_BYTES, BASE_HEX, NULL, 0,
11741 "UpdateLocationArg/v-gmlc-Address", HFILL }},
11742 { &hf_gsm_map_add_info,
11743 { "add-info", "gsm_map.add_info",
11744 FT_NONE, BASE_NONE, NULL, 0,
11745 "UpdateLocationArg/add-info", HFILL }},
11746 { &hf_gsm_map_imeisv,
11747 { "imeisv", "gsm_map.imeisv",
11748 FT_BYTES, BASE_HEX, NULL, 0,
11749 "UpdateLocationArg/add-info/imeisv", HFILL }},
11750 { &hf_gsm_map_skipSubscriberDataUpdate,
11751 { "skipSubscriberDataUpdate", "gsm_map.skipSubscriberDataUpdate",
11752 FT_NONE, BASE_NONE, NULL, 0,
11753 "UpdateLocationArg/add-info/skipSubscriberDataUpdate", HFILL }},
11754 { &hf_gsm_map_hlr_Number,
11755 { "hlr-Number", "gsm_map.hlr_Number",
11756 FT_BYTES, BASE_HEX, NULL, 0,
11758 { &hf_gsm_map_PrivateExtensionList_item,
11759 { "Item", "gsm_map.PrivateExtensionList_item",
11760 FT_NONE, BASE_NONE, NULL, 0,
11761 "PrivateExtensionList/_item", HFILL }},
11762 { &hf_gsm_map_extId,
11763 { "extId", "gsm_map.extId",
11764 FT_STRING, BASE_NONE, NULL, 0,
11765 "PrivateExtension/extId", HFILL }},
11766 { &hf_gsm_map_extType,
11767 { "extType", "gsm_map.extType",
11768 FT_NONE, BASE_NONE, NULL, 0,
11769 "PrivateExtension/extType", HFILL }},
11770 { &hf_gsm_map_identity,
11771 { "identity", "gsm_map.identity",
11772 FT_UINT32, BASE_DEC, VALS(gsm_map_T_identity_vals), 0,
11773 "CancelLocationArg/identity", HFILL }},
11774 { &hf_gsm_map_imsi_WithLMSI,
11775 { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI",
11776 FT_NONE, BASE_NONE, NULL, 0,
11777 "CancelLocationArg/identity/imsi-WithLMSI", HFILL }},
11778 { &hf_gsm_map_cancellationType,
11779 { "cancellationType", "gsm_map.cancellationType",
11780 FT_UINT32, BASE_DEC, VALS(gsm_map_CancellationType_vals), 0,
11781 "CancelLocationArg/cancellationType", HFILL }},
11782 { &hf_gsm_map_sgsn_Number,
11783 { "sgsn-Number", "gsm_map.sgsn_Number",
11784 FT_BYTES, BASE_HEX, NULL, 0,
11786 { &hf_gsm_map_freezeTMSI,
11787 { "freezeTMSI", "gsm_map.freezeTMSI",
11788 FT_NONE, BASE_NONE, NULL, 0,
11789 "PurgeMS-Res/freezeTMSI", HFILL }},
11790 { &hf_gsm_map_freezeP_TMSI,
11791 { "freezeP-TMSI", "gsm_map.freezeP_TMSI",
11792 FT_NONE, BASE_NONE, NULL, 0,
11793 "PurgeMS-Res/freezeP-TMSI", HFILL }},
11794 { &hf_gsm_map_sendId_authenticationSetList,
11795 { "authenticationSetList", "gsm_map.authenticationSetList",
11796 FT_NONE, BASE_NONE, NULL, 0,
11797 "SendIdentificationRes/authenticationSetList", HFILL }},
11798 { &hf_gsm_map_authenticationSetList_item,
11799 { "Item", "gsm_map.authenticationSetList_item",
11800 FT_NONE, BASE_NONE, NULL, 0,
11801 "SendIdentificationRes/authenticationSetList/_item", HFILL }},
11802 { &hf_gsm_map_rand,
11803 { "rand", "gsm_map.rand",
11804 FT_BYTES, BASE_HEX, NULL, 0,
11806 { &hf_gsm_map_sres,
11807 { "sres", "gsm_map.sres",
11808 FT_BYTES, BASE_HEX, NULL, 0,
11811 { "kc", "gsm_map.kc",
11812 FT_BYTES, BASE_HEX, NULL, 0,
11814 { &hf_gsm_map_targetCellId,
11815 { "targetCellId", "gsm_map.targetCellId",
11816 FT_BYTES, BASE_HEX, NULL, 0,
11818 { &hf_gsm_map_ho_NumberNotRequired,
11819 { "ho-NumberNotRequired", "gsm_map.ho_NumberNotRequired",
11820 FT_NONE, BASE_NONE, NULL, 0,
11822 { &hf_gsm_map_bss_APDU,
11823 { "bss-APDU", "gsm_map.bss_APDU",
11824 FT_NONE, BASE_NONE, NULL, 0,
11826 { &hf_gsm_map_targetRNCId,
11827 { "targetRNCId", "gsm_map.targetRNCId",
11828 FT_BYTES, BASE_HEX, NULL, 0,
11829 "PrepareHandoverV3Arg/targetRNCId", HFILL }},
11830 { &hf_gsm_map_an_APDU,
11831 { "an-APDU", "gsm_map.an_APDU",
11832 FT_NONE, BASE_NONE, NULL, 0,
11834 { &hf_gsm_map_multipleBearerRequested,
11835 { "multipleBearerRequested", "gsm_map.multipleBearerRequested",
11836 FT_NONE, BASE_NONE, NULL, 0,
11837 "PrepareHandoverV3Arg/multipleBearerRequested", HFILL }},
11838 { &hf_gsm_map_integrityProtectionInfo,
11839 { "integrityProtectionInfo", "gsm_map.integrityProtectionInfo",
11840 FT_BYTES, BASE_HEX, NULL, 0,
11841 "PrepareHandoverV3Arg/integrityProtectionInfo", HFILL }},
11842 { &hf_gsm_map_encryptionInfo,
11843 { "encryptionInfo", "gsm_map.encryptionInfo",
11844 FT_BYTES, BASE_HEX, NULL, 0,
11845 "PrepareHandoverV3Arg/encryptionInfo", HFILL }},
11846 { &hf_gsm_map_radioResourceInformation,
11847 { "radioResourceInformation", "gsm_map.radioResourceInformation",
11848 FT_BYTES, BASE_HEX, NULL, 0,
11850 { &hf_gsm_map_allowedGSM_Algorithms,
11851 { "allowedGSM-Algorithms", "gsm_map.allowedGSM_Algorithms",
11852 FT_BYTES, BASE_HEX, NULL, 0,
11853 "PrepareHandoverV3Arg/allowedGSM-Algorithms", HFILL }},
11854 { &hf_gsm_map_allowedUMTS_Algorithms,
11855 { "allowedUMTS-Algorithms", "gsm_map.allowedUMTS_Algorithms",
11856 FT_NONE, BASE_NONE, NULL, 0,
11857 "PrepareHandoverV3Arg/allowedUMTS-Algorithms", HFILL }},
11858 { &hf_gsm_map_integrityProtectionAlgorithms,
11859 { "integrityProtectionAlgorithms", "gsm_map.integrityProtectionAlgorithms",
11860 FT_BYTES, BASE_HEX, NULL, 0,
11861 "PrepareHandoverV3Arg/allowedUMTS-Algorithms/integrityProtectionAlgorithms", HFILL }},
11862 { &hf_gsm_map_encryptionAlgorithms,
11863 { "encryptionAlgorithms", "gsm_map.encryptionAlgorithms",
11864 FT_BYTES, BASE_HEX, NULL, 0,
11865 "PrepareHandoverV3Arg/allowedUMTS-Algorithms/encryptionAlgorithms", HFILL }},
11866 { &hf_gsm_map_radioResourceList,
11867 { "radioResourceList", "gsm_map.radioResourceList",
11868 FT_NONE, BASE_NONE, NULL, 0,
11869 "PrepareHandoverV3Arg/radioResourceList", HFILL }},
11870 { &hf_gsm_map_radioResourceList_item,
11871 { "Item", "gsm_map.radioResourceList_item",
11872 FT_NONE, BASE_NONE, NULL, 0,
11873 "PrepareHandoverV3Arg/radioResourceList/_item", HFILL }},
11874 { &hf_gsm_map_rab_Id,
11875 { "rab-Id", "gsm_map.rab_Id",
11876 FT_UINT32, BASE_DEC, NULL, 0,
11878 { &hf_gsm_map_bssmap_ServiceHandover,
11879 { "bssmap-ServiceHandover", "gsm_map.bssmap_ServiceHandover",
11880 FT_BYTES, BASE_HEX, NULL, 0,
11882 { &hf_gsm_map_ranap_ServiceHandover,
11883 { "ranap-ServiceHandover", "gsm_map.ranap_ServiceHandover",
11884 FT_BYTES, BASE_HEX, NULL, 0,
11885 "PrepareHandoverV3Arg/ranap-ServiceHandover", HFILL }},
11886 { &hf_gsm_map_bssmap_ServiceHandoverList,
11887 { "bssmap-ServiceHandoverList", "gsm_map.bssmap_ServiceHandoverList",
11888 FT_NONE, BASE_NONE, NULL, 0,
11889 "PrepareHandoverV3Arg/bssmap-ServiceHandoverList", HFILL }},
11890 { &hf_gsm_map_bssmap_ServiceHandoverList_item,
11891 { "Item", "gsm_map.bssmap_ServiceHandoverList_item",
11892 FT_NONE, BASE_NONE, NULL, 0,
11893 "PrepareHandoverV3Arg/bssmap-ServiceHandoverList/_item", HFILL }},
11894 { &hf_gsm_map_asciCallReference,
11895 { "asciCallReference", "gsm_map.asciCallReference",
11896 FT_BYTES, BASE_HEX, NULL, 0,
11898 { &hf_gsm_map_geran_classmark,
11899 { "geran-classmark", "gsm_map.geran_classmark",
11900 FT_BYTES, BASE_HEX, NULL, 0,
11901 "PrepareHandoverV3Arg/geran-classmark", HFILL }},
11902 { &hf_gsm_map_iuCurrentlyUsedCodec,
11903 { "iuCurrentlyUsedCodec", "gsm_map.iuCurrentlyUsedCodec",
11904 FT_BYTES, BASE_HEX, NULL, 0,
11905 "PrepareHandoverV3Arg/iuCurrentlyUsedCodec", HFILL }},
11906 { &hf_gsm_map_iuSupportedCodecsList,
11907 { "iuSupportedCodecsList", "gsm_map.iuSupportedCodecsList",
11908 FT_NONE, BASE_NONE, NULL, 0,
11909 "PrepareHandoverV3Arg/iuSupportedCodecsList", HFILL }},
11910 { &hf_gsm_map_utranCodecList,
11911 { "utranCodecList", "gsm_map.utranCodecList",
11912 FT_NONE, BASE_NONE, NULL, 0,
11913 "PrepareHandoverV3Arg/iuSupportedCodecsList/utranCodecList", HFILL }},
11914 { &hf_gsm_map_codec1,
11915 { "codec1", "gsm_map.codec1",
11916 FT_BYTES, BASE_HEX, NULL, 0,
11918 { &hf_gsm_map_codec2,
11919 { "codec2", "gsm_map.codec2",
11920 FT_BYTES, BASE_HEX, NULL, 0,
11922 { &hf_gsm_map_codec3,
11923 { "codec3", "gsm_map.codec3",
11924 FT_BYTES, BASE_HEX, NULL, 0,
11926 { &hf_gsm_map_codec4,
11927 { "codec4", "gsm_map.codec4",
11928 FT_BYTES, BASE_HEX, NULL, 0,
11930 { &hf_gsm_map_codec5,
11931 { "codec5", "gsm_map.codec5",
11932 FT_BYTES, BASE_HEX, NULL, 0,
11934 { &hf_gsm_map_codec6,
11935 { "codec6", "gsm_map.codec6",
11936 FT_BYTES, BASE_HEX, NULL, 0,
11938 { &hf_gsm_map_codec7,
11939 { "codec7", "gsm_map.codec7",
11940 FT_BYTES, BASE_HEX, NULL, 0,
11942 { &hf_gsm_map_codec8,
11943 { "codec8", "gsm_map.codec8",
11944 FT_BYTES, BASE_HEX, NULL, 0,
11946 { &hf_gsm_map_geranCodecList,
11947 { "geranCodecList", "gsm_map.geranCodecList",
11948 FT_NONE, BASE_NONE, NULL, 0,
11949 "PrepareHandoverV3Arg/iuSupportedCodecsList/utranCodecList/geranCodecList", HFILL }},
11950 { &hf_gsm_map_rab_ConfigurationIndicator,
11951 { "rab-ConfigurationIndicator", "gsm_map.rab_ConfigurationIndicator",
11952 FT_NONE, BASE_NONE, NULL, 0,
11953 "PrepareHandoverV3Arg/rab-ConfigurationIndicator", HFILL }},
11954 { &hf_gsm_map_uesbi_Iu,
11955 { "uesbi-Iu", "gsm_map.uesbi_Iu",
11956 FT_NONE, BASE_NONE, NULL, 0,
11957 "PrepareHandoverV3Arg/uesbi-Iu", HFILL }},
11958 { &hf_gsm_map_uesbi_IuA,
11959 { "uesbi-IuA", "gsm_map.uesbi_IuA",
11960 FT_BYTES, BASE_HEX, NULL, 0,
11962 { &hf_gsm_map_uesbi_IuB,
11963 { "uesbi-IuB", "gsm_map.uesbi_IuB",
11964 FT_BYTES, BASE_HEX, NULL, 0,
11966 { &hf_gsm_map_handoverNumber,
11967 { "handoverNumber", "gsm_map.handoverNumber",
11968 FT_BYTES, BASE_HEX, NULL, 0,
11970 { &hf_gsm_map_relocationNumberList,
11971 { "relocationNumberList", "gsm_map.relocationNumberList",
11972 FT_NONE, BASE_NONE, NULL, 0,
11973 "PrepareHandoverV3Res/relocationNumberList", HFILL }},
11974 { &hf_gsm_map_relocationNumberList_item,
11975 { "Item", "gsm_map.relocationNumberList_item",
11976 FT_NONE, BASE_NONE, NULL, 0,
11977 "PrepareHandoverV3Res/relocationNumberList/_item", HFILL }},
11978 { &hf_gsm_map_multicallBearerInfo,
11979 { "multicallBearerInfo", "gsm_map.multicallBearerInfo",
11980 FT_UINT32, BASE_DEC, NULL, 0,
11981 "PrepareHandoverV3Res/multicallBearerInfo", HFILL }},
11982 { &hf_gsm_map_multipleBearerNotSupported,
11983 { "multipleBearerNotSupported", "gsm_map.multipleBearerNotSupported",
11984 FT_NONE, BASE_NONE, NULL, 0,
11985 "PrepareHandoverV3Res/multipleBearerNotSupported", HFILL }},
11986 { &hf_gsm_map_selectedUMTS_Algorithms,
11987 { "selectedUMTS-Algorithms", "gsm_map.selectedUMTS_Algorithms",
11988 FT_NONE, BASE_NONE, NULL, 0,
11989 "PrepareHandoverV3Res/selectedUMTS-Algorithms", HFILL }},
11990 { &hf_gsm_map_integrityProtectionAlgorithm,
11991 { "integrityProtectionAlgorithm", "gsm_map.integrityProtectionAlgorithm",
11992 FT_BYTES, BASE_HEX, NULL, 0,
11993 "PrepareHandoverV3Res/selectedUMTS-Algorithms/integrityProtectionAlgorithm", HFILL }},
11994 { &hf_gsm_map_encryptionAlgorithm,
11995 { "encryptionAlgorithm", "gsm_map.encryptionAlgorithm",
11996 FT_BYTES, BASE_HEX, NULL, 0,
11997 "PrepareHandoverV3Res/selectedUMTS-Algorithms/encryptionAlgorithm", HFILL }},
11998 { &hf_gsm_map_chosenRadioResourceInformation,
11999 { "chosenRadioResourceInformation", "gsm_map.chosenRadioResourceInformation",
12000 FT_NONE, BASE_NONE, NULL, 0,
12001 "PrepareHandoverV3Res/chosenRadioResourceInformation", HFILL }},
12002 { &hf_gsm_map_chosenChannelInfo,
12003 { "chosenChannelInfo", "gsm_map.chosenChannelInfo",
12004 FT_BYTES, BASE_HEX, NULL, 0,
12005 "PrepareHandoverV3Res/chosenRadioResourceInformation/chosenChannelInfo", HFILL }},
12006 { &hf_gsm_map_chosenSpeechVersion,
12007 { "chosenSpeechVersion", "gsm_map.chosenSpeechVersion",
12008 FT_BYTES, BASE_HEX, NULL, 0,
12009 "PrepareHandoverV3Res/chosenRadioResourceInformation/chosenSpeechVersion", HFILL }},
12010 { &hf_gsm_map_iuSelectedCodec,
12011 { "iuSelectedCodec", "gsm_map.iuSelectedCodec",
12012 FT_BYTES, BASE_HEX, NULL, 0,
12013 "PrepareHandoverV3Res/iuSelectedCodec", HFILL }},
12014 { &hf_gsm_map_iuAvailableCodecsList,
12015 { "iuAvailableCodecsList", "gsm_map.iuAvailableCodecsList",
12016 FT_NONE, BASE_NONE, NULL, 0,
12017 "PrepareHandoverV3Res/iuAvailableCodecsList", HFILL }},
12018 { &hf_gsm_map_targetMSC_Number,
12019 { "targetMSC-Number", "gsm_map.targetMSC_Number",
12020 FT_BYTES, BASE_HEX, NULL, 0,
12021 "PrepareSubsequentHO-Arg/targetMSC-Number", HFILL }},
12022 { &hf_gsm_map_numberOfRequestedVectors,
12023 { "numberOfRequestedVectors", "gsm_map.numberOfRequestedVectors",
12024 FT_UINT32, BASE_DEC, NULL, 0,
12025 "SendAuthenticationInfoArgV3/numberOfRequestedVectors", HFILL }},
12026 { &hf_gsm_map_segmentationProhibited,
12027 { "segmentationProhibited", "gsm_map.segmentationProhibited",
12028 FT_NONE, BASE_NONE, NULL, 0,
12029 "SendAuthenticationInfoArgV3/segmentationProhibited", HFILL }},
12030 { &hf_gsm_map_immediateResponsePreferred,
12031 { "immediateResponsePreferred", "gsm_map.immediateResponsePreferred",
12032 FT_NONE, BASE_NONE, NULL, 0,
12033 "SendAuthenticationInfoArgV3/immediateResponsePreferred", HFILL }},
12034 { &hf_gsm_map_re_synchronisationInfo,
12035 { "re-synchronisationInfo", "gsm_map.re_synchronisationInfo",
12036 FT_NONE, BASE_NONE, NULL, 0,
12037 "SendAuthenticationInfoArgV3/re-synchronisationInfo", HFILL }},
12038 { &hf_gsm_map_auts,
12039 { "auts", "gsm_map.auts",
12040 FT_BYTES, BASE_HEX, NULL, 0,
12041 "SendAuthenticationInfoArgV3/re-synchronisationInfo/auts", HFILL }},
12042 { &hf_gsm_map_requestingNodeType,
12043 { "requestingNodeType", "gsm_map.requestingNodeType",
12044 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestingNodeType_vals), 0,
12045 "SendAuthenticationInfoArgV3/requestingNodeType", HFILL }},
12046 { &hf_gsm_map_requestingPLMN_Id,
12047 { "requestingPLMN-Id", "gsm_map.requestingPLMN_Id",
12048 FT_BYTES, BASE_HEX, NULL, 0,
12049 "SendAuthenticationInfoArgV3/requestingPLMN-Id", HFILL }},
12050 { &hf_gsm_map_SendAuthenticationInfoRes_item,
12051 { "Item", "gsm_map.SendAuthenticationInfoRes_item",
12052 FT_NONE, BASE_NONE, NULL, 0,
12053 "SendAuthenticationInfoRes/_item", HFILL }},
12054 { &hf_gsm_map_authenticationSetList,
12055 { "authenticationSetList", "gsm_map.authenticationSetList",
12056 FT_UINT32, BASE_DEC, VALS(gsm_map_T_authenticationSetList_vals), 0,
12057 "SendAuthenticationInfoV3Res/authenticationSetList", HFILL }},
12058 { &hf_gsm_map_tripletList,
12059 { "tripletList", "gsm_map.tripletList",
12060 FT_NONE, BASE_NONE, NULL, 0,
12061 "SendAuthenticationInfoV3Res/authenticationSetList/tripletList", HFILL }},
12062 { &hf_gsm_map_tripletList_item,
12063 { "Item", "gsm_map.tripletList_item",
12064 FT_NONE, BASE_NONE, NULL, 0,
12065 "SendAuthenticationInfoV3Res/authenticationSetList/tripletList/_item", HFILL }},
12066 { &hf_gsm_map_quintupletList,
12067 { "quintupletList", "gsm_map.quintupletList",
12068 FT_NONE, BASE_NONE, NULL, 0,
12069 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList", HFILL }},
12070 { &hf_gsm_map_quintupletList_item,
12071 { "Item", "gsm_map.quintupletList_item",
12072 FT_NONE, BASE_NONE, NULL, 0,
12073 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item", HFILL }},
12074 { &hf_gsm_map_xres,
12075 { "xres", "gsm_map.xres",
12076 FT_BYTES, BASE_HEX, NULL, 0,
12077 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/xres", HFILL }},
12079 { "ck", "gsm_map.ck",
12080 FT_BYTES, BASE_HEX, NULL, 0,
12081 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/ck", HFILL }},
12083 { "ik", "gsm_map.ik",
12084 FT_BYTES, BASE_HEX, NULL, 0,
12085 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/ik", HFILL }},
12086 { &hf_gsm_map_autn,
12087 { "autn", "gsm_map.autn",
12088 FT_BYTES, BASE_HEX, NULL, 0,
12089 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/autn", HFILL }},
12090 { &hf_gsm_map_imei,
12091 { "imei", "gsm_map.imei",
12092 FT_BYTES, BASE_HEX, NULL, 0,
12094 { &hf_gsm_map_requestedEquipmentInfo,
12095 { "requestedEquipmentInfo", "gsm_map.requestedEquipmentInfo",
12096 FT_BYTES, BASE_HEX, NULL, 0,
12097 "CheckIMEIv2Arg/requestedEquipmentInfo", HFILL }},
12098 { &hf_gsm_map_equipmentStatus,
12099 { "equipmentStatus", "gsm_map.equipmentStatus",
12100 FT_UINT32, BASE_DEC, VALS(gsm_map_EquipmentStatus_vals), 0,
12101 "ChekIMEIv3Res/equipmentStatus", HFILL }},
12102 { &hf_gsm_map_bmuef,
12103 { "bmuef", "gsm_map.bmuef",
12104 FT_NONE, BASE_NONE, NULL, 0,
12105 "ChekIMEIv3Res/bmuef", HFILL }},
12106 { &hf_gsm_map_bearerService,
12107 { "bearerService", "gsm_map.bearerService",
12108 FT_BYTES, BASE_HEX, NULL, 0,
12109 "BasicService/bearerService", HFILL }},
12110 { &hf_gsm_map_teleservice,
12111 { "teleservice", "gsm_map.teleservice",
12112 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
12114 { &hf_gsm_map_BasicServiceGroupList_item,
12115 { "Item", "gsm_map.BasicServiceGroupList_item",
12116 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
12117 "BasicServiceGroupList/_item", HFILL }},
12118 { &hf_gsm_map_bcsmTriggerDetectionPoint,
12119 { "bcsmTriggerDetectionPoint", "gsm_map.bcsmTriggerDetectionPoint",
12120 FT_UINT32, BASE_DEC, VALS(gsm_map_BcsmTriggerDetectionPoint_vals), 0,
12121 "BcsmCamelTDPData/bcsmTriggerDetectionPoint", HFILL }},
12122 { &hf_gsm_map_serviceKey,
12123 { "serviceKey", "gsm_map.serviceKey",
12124 FT_UINT32, BASE_DEC, NULL, 0,
12126 { &hf_gsm_map_gsmSCFAddress,
12127 { "gsmSCFAddress", "gsm_map.gsmSCFAddress",
12128 FT_BYTES, BASE_HEX, NULL, 0,
12129 "BcsmCamelTDPData/gsmSCFAddress", HFILL }},
12130 { &hf_gsm_map_defaultCallHandling,
12131 { "defaultCallHandling", "gsm_map.defaultCallHandling",
12132 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultCallHandling_vals), 0,
12134 { &hf_gsm_map_BcsmCamelTDPDataList_item,
12135 { "Item", "gsm_map.BcsmCamelTDPDataList_item",
12136 FT_NONE, BASE_NONE, NULL, 0,
12137 "BcsmCamelTDPDataList/_item", HFILL }},
12138 { &hf_gsm_map_o_BcsmCamelTDPDataList,
12139 { "o-BcsmCamelTDPDataList", "gsm_map.o_BcsmCamelTDPDataList",
12140 FT_NONE, BASE_NONE, NULL, 0,
12142 { &hf_gsm_map_camelCapabilityHandling,
12143 { "camelCapabilityHandling", "gsm_map.camelCapabilityHandling",
12144 FT_UINT32, BASE_DEC, NULL, 0,
12146 { &hf_gsm_map_msisdn,
12147 { "msisdn", "gsm_map.msisdn",
12148 FT_BYTES, BASE_HEX, NULL, 0,
12150 { &hf_gsm_map_category,
12151 { "category", "gsm_map.category",
12152 FT_BYTES, BASE_HEX, NULL, 0,
12153 "InsertSubscriberDataArg/category", HFILL }},
12154 { &hf_gsm_map_subscriberStatus,
12155 { "subscriberStatus", "gsm_map.subscriberStatus",
12156 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberStatus_vals), 0,
12157 "InsertSubscriberDataArg/subscriberStatus", HFILL }},
12158 { &hf_gsm_map_bearerServiceList,
12159 { "bearerServiceList", "gsm_map.bearerServiceList",
12160 FT_NONE, BASE_NONE, NULL, 0,
12162 { &hf_gsm_map_bearerServiceList_item,
12163 { "Item", "gsm_map.bearerServiceList_item",
12164 FT_BYTES, BASE_HEX, NULL, 0,
12166 { &hf_gsm_map_teleserviceList,
12167 { "teleserviceList", "gsm_map.teleserviceList",
12168 FT_NONE, BASE_NONE, NULL, 0,
12170 { &hf_gsm_map_teleserviceList_item,
12171 { "Item", "gsm_map.teleserviceList_item",
12172 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
12174 { &hf_gsm_map_provisionedSS,
12175 { "provisionedSS", "gsm_map.provisionedSS",
12176 FT_NONE, BASE_NONE, NULL, 0,
12177 "InsertSubscriberDataArg/provisionedSS", HFILL }},
12178 { &hf_gsm_map_provisionedSS_item,
12179 { "Item", "gsm_map.provisionedSS_item",
12180 FT_UINT32, BASE_DEC, VALS(gsm_map_T_provisionedSS_item_vals), 0,
12181 "InsertSubscriberDataArg/provisionedSS/_item", HFILL }},
12182 { &hf_gsm_map_forwardingInfo,
12183 { "forwardingInfo", "gsm_map.forwardingInfo",
12184 FT_NONE, BASE_NONE, NULL, 0,
12186 { &hf_gsm_map_callBarringInfo,
12187 { "callBarringInfo", "gsm_map.callBarringInfo",
12188 FT_NONE, BASE_NONE, NULL, 0,
12190 { &hf_gsm_map_cug_Info,
12191 { "cug-Info", "gsm_map.cug_Info",
12192 FT_NONE, BASE_NONE, NULL, 0,
12193 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info", HFILL }},
12194 { &hf_gsm_map_cug_SubscriptionList,
12195 { "cug-SubscriptionList", "gsm_map.cug_SubscriptionList",
12196 FT_NONE, BASE_NONE, NULL, 0,
12197 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList", HFILL }},
12198 { &hf_gsm_map_cug_SubscriptionList_item,
12199 { "Item", "gsm_map.cug_SubscriptionList_item",
12200 FT_NONE, BASE_NONE, NULL, 0,
12201 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList/_item", HFILL }},
12202 { &hf_gsm_map_cug_Index,
12203 { "cug-Index", "gsm_map.cug_Index",
12204 FT_UINT32, BASE_DEC, NULL, 0,
12205 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList/_item/cug-Index", HFILL }},
12206 { &hf_gsm_map_cug_Interlock,
12207 { "cug-Interlock", "gsm_map.cug_Interlock",
12208 FT_BYTES, BASE_HEX, NULL, 0,
12210 { &hf_gsm_map_intraCUG_Options,
12211 { "intraCUG-Options", "gsm_map.intraCUG_Options",
12212 FT_UINT32, BASE_DEC, VALS(gsm_map_IntraCUG_Options_vals), 0,
12213 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList/_item/intraCUG-Options", HFILL }},
12214 { &hf_gsm_map_basicServiceGroupList,
12215 { "basicServiceGroupList", "gsm_map.basicServiceGroupList",
12216 FT_NONE, BASE_NONE, NULL, 0,
12218 { &hf_gsm_map_cug_FeatureList,
12219 { "cug-FeatureList", "gsm_map.cug_FeatureList",
12220 FT_NONE, BASE_NONE, NULL, 0,
12221 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList", HFILL }},
12222 { &hf_gsm_map_cug_FeatureList_item,
12223 { "Item", "gsm_map.cug_FeatureList_item",
12224 FT_NONE, BASE_NONE, NULL, 0,
12225 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList/_item", HFILL }},
12226 { &hf_gsm_map_basicService,
12227 { "basicService", "gsm_map.basicService",
12228 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
12230 { &hf_gsm_map_preferentialCUG_Indicator,
12231 { "preferentialCUG-Indicator", "gsm_map.preferentialCUG_Indicator",
12232 FT_UINT32, BASE_DEC, NULL, 0,
12233 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList/_item/preferentialCUG-Indicator", HFILL }},
12234 { &hf_gsm_map_interCUG_Restrictions,
12235 { "interCUG-Restrictions", "gsm_map.interCUG_Restrictions",
12236 FT_BYTES, BASE_HEX, NULL, 0,
12237 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList/_item/interCUG-Restrictions", HFILL }},
12238 { &hf_gsm_map_ss_Data,
12239 { "ss-Data", "gsm_map.ss_Data",
12240 FT_NONE, BASE_NONE, NULL, 0,
12242 { &hf_gsm_map_emlpp_Info,
12243 { "emlpp-Info", "gsm_map.emlpp_Info",
12244 FT_NONE, BASE_NONE, NULL, 0,
12245 "InsertSubscriberDataArg/provisionedSS/_item/emlpp-Info", HFILL }},
12246 { &hf_gsm_map_maximumentitledPriority,
12247 { "maximumentitledPriority", "gsm_map.maximumentitledPriority",
12248 FT_UINT32, BASE_DEC, NULL, 0,
12249 "InsertSubscriberDataArg/provisionedSS/_item/emlpp-Info/maximumentitledPriority", HFILL }},
12250 { &hf_gsm_map_defaultPriority,
12251 { "defaultPriority", "gsm_map.defaultPriority",
12252 FT_UINT32, BASE_DEC, NULL, 0,
12254 { &hf_gsm_map_odb_Data,
12255 { "odb-Data", "gsm_map.odb_Data",
12256 FT_NONE, BASE_NONE, NULL, 0,
12258 { &hf_gsm_map_roamingRestrictionDueToUnsupportedFeature,
12259 { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.roamingRestrictionDueToUnsupportedFeature",
12260 FT_NONE, BASE_NONE, NULL, 0,
12262 { &hf_gsm_map_regionalSubscriptionData,
12263 { "regionalSubscriptionData", "gsm_map.regionalSubscriptionData",
12264 FT_NONE, BASE_NONE, NULL, 0,
12265 "InsertSubscriberDataArg/regionalSubscriptionData", HFILL }},
12266 { &hf_gsm_map_regionalSubscriptionData_item,
12267 { "Item", "gsm_map.regionalSubscriptionData_item",
12268 FT_BYTES, BASE_HEX, NULL, 0,
12269 "InsertSubscriberDataArg/regionalSubscriptionData/_item", HFILL }},
12270 { &hf_gsm_map_vbsSubscriptionData,
12271 { "vbsSubscriptionData", "gsm_map.vbsSubscriptionData",
12272 FT_NONE, BASE_NONE, NULL, 0,
12273 "InsertSubscriberDataArg/vbsSubscriptionData", HFILL }},
12274 { &hf_gsm_map_vbsSubscriptionData_item,
12275 { "Item", "gsm_map.vbsSubscriptionData_item",
12276 FT_NONE, BASE_NONE, NULL, 0,
12277 "InsertSubscriberDataArg/vbsSubscriptionData/_item", HFILL }},
12278 { &hf_gsm_map_groupid,
12279 { "groupid", "gsm_map.groupid",
12280 FT_BYTES, BASE_HEX, NULL, 0,
12281 "InsertSubscriberDataArg/vbsSubscriptionData/_item/groupid", HFILL }},
12282 { &hf_gsm_map_broadcastInitEntitlement,
12283 { "broadcastInitEntitlement", "gsm_map.broadcastInitEntitlement",
12284 FT_NONE, BASE_NONE, NULL, 0,
12285 "InsertSubscriberDataArg/vbsSubscriptionData/_item/broadcastInitEntitlement", HFILL }},
12286 { &hf_gsm_map_vgcsSubscriptionData,
12287 { "vgcsSubscriptionData", "gsm_map.vgcsSubscriptionData",
12288 FT_NONE, BASE_NONE, NULL, 0,
12289 "InsertSubscriberDataArg/vgcsSubscriptionData", HFILL }},
12290 { &hf_gsm_map_vgcsSubscriptionData_item,
12291 { "Item", "gsm_map.vgcsSubscriptionData_item",
12292 FT_NONE, BASE_NONE, NULL, 0,
12293 "InsertSubscriberDataArg/vgcsSubscriptionData/_item", HFILL }},
12294 { &hf_gsm_map_groupId,
12295 { "groupId", "gsm_map.groupId",
12296 FT_BYTES, BASE_HEX, NULL, 0,
12297 "InsertSubscriberDataArg/vgcsSubscriptionData/_item/groupId", HFILL }},
12298 { &hf_gsm_map_vlrCamelSubscriptionInfo,
12299 { "vlrCamelSubscriptionInfo", "gsm_map.vlrCamelSubscriptionInfo",
12300 FT_NONE, BASE_NONE, NULL, 0,
12301 "InsertSubscriberDataArg/vlrCamelSubscriptionInfo", HFILL }},
12302 { &hf_gsm_map_o_CSI,
12303 { "o-CSI", "gsm_map.o_CSI",
12304 FT_NONE, BASE_NONE, NULL, 0,
12306 { &hf_gsm_map_ss_CSI,
12307 { "ss-CSI", "gsm_map.ss_CSI",
12308 FT_NONE, BASE_NONE, NULL, 0,
12310 { &hf_gsm_map_ss_CamelData,
12311 { "ss-CamelData", "gsm_map.ss_CamelData",
12312 FT_NONE, BASE_NONE, NULL, 0,
12314 { &hf_gsm_map_o_BcsmCamelTDP_CriteriaList,
12315 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.o_BcsmCamelTDP_CriteriaList",
12316 FT_NONE, BASE_NONE, NULL, 0,
12318 { &hf_gsm_map_tif_CSI,
12319 { "tif-CSI", "gsm_map.tif_CSI",
12320 FT_NONE, BASE_NONE, NULL, 0,
12322 { &hf_gsm_map_naea_PreferredCI,
12323 { "naea-PreferredCI", "gsm_map.naea_PreferredCI",
12324 FT_NONE, BASE_NONE, NULL, 0,
12326 { &hf_gsm_map_gprsSubscriptionData,
12327 { "gprsSubscriptionData", "gsm_map.gprsSubscriptionData",
12328 FT_NONE, BASE_NONE, NULL, 0,
12329 "InsertSubscriberDataArg/gprsSubscriptionData", HFILL }},
12330 { &hf_gsm_map_completeDataListIncluded,
12331 { "completeDataListIncluded", "gsm_map.completeDataListIncluded",
12332 FT_NONE, BASE_NONE, NULL, 0,
12334 { &hf_gsm_map_gprsDataList,
12335 { "gprsDataList", "gsm_map.gprsDataList",
12336 FT_NONE, BASE_NONE, NULL, 0,
12337 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList", HFILL }},
12338 { &hf_gsm_map_gprsDataList_item,
12339 { "Item", "gsm_map.gprsDataList_item",
12340 FT_NONE, BASE_NONE, NULL, 0,
12341 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item", HFILL }},
12342 { &hf_gsm_map_pdp_ContextId,
12343 { "pdp-ContextId", "gsm_map.pdp_ContextId",
12344 FT_UINT32, BASE_DEC, NULL, 0,
12345 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item/pdp-ContextId", HFILL }},
12346 { &hf_gsm_map_pdp_Type,
12347 { "pdp-Type", "gsm_map.pdp_Type",
12348 FT_BYTES, BASE_HEX, NULL, 0,
12350 { &hf_gsm_map_pdp_Address,
12351 { "pdp-Address", "gsm_map.pdp_Address",
12352 FT_BYTES, BASE_HEX, NULL, 0,
12354 { &hf_gsm_map_qos_Subscribed,
12355 { "qos-Subscribed", "gsm_map.qos_Subscribed",
12356 FT_BYTES, BASE_HEX, NULL, 0,
12358 { &hf_gsm_map_vplmnAddressAllowed,
12359 { "vplmnAddressAllowed", "gsm_map.vplmnAddressAllowed",
12360 FT_NONE, BASE_NONE, NULL, 0,
12361 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item/vplmnAddressAllowed", HFILL }},
12363 { "apn", "gsm_map.apn",
12364 FT_BYTES, BASE_HEX, NULL, 0,
12365 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item/apn", HFILL }},
12366 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature,
12367 { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsupportedFeature",
12368 FT_NONE, BASE_NONE, NULL, 0,
12369 "InsertSubscriberDataArg/roamingRestrictedInSgsnDueToUnsupportedFeature", HFILL }},
12370 { &hf_gsm_map_networkAccessMode,
12371 { "networkAccessMode", "gsm_map.networkAccessMode",
12372 FT_UINT32, BASE_DEC, VALS(gsm_map_T_networkAccessMode_vals), 0,
12373 "InsertSubscriberDataArg/networkAccessMode", HFILL }},
12374 { &hf_gsm_map_lsaInformation,
12375 { "lsaInformation", "gsm_map.lsaInformation",
12376 FT_NONE, BASE_NONE, NULL, 0,
12377 "InsertSubscriberDataArg/lsaInformation", HFILL }},
12378 { &hf_gsm_map_lsaOnlyAccessIndicator,
12379 { "lsaOnlyAccessIndicator", "gsm_map.lsaOnlyAccessIndicator",
12380 FT_UINT32, BASE_DEC, VALS(gsm_map_T_lsaOnlyAccessIndicator_vals), 0,
12381 "InsertSubscriberDataArg/lsaInformation/lsaOnlyAccessIndicator", HFILL }},
12382 { &hf_gsm_map_lsaDataList,
12383 { "lsaDataList", "gsm_map.lsaDataList",
12384 FT_NONE, BASE_NONE, NULL, 0,
12385 "InsertSubscriberDataArg/lsaInformation/lsaDataList", HFILL }},
12386 { &hf_gsm_map_lsaDataList_item,
12387 { "Item", "gsm_map.lsaDataList_item",
12388 FT_NONE, BASE_NONE, NULL, 0,
12389 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item", HFILL }},
12390 { &hf_gsm_map_lsaIdentity,
12391 { "lsaIdentity", "gsm_map.lsaIdentity",
12392 FT_BYTES, BASE_HEX, NULL, 0,
12393 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item/lsaIdentity", HFILL }},
12394 { &hf_gsm_map_lsaAttributes,
12395 { "lsaAttributes", "gsm_map.lsaAttributes",
12396 FT_BYTES, BASE_HEX, NULL, 0,
12397 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item/lsaAttributes", HFILL }},
12398 { &hf_gsm_map_lsaActiveModeIndicator,
12399 { "lsaActiveModeIndicator", "gsm_map.lsaActiveModeIndicator",
12400 FT_NONE, BASE_NONE, NULL, 0,
12401 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item/lsaActiveModeIndicator", HFILL }},
12402 { &hf_gsm_map_lmu_Indicator,
12403 { "lmu-Indicator", "gsm_map.lmu_Indicator",
12404 FT_NONE, BASE_NONE, NULL, 0,
12405 "InsertSubscriberDataArg/lmu-Indicator", HFILL }},
12406 { &hf_gsm_map_lcsInformation,
12407 { "lcsInformation", "gsm_map.lcsInformation",
12408 FT_NONE, BASE_NONE, NULL, 0,
12409 "InsertSubscriberDataArg/lcsInformation", HFILL }},
12410 { &hf_gsm_map_gmlc_List,
12411 { "gmlc-List", "gsm_map.gmlc_List",
12412 FT_NONE, BASE_NONE, NULL, 0,
12413 "InsertSubscriberDataArg/lcsInformation/gmlc-List", HFILL }},
12414 { &hf_gsm_map_gmlc_List_item,
12415 { "Item", "gsm_map.gmlc_List_item",
12416 FT_BYTES, BASE_HEX, NULL, 0,
12417 "InsertSubscriberDataArg/lcsInformation/gmlc-List/_item", HFILL }},
12418 { &hf_gsm_map_lcs_PrivacyExceptionList,
12419 { "lcs-PrivacyExceptionList", "gsm_map.lcs_PrivacyExceptionList",
12420 FT_NONE, BASE_NONE, NULL, 0,
12421 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList", HFILL }},
12422 { &hf_gsm_map_lcs_PrivacyExceptionList_item,
12423 { "Item", "gsm_map.lcs_PrivacyExceptionList_item",
12424 FT_NONE, BASE_NONE, NULL, 0,
12425 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item", HFILL }},
12426 { &hf_gsm_map_ss_Code,
12427 { "ss-Code", "gsm_map.ss_Code",
12428 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
12430 { &hf_gsm_map_ss_Status,
12431 { "ss-Status", "gsm_map.ss_Status",
12432 FT_BYTES, BASE_HEX, NULL, 0,
12434 { &hf_gsm_map_notificationToMSUser,
12435 { "notificationToMSUser", "gsm_map.notificationToMSUser",
12436 FT_UINT32, BASE_DEC, VALS(gsm_map_NotificationToMSUser_vals), 0,
12438 { &hf_gsm_map_externalClientList,
12439 { "externalClientList", "gsm_map.externalClientList",
12440 FT_NONE, BASE_NONE, NULL, 0,
12441 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList", HFILL }},
12442 { &hf_gsm_map_externalClientList_item,
12443 { "Item", "gsm_map.externalClientList_item",
12444 FT_NONE, BASE_NONE, NULL, 0,
12445 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList/_item", HFILL }},
12446 { &hf_gsm_map_clientIdentity,
12447 { "clientIdentity", "gsm_map.clientIdentity",
12448 FT_NONE, BASE_NONE, NULL, 0,
12449 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList/_item/clientIdentity", HFILL }},
12450 { &hf_gsm_map_externalAddress,
12451 { "externalAddress", "gsm_map.externalAddress",
12452 FT_BYTES, BASE_HEX, NULL, 0,
12454 { &hf_gsm_map_gmlc_Restriction,
12455 { "gmlc-Restriction", "gsm_map.gmlc_Restriction",
12456 FT_UINT32, BASE_DEC, VALS(gsm_map_T_gmlc_Restriction_vals), 0,
12457 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList/_item/gmlc-Restriction", HFILL }},
12458 { &hf_gsm_map_plmnClientList,
12459 { "plmnClientList", "gsm_map.plmnClientList",
12460 FT_NONE, BASE_NONE, NULL, 0,
12461 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/plmnClientList", HFILL }},
12462 { &hf_gsm_map_plmnClientList_item,
12463 { "Item", "gsm_map.plmnClientList_item",
12464 FT_UINT32, BASE_DEC, VALS(gsm_map_T_plmnClientList_item_vals), 0,
12465 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/plmnClientList/_item", HFILL }},
12466 { &hf_gsm_map_molr_List,
12467 { "molr-List", "gsm_map.molr_List",
12468 FT_NONE, BASE_NONE, NULL, 0,
12469 "InsertSubscriberDataArg/lcsInformation/molr-List", HFILL }},
12470 { &hf_gsm_map_molr_List_item,
12471 { "Item", "gsm_map.molr_List_item",
12472 FT_NONE, BASE_NONE, NULL, 0,
12473 "InsertSubscriberDataArg/lcsInformation/molr-List/_item", HFILL }},
12474 { &hf_gsm_map_ss_List,
12475 { "ss-List", "gsm_map.ss_List",
12476 FT_NONE, BASE_NONE, NULL, 0,
12478 { &hf_gsm_map_ss_List_item,
12479 { "Item", "gsm_map.ss_List_item",
12480 FT_BYTES, BASE_HEX, NULL, 0,
12482 { &hf_gsm_map_odb_GeneralData,
12483 { "odb-GeneralData", "gsm_map.odb_GeneralData",
12484 FT_BYTES, BASE_HEX, NULL, 0,
12486 { &hf_gsm_map_regionalSubscriptionResponse,
12487 { "regionalSubscriptionResponse", "gsm_map.regionalSubscriptionResponse",
12488 FT_UINT32, BASE_DEC, VALS(gsm_map_RegionalSubscriptionResponse_vals), 0,
12490 { &hf_gsm_map_ss_EventList,
12491 { "ss-EventList", "gsm_map.ss_EventList",
12492 FT_NONE, BASE_NONE, NULL, 0,
12493 "Ss-CamelData/ss-EventList", HFILL }},
12494 { &hf_gsm_map_ss_EventList_item,
12495 { "Item", "gsm_map.ss_EventList_item",
12496 FT_BYTES, BASE_HEX, NULL, 0,
12497 "Ss-CamelData/ss-EventList/_item", HFILL }},
12498 { &hf_gsm_map_gsmSCF_Address,
12499 { "gsmSCF-Address", "gsm_map.gsmSCF_Address",
12500 FT_BYTES, BASE_HEX, NULL, 0,
12502 { &hf_gsm_map_callBarringFeatureList,
12503 { "callBarringFeatureList", "gsm_map.callBarringFeatureList",
12504 FT_NONE, BASE_NONE, NULL, 0,
12506 { &hf_gsm_map_CallBarringFeatureList_item,
12507 { "Item", "gsm_map.CallBarringFeatureList_item",
12508 FT_NONE, BASE_NONE, NULL, 0,
12509 "CallBarringFeatureList/_item", HFILL }},
12510 { &hf_gsm_map_forwardedToNumber,
12511 { "forwardedToNumber", "gsm_map.forwardedToNumber",
12512 FT_BYTES, BASE_HEX, NULL, 0,
12514 { &hf_gsm_map_forwardedToSubaddress,
12515 { "forwardedToSubaddress", "gsm_map.forwardedToSubaddress",
12516 FT_BYTES, BASE_HEX, NULL, 0,
12518 { &hf_gsm_map_forwardingOptions,
12519 { "forwardingOptions", "gsm_map.forwardingOptions",
12520 FT_BYTES, BASE_HEX, NULL, 0,
12522 { &hf_gsm_map_noReplyConditionTime,
12523 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
12524 FT_INT32, BASE_DEC, NULL, 0,
12526 { &hf_gsm_map_longForwardedToNumber,
12527 { "longForwardedToNumber", "gsm_map.longForwardedToNumber",
12528 FT_BYTES, BASE_HEX, NULL, 0,
12529 "ForwardingFeatureList/longForwardedToNumber", HFILL }},
12530 { &hf_gsm_map_matchType,
12531 { "matchType", "gsm_map.matchType",
12532 FT_UINT32, BASE_DEC, VALS(gsm_map_MatchType_vals), 0,
12533 "DestinationNumberCriteria/matchType", HFILL }},
12534 { &hf_gsm_map_destinationNumberList,
12535 { "destinationNumberList", "gsm_map.destinationNumberList",
12536 FT_NONE, BASE_NONE, NULL, 0,
12537 "DestinationNumberCriteria/destinationNumberList", HFILL }},
12538 { &hf_gsm_map_destinationNumberList_item,
12539 { "Item", "gsm_map.destinationNumberList_item",
12540 FT_BYTES, BASE_HEX, NULL, 0,
12541 "DestinationNumberCriteria/destinationNumberList/_item", HFILL }},
12542 { &hf_gsm_map_destinationNumberLengthList,
12543 { "destinationNumberLengthList", "gsm_map.destinationNumberLengthList",
12544 FT_NONE, BASE_NONE, NULL, 0,
12545 "DestinationNumberCriteria/destinationNumberLengthList", HFILL }},
12546 { &hf_gsm_map_destinationNumberLengthList_item,
12547 { "Item", "gsm_map.destinationNumberLengthList_item",
12548 FT_UINT32, BASE_DEC, NULL, 0,
12549 "DestinationNumberCriteria/destinationNumberLengthList/_item", HFILL }},
12550 { &hf_gsm_map_forwardingFeatureList_1_32,
12551 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
12552 FT_NONE, BASE_NONE, NULL, 0,
12553 "ForwardingInfo/forwardingFeatureList", HFILL }},
12554 { &hf_gsm_map_forwardingFeatureList_item,
12555 { "Item", "gsm_map.forwardingFeatureList_item",
12556 FT_NONE, BASE_NONE, NULL, 0,
12558 { &hf_gsm_map_naea_PreferredCIC,
12559 { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC",
12560 FT_BYTES, BASE_HEX, NULL, 0,
12561 "Naea-PreferredCI/naea-PreferredCIC", HFILL }},
12562 { &hf_gsm_map_O_BcsmCamelTDP_CriteriaList_item,
12563 { "Item", "gsm_map.O_BcsmCamelTDP_CriteriaList_item",
12564 FT_NONE, BASE_NONE, NULL, 0,
12565 "O-BcsmCamelTDP-CriteriaList/_item", HFILL }},
12566 { &hf_gsm_map_o_BcsmTriggerDetectionPoint,
12567 { "o-BcsmTriggerDetectionPoint", "gsm_map.o_BcsmTriggerDetectionPoint",
12568 FT_UINT32, BASE_DEC, VALS(gsm_map_BcsmTriggerDetectionPoint_vals), 0,
12570 { &hf_gsm_map_destinationNumberCriteria,
12571 { "destinationNumberCriteria", "gsm_map.destinationNumberCriteria",
12572 FT_NONE, BASE_NONE, NULL, 0,
12574 { &hf_gsm_map_basicServiceCriteria_lst,
12575 { "basicServiceCriteria", "gsm_map.basicServiceCriteria",
12576 FT_NONE, BASE_NONE, NULL, 0,
12577 "O-BcsmCamelTDP-CriteriaList/_item/basicServiceCriteria", HFILL }},
12578 { &hf_gsm_map_callTypeCriteria,
12579 { "callTypeCriteria", "gsm_map.callTypeCriteria",
12580 FT_UINT32, BASE_DEC, VALS(gsm_map_CallTypeCriteria_vals), 0,
12582 { &hf_gsm_map_cliRestrictionOption,
12583 { "cliRestrictionOption", "gsm_map.cliRestrictionOption",
12584 FT_UINT32, BASE_DEC, VALS(gsm_map_CliRestrictionOption_vals), 0,
12586 { &hf_gsm_map_overrideCategory,
12587 { "overrideCategory", "gsm_map.overrideCategory",
12588 FT_UINT32, BASE_DEC, VALS(gsm_map_OverrideCategory_vals), 0,
12589 "Ss-SubscriptionOption/overrideCategory", HFILL }},
12590 { &hf_gsm_map_basicServiceList,
12591 { "basicServiceList", "gsm_map.basicServiceList",
12592 FT_NONE, BASE_NONE, NULL, 0,
12593 "DeleteSubscriberDataArg/basicServiceList", HFILL }},
12594 { &hf_gsm_map_regionalSubscriptionIdentifier,
12595 { "regionalSubscriptionIdentifier", "gsm_map.regionalSubscriptionIdentifier",
12596 FT_BYTES, BASE_HEX, NULL, 0,
12597 "DeleteSubscriberDataArg/regionalSubscriptionIdentifier", HFILL }},
12598 { &hf_gsm_map_vbsGroupIndication,
12599 { "vbsGroupIndication", "gsm_map.vbsGroupIndication",
12600 FT_NONE, BASE_NONE, NULL, 0,
12601 "DeleteSubscriberDataArg/vbsGroupIndication", HFILL }},
12602 { &hf_gsm_map_vgcsGroupIndication,
12603 { "vgcsGroupIndication", "gsm_map.vgcsGroupIndication",
12604 FT_NONE, BASE_NONE, NULL, 0,
12605 "DeleteSubscriberDataArg/vgcsGroupIndication", HFILL }},
12606 { &hf_gsm_map_camelSubscriptionInfoWithdraw,
12607 { "camelSubscriptionInfoWithdraw", "gsm_map.camelSubscriptionInfoWithdraw",
12608 FT_NONE, BASE_NONE, NULL, 0,
12609 "DeleteSubscriberDataArg/camelSubscriptionInfoWithdraw", HFILL }},
12610 { &hf_gsm_map_gprsSubscriptionDataWithdraw,
12611 { "gprsSubscriptionDataWithdraw", "gsm_map.gprsSubscriptionDataWithdraw",
12612 FT_UINT32, BASE_DEC, VALS(gsm_map_T_gprsSubscriptionDataWithdraw_vals), 0,
12613 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw", HFILL }},
12614 { &hf_gsm_map_allGPRSData,
12615 { "allGPRSData", "gsm_map.allGPRSData",
12616 FT_NONE, BASE_NONE, NULL, 0,
12617 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw/allGPRSData", HFILL }},
12618 { &hf_gsm_map_contextIdList,
12619 { "contextIdList", "gsm_map.contextIdList",
12620 FT_NONE, BASE_NONE, NULL, 0,
12621 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw/contextIdList", HFILL }},
12622 { &hf_gsm_map_contextIdList_item,
12623 { "Item", "gsm_map.contextIdList_item",
12624 FT_UINT32, BASE_DEC, NULL, 0,
12625 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw/contextIdList/_item", HFILL }},
12626 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature,
12627 { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsuppportedFeature",
12628 FT_NONE, BASE_NONE, NULL, 0,
12629 "DeleteSubscriberDataArg/roamingRestrictedInSgsnDueToUnsuppportedFeature", HFILL }},
12630 { &hf_gsm_map_lsaInformationWithdraw,
12631 { "lsaInformationWithdraw", "gsm_map.lsaInformationWithdraw",
12632 FT_UINT32, BASE_DEC, VALS(gsm_map_T_lsaInformationWithdraw_vals), 0,
12633 "DeleteSubscriberDataArg/lsaInformationWithdraw", HFILL }},
12634 { &hf_gsm_map_allLSAData,
12635 { "allLSAData", "gsm_map.allLSAData",
12636 FT_NONE, BASE_NONE, NULL, 0,
12637 "DeleteSubscriberDataArg/lsaInformationWithdraw/allLSAData", HFILL }},
12638 { &hf_gsm_map_lsaIdentityList,
12639 { "lsaIdentityList", "gsm_map.lsaIdentityList",
12640 FT_NONE, BASE_NONE, NULL, 0,
12641 "DeleteSubscriberDataArg/lsaInformationWithdraw/lsaIdentityList", HFILL }},
12642 { &hf_gsm_map_lsaIdentityList_item,
12643 { "Item", "gsm_map.lsaIdentityList_item",
12644 FT_BYTES, BASE_HEX, NULL, 0,
12645 "DeleteSubscriberDataArg/lsaInformationWithdraw/lsaIdentityList/_item", HFILL }},
12646 { &hf_gsm_map_gmlc_ListWithdraw,
12647 { "gmlc-ListWithdraw", "gsm_map.gmlc_ListWithdraw",
12648 FT_NONE, BASE_NONE, NULL, 0,
12649 "DeleteSubscriberDataArg/gmlc-ListWithdraw", HFILL }},
12650 { &hf_gsm_map_hlr_List,
12651 { "hlr-List", "gsm_map.hlr_List",
12652 FT_NONE, BASE_NONE, NULL, 0,
12653 "ResetArg/hlr-List", HFILL }},
12654 { &hf_gsm_map_hlr_List_item,
12655 { "Item", "gsm_map.hlr_List_item",
12656 FT_BYTES, BASE_HEX, NULL, 0,
12657 "ResetArg/hlr-List/_item", HFILL }},
12658 { &hf_gsm_map_msNotReachable,
12659 { "msNotReachable", "gsm_map.msNotReachable",
12660 FT_NONE, BASE_NONE, NULL, 0,
12661 "RestoreDataRes/msNotReachable", HFILL }},
12662 { &hf_gsm_map_traceReference,
12663 { "traceReference", "gsm_map.traceReference",
12664 FT_BYTES, BASE_HEX, NULL, 0,
12666 { &hf_gsm_map_traceType,
12667 { "traceType", "gsm_map.traceType",
12668 FT_UINT32, BASE_DEC, NULL, 0,
12669 "ActivateTraceModeArg/traceType", HFILL }},
12670 { &hf_gsm_map_omc_Id,
12671 { "omc-Id", "gsm_map.omc_Id",
12672 FT_BYTES, BASE_HEX, NULL, 0,
12673 "ActivateTraceModeArg/omc-Id", HFILL }},
12674 { &hf_gsm_map_cug_CheckInfo,
12675 { "cug-CheckInfo", "gsm_map.cug_CheckInfo",
12676 FT_NONE, BASE_NONE, NULL, 0,
12678 { &hf_gsm_map_numberOfForwarding,
12679 { "numberOfForwarding", "gsm_map.numberOfForwarding",
12680 FT_UINT32, BASE_DEC, NULL, 0,
12681 "SendRoutingInfoArg/numberOfForwarding", HFILL }},
12682 { &hf_gsm_map_interrogationType,
12683 { "interrogationType", "gsm_map.interrogationType",
12684 FT_UINT32, BASE_DEC, VALS(gsm_map_T_interrogationType_vals), 0,
12685 "SendRoutingInfoArg/interrogationType", HFILL }},
12686 { &hf_gsm_map_or_Interrogation,
12687 { "or-Interrogation", "gsm_map.or_Interrogation",
12688 FT_NONE, BASE_NONE, NULL, 0,
12690 { &hf_gsm_map_or_Capability,
12691 { "or-Capability", "gsm_map.or_Capability",
12692 FT_UINT32, BASE_DEC, NULL, 0,
12693 "SendRoutingInfoArg/or-Capability", HFILL }},
12694 { &hf_gsm_map_gmsc_Address,
12695 { "gmsc-Address", "gsm_map.gmsc_Address",
12696 FT_BYTES, BASE_HEX, NULL, 0,
12698 { &hf_gsm_map_callReferenceNumber,
12699 { "callReferenceNumber", "gsm_map.callReferenceNumber",
12700 FT_BYTES, BASE_HEX, NULL, 0,
12702 { &hf_gsm_map_forwardingReason,
12703 { "forwardingReason", "gsm_map.forwardingReason",
12704 FT_UINT32, BASE_DEC, VALS(gsm_map_T_forwardingReason_vals), 0,
12705 "SendRoutingInfoArg/forwardingReason", HFILL }},
12706 { &hf_gsm_map_basicServiceGroup,
12707 { "basicServiceGroup", "gsm_map.basicServiceGroup",
12708 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
12710 { &hf_gsm_map_networkSignalInfo,
12711 { "networkSignalInfo", "gsm_map.networkSignalInfo",
12712 FT_NONE, BASE_NONE, NULL, 0,
12714 { &hf_gsm_map_camelInfo,
12715 { "camelInfo", "gsm_map.camelInfo",
12716 FT_NONE, BASE_NONE, NULL, 0,
12717 "SendRoutingInfoArg/camelInfo", HFILL }},
12718 { &hf_gsm_map_suppress_T_CSI,
12719 { "suppress-T-CSI", "gsm_map.suppress_T_CSI",
12720 FT_NONE, BASE_NONE, NULL, 0,
12721 "SendRoutingInfoArg/camelInfo/suppress-T-CSI", HFILL }},
12722 { &hf_gsm_map_suppressionOfAnnouncement,
12723 { "suppressionOfAnnouncement", "gsm_map.suppressionOfAnnouncement",
12724 FT_NONE, BASE_NONE, NULL, 0,
12726 { &hf_gsm_map_alertingPattern,
12727 { "alertingPattern", "gsm_map.alertingPattern",
12728 FT_BYTES, BASE_HEX, NULL, 0,
12730 { &hf_gsm_map_ccbs_Call,
12731 { "ccbs-Call", "gsm_map.ccbs_Call",
12732 FT_NONE, BASE_NONE, NULL, 0,
12734 { &hf_gsm_map_supportedCCBS_Phase,
12735 { "supportedCCBS-Phase", "gsm_map.supportedCCBS_Phase",
12736 FT_UINT32, BASE_DEC, NULL, 0,
12737 "SendRoutingInfoArg/supportedCCBS-Phase", HFILL }},
12738 { &hf_gsm_map_additionalSignalInfo,
12739 { "additionalSignalInfo", "gsm_map.additionalSignalInfo",
12740 FT_NONE, BASE_NONE, NULL, 0,
12742 { &hf_gsm_map_extendedRoutingInfo,
12743 { "extendedRoutingInfo", "gsm_map.extendedRoutingInfo",
12744 FT_UINT32, BASE_DEC, VALS(gsm_map_T_extendedRoutingInfo_vals), 0,
12745 "SendRoutingInfoRes/extendedRoutingInfo", HFILL }},
12746 { &hf_gsm_map_routingInfo,
12747 { "routingInfo", "gsm_map.routingInfo",
12748 FT_UINT32, BASE_DEC, VALS(gsm_map_T_routingInfo_vals), 0,
12749 "SendRoutingInfoRes/extendedRoutingInfo/routingInfo", HFILL }},
12750 { &hf_gsm_map_roamingNumber,
12751 { "roamingNumber", "gsm_map.roamingNumber",
12752 FT_BYTES, BASE_HEX, NULL, 0,
12754 { &hf_gsm_map_forwardingData,
12755 { "forwardingData", "gsm_map.forwardingData",
12756 FT_NONE, BASE_NONE, NULL, 0,
12758 { &hf_gsm_map_camelRoutingInfo,
12759 { "camelRoutingInfo", "gsm_map.camelRoutingInfo",
12760 FT_NONE, BASE_NONE, NULL, 0,
12761 "SendRoutingInfoRes/extendedRoutingInfo/camelRoutingInfo", HFILL }},
12762 { &hf_gsm_map_gmscCamelSubscriptionInfo,
12763 { "gmscCamelSubscriptionInfo", "gsm_map.gmscCamelSubscriptionInfo",
12764 FT_NONE, BASE_NONE, NULL, 0,
12765 "SendRoutingInfoRes/extendedRoutingInfo/camelRoutingInfo/gmscCamelSubscriptionInfo", HFILL }},
12766 { &hf_gsm_map_t_CSI,
12767 { "t-CSI", "gsm_map.t_CSI",
12768 FT_NONE, BASE_NONE, NULL, 0,
12770 { &hf_gsm_map_t_BcsmCamelTDPDataList,
12771 { "t-BcsmCamelTDPDataList", "gsm_map.t_BcsmCamelTDPDataList",
12772 FT_NONE, BASE_NONE, NULL, 0,
12774 { &hf_gsm_map_cugSubscriptionFlag,
12775 { "cugSubscriptionFlag", "gsm_map.cugSubscriptionFlag",
12776 FT_NONE, BASE_NONE, NULL, 0,
12777 "SendRoutingInfoRes/cugSubscriptionFlag", HFILL }},
12778 { &hf_gsm_map_subscriberInfo,
12779 { "subscriberInfo", "gsm_map.subscriberInfo",
12780 FT_NONE, BASE_NONE, NULL, 0,
12782 { &hf_gsm_map_forwardingInterrogationRequired,
12783 { "forwardingInterrogationRequired", "gsm_map.forwardingInterrogationRequired",
12784 FT_NONE, BASE_NONE, NULL, 0,
12785 "SendRoutingInfoRes/forwardingInterrogationRequired", HFILL }},
12786 { &hf_gsm_map_vmsc_Address,
12787 { "vmsc-Address", "gsm_map.vmsc_Address",
12788 FT_BYTES, BASE_HEX, NULL, 0,
12789 "SendRoutingInfoRes/vmsc-Address", HFILL }},
12790 { &hf_gsm_map_ccbs_Indicators,
12791 { "ccbs-Indicators", "gsm_map.ccbs_Indicators",
12792 FT_NONE, BASE_NONE, NULL, 0,
12793 "SendRoutingInfoRes/ccbs-Indicators", HFILL }},
12794 { &hf_gsm_map_ccbs_Possible,
12795 { "ccbs-Possible", "gsm_map.ccbs_Possible",
12796 FT_NONE, BASE_NONE, NULL, 0,
12798 { &hf_gsm_map_keepCCBS_CallIndicator,
12799 { "keepCCBS-CallIndicator", "gsm_map.keepCCBS_CallIndicator",
12800 FT_NONE, BASE_NONE, NULL, 0,
12801 "SendRoutingInfoRes/ccbs-Indicators/keepCCBS-CallIndicator", HFILL }},
12802 { &hf_gsm_map_numberPortabilityStatus,
12803 { "numberPortabilityStatus", "gsm_map.numberPortabilityStatus",
12804 FT_UINT32, BASE_DEC, VALS(gsm_map_NumberPortabilityStatus_vals), 0,
12806 { &hf_gsm_map_assumedIdle,
12807 { "assumedIdle", "gsm_map.assumedIdle",
12808 FT_NONE, BASE_NONE, NULL, 0,
12809 "SubscriberState/assumedIdle", HFILL }},
12810 { &hf_gsm_map_camelBusy,
12811 { "camelBusy", "gsm_map.camelBusy",
12812 FT_NONE, BASE_NONE, NULL, 0,
12813 "SubscriberState/camelBusy", HFILL }},
12814 { &hf_gsm_map_notProvidedFromVLR,
12815 { "notProvidedFromVLR", "gsm_map.notProvidedFromVLR",
12816 FT_NONE, BASE_NONE, NULL, 0,
12817 "SubscriberState/notProvidedFromVLR", HFILL }},
12818 { &hf_gsm_map_ageOfLocationInformation,
12819 { "ageOfLocationInformation", "gsm_map.ageOfLocationInformation",
12820 FT_UINT32, BASE_DEC, NULL, 0,
12822 { &hf_gsm_map_geographicalInformation,
12823 { "geographicalInformation", "gsm_map.geographicalInformation",
12824 FT_BYTES, BASE_HEX, NULL, 0,
12826 { &hf_gsm_map_vlr_number,
12827 { "vlr-number", "gsm_map.vlr_number",
12828 FT_BYTES, BASE_HEX, NULL, 0,
12829 "LocationInformation/vlr-number", HFILL }},
12830 { &hf_gsm_map_locationNumber,
12831 { "locationNumber", "gsm_map.locationNumber",
12832 FT_BYTES, BASE_HEX, NULL, 0,
12833 "LocationInformation/locationNumber", HFILL }},
12834 { &hf_gsm_map_cellIdOrLAI,
12835 { "cellIdOrLAI", "gsm_map.cellIdOrLAI",
12836 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cellIdOrLAI_vals), 0,
12837 "LocationInformation/cellIdOrLAI", HFILL }},
12838 { &hf_gsm_map_cellIdFixedLength,
12839 { "cellIdFixedLength", "gsm_map.cellIdFixedLength",
12840 FT_BYTES, BASE_HEX, NULL, 0,
12841 "LocationInformation/cellIdOrLAI/cellIdFixedLength", HFILL }},
12842 { &hf_gsm_map_laiFixedLength,
12843 { "laiFixedLength", "gsm_map.laiFixedLength",
12844 FT_BYTES, BASE_HEX, NULL, 0,
12846 { &hf_gsm_map_selectedLSA_Id,
12847 { "selectedLSA-Id", "gsm_map.selectedLSA_Id",
12848 FT_BYTES, BASE_HEX, NULL, 0,
12849 "LocationInformation/selectedLSA-Id", HFILL }},
12850 { &hf_gsm_map_geodeticInformation,
12851 { "geodeticInformation", "gsm_map.geodeticInformation",
12852 FT_BYTES, BASE_HEX, NULL, 0,
12854 { &hf_gsm_map_currentLocationRetrieved,
12855 { "currentLocationRetrieved", "gsm_map.currentLocationRetrieved",
12856 FT_NONE, BASE_NONE, NULL, 0,
12858 { &hf_gsm_map_sai_Present,
12859 { "sai-Present", "gsm_map.sai_Present",
12860 FT_NONE, BASE_NONE, NULL, 0,
12862 { &hf_gsm_map_locationInformation,
12863 { "locationInformation", "gsm_map.locationInformation",
12864 FT_NONE, BASE_NONE, NULL, 0,
12865 "SubscriberInfo/locationInformation", HFILL }},
12866 { &hf_gsm_map_subscriberState,
12867 { "subscriberState", "gsm_map.subscriberState",
12868 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberState_vals), 0,
12869 "SubscriberInfo/subscriberState", HFILL }},
12870 { &hf_gsm_map_locationInformationGPRS,
12871 { "locationInformationGPRS", "gsm_map.locationInformationGPRS",
12872 FT_NONE, BASE_NONE, NULL, 0,
12873 "SubscriberInfo/locationInformationGPRS", HFILL }},
12874 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI,
12875 { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.cellGlobalIdOrServiceAreaIdOrLAI",
12876 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
12877 "SubscriberInfo/locationInformationGPRS/cellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
12878 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength,
12879 { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength",
12880 FT_BYTES, BASE_HEX, NULL, 0,
12881 "SubscriberInfo/locationInformationGPRS/cellGlobalIdOrServiceAreaIdOrLAI/cellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
12882 { &hf_gsm_map_routeingAreaIdentity,
12883 { "routeingAreaIdentity", "gsm_map.routeingAreaIdentity",
12884 FT_BYTES, BASE_HEX, NULL, 0,
12885 "SubscriberInfo/locationInformationGPRS/routeingAreaIdentity", HFILL }},
12886 { &hf_gsm_map_selectedLSAIdentity,
12887 { "selectedLSAIdentity", "gsm_map.selectedLSAIdentity",
12888 FT_BYTES, BASE_HEX, NULL, 0,
12889 "SubscriberInfo/locationInformationGPRS/selectedLSAIdentity", HFILL }},
12890 { &hf_gsm_map_ps_SubscriberState,
12891 { "ps-SubscriberState", "gsm_map.ps_SubscriberState",
12892 FT_UINT32, BASE_DEC, VALS(gsm_map_T_ps_SubscriberState_vals), 0,
12893 "SubscriberInfo/ps-SubscriberState", HFILL }},
12894 { &hf_gsm_map_notProvidedFromSGSN,
12895 { "notProvidedFromSGSN", "gsm_map.notProvidedFromSGSN",
12896 FT_NONE, BASE_NONE, NULL, 0,
12897 "SubscriberInfo/ps-SubscriberState/notProvidedFromSGSN", HFILL }},
12898 { &hf_gsm_map_ps_Detached,
12899 { "ps-Detached", "gsm_map.ps_Detached",
12900 FT_NONE, BASE_NONE, NULL, 0,
12901 "SubscriberInfo/ps-SubscriberState/ps-Detached", HFILL }},
12902 { &hf_gsm_map_ps_AttachedNotReachableForPaging,
12903 { "ps-AttachedNotReachableForPaging", "gsm_map.ps_AttachedNotReachableForPaging",
12904 FT_NONE, BASE_NONE, NULL, 0,
12905 "SubscriberInfo/ps-SubscriberState/ps-AttachedNotReachableForPaging", HFILL }},
12906 { &hf_gsm_map_ps_AttachedReachableForPaging,
12907 { "ps-AttachedReachableForPaging", "gsm_map.ps_AttachedReachableForPaging",
12908 FT_NONE, BASE_NONE, NULL, 0,
12909 "SubscriberInfo/ps-SubscriberState/ps-AttachedReachableForPaging", HFILL }},
12910 { &hf_gsm_map_ps_PDP_ActiveNotReachableForPaging,
12911 { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ps_PDP_ActiveNotReachableForPaging",
12912 FT_NONE, BASE_NONE, NULL, 0,
12913 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveNotReachableForPaging", HFILL }},
12914 { &hf_gsm_map_ps_PDP_ActiveNotReachableForPaging_item,
12915 { "Item", "gsm_map.ps_PDP_ActiveNotReachableForPaging_item",
12916 FT_NONE, BASE_NONE, NULL, 0,
12917 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveNotReachableForPaging/_item", HFILL }},
12918 { &hf_gsm_map_pdp_ContextIdentifier,
12919 { "pdp-ContextIdentifier", "gsm_map.pdp_ContextIdentifier",
12920 FT_UINT32, BASE_DEC, NULL, 0,
12922 { &hf_gsm_map_pdp_ContextActive,
12923 { "pdp-ContextActive", "gsm_map.pdp_ContextActive",
12924 FT_NONE, BASE_NONE, NULL, 0,
12926 { &hf_gsm_map_apn_Subscribed,
12927 { "apn-Subscribed", "gsm_map.apn_Subscribed",
12928 FT_BYTES, BASE_HEX, NULL, 0,
12930 { &hf_gsm_map_apn_InUse,
12931 { "apn-InUse", "gsm_map.apn_InUse",
12932 FT_BYTES, BASE_HEX, NULL, 0,
12934 { &hf_gsm_map_nsapi,
12935 { "nsapi", "gsm_map.nsapi",
12936 FT_UINT32, BASE_DEC, NULL, 0,
12938 { &hf_gsm_map_transactionId,
12939 { "transactionId", "gsm_map.transactionId",
12940 FT_BYTES, BASE_HEX, NULL, 0,
12942 { &hf_gsm_map_teid_ForGnAndGp,
12943 { "teid-ForGnAndGp", "gsm_map.teid_ForGnAndGp",
12944 FT_BYTES, BASE_HEX, NULL, 0,
12946 { &hf_gsm_map_teid_ForIu,
12947 { "teid-ForIu", "gsm_map.teid_ForIu",
12948 FT_BYTES, BASE_HEX, NULL, 0,
12950 { &hf_gsm_map_ggsn_Address,
12951 { "ggsn-Address", "gsm_map.ggsn_Address",
12952 FT_BYTES, BASE_HEX, NULL, 0,
12954 { &hf_gsm_map_qos_Requested,
12955 { "qos-Requested", "gsm_map.qos_Requested",
12956 FT_BYTES, BASE_HEX, NULL, 0,
12958 { &hf_gsm_map_qos_Negotiated,
12959 { "qos-Negotiated", "gsm_map.qos_Negotiated",
12960 FT_BYTES, BASE_HEX, NULL, 0,
12962 { &hf_gsm_map_chargingId,
12963 { "chargingId", "gsm_map.chargingId",
12964 FT_BYTES, BASE_HEX, NULL, 0,
12966 { &hf_gsm_map_chargingCharacteristics,
12967 { "chargingCharacteristics", "gsm_map.chargingCharacteristics",
12968 FT_BYTES, BASE_HEX, NULL, 0,
12970 { &hf_gsm_map_rnc_Address,
12971 { "rnc-Address", "gsm_map.rnc_Address",
12972 FT_BYTES, BASE_HEX, NULL, 0,
12974 { &hf_gsm_map_qos2_Subscribed,
12975 { "qos2-Subscribed", "gsm_map.qos2_Subscribed",
12976 FT_BYTES, BASE_HEX, NULL, 0,
12978 { &hf_gsm_map_qos2_Requested,
12979 { "qos2-Requested", "gsm_map.qos2_Requested",
12980 FT_BYTES, BASE_HEX, NULL, 0,
12982 { &hf_gsm_map_qos2_Negotiated,
12983 { "qos2-Negotiated", "gsm_map.qos2_Negotiated",
12984 FT_BYTES, BASE_HEX, NULL, 0,
12986 { &hf_gsm_map_ps_PDP_ActiveReachableForPaging,
12987 { "ps-PDP-ActiveReachableForPaging", "gsm_map.ps_PDP_ActiveReachableForPaging",
12988 FT_NONE, BASE_NONE, NULL, 0,
12989 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveReachableForPaging", HFILL }},
12990 { &hf_gsm_map_ps_PDP_ActiveReachableForPaging_item,
12991 { "Item", "gsm_map.ps_PDP_ActiveReachableForPaging_item",
12992 FT_NONE, BASE_NONE, NULL, 0,
12993 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveReachableForPaging/_item", HFILL }},
12994 { &hf_gsm_map_netDetNotReachable,
12995 { "netDetNotReachable", "gsm_map.netDetNotReachable",
12996 FT_UINT32, BASE_DEC, VALS(gsm_map_T_netDetNotReachable_vals), 0,
12997 "SubscriberInfo/ps-SubscriberState/netDetNotReachable", HFILL }},
12998 { &hf_gsm_map_ms_Classmark2,
12999 { "ms-Classmark2", "gsm_map.ms_Classmark2",
13000 FT_BYTES, BASE_HEX, NULL, 0,
13001 "SubscriberInfo/ms-Classmark2", HFILL }},
13002 { &hf_gsm_map_gprs_MS_Class,
13003 { "gprs-MS-Class", "gsm_map.gprs_MS_Class",
13004 FT_NONE, BASE_NONE, NULL, 0,
13005 "SubscriberInfo/gprs-MS-Class", HFILL }},
13006 { &hf_gsm_map_mSNetworkCapability,
13007 { "mSNetworkCapability", "gsm_map.mSNetworkCapability",
13008 FT_BYTES, BASE_HEX, NULL, 0,
13009 "SubscriberInfo/gprs-MS-Class/mSNetworkCapability", HFILL }},
13010 { &hf_gsm_map_mSRadioAccessCapability,
13011 { "mSRadioAccessCapability", "gsm_map.mSRadioAccessCapability",
13012 FT_BYTES, BASE_HEX, NULL, 0,
13013 "SubscriberInfo/gprs-MS-Class/mSRadioAccessCapability", HFILL }},
13014 { &hf_gsm_map_mnpInfoRes,
13015 { "mnpInfoRes", "gsm_map.mnpInfoRes",
13016 FT_NONE, BASE_NONE, NULL, 0,
13017 "SubscriberInfo/mnpInfoRes", HFILL }},
13018 { &hf_gsm_map_routeingNumber,
13019 { "routeingNumber", "gsm_map.routeingNumber",
13020 FT_BYTES, BASE_HEX, NULL, 0,
13021 "SubscriberInfo/mnpInfoRes/routeingNumber", HFILL }},
13022 { &hf_gsm_map_ext_ProtocolId,
13023 { "ext-ProtocolId", "gsm_map.ext_ProtocolId",
13024 FT_UINT32, BASE_DEC, VALS(gsm_map_T_ext_ProtocolId_vals), 0,
13025 "AdditionalSignalInfo/ext-ProtocolId", HFILL }},
13026 { &hf_gsm_map_ext_signalInfo,
13027 { "signalInfo", "gsm_map.signalInfo",
13028 FT_BYTES, BASE_HEX, NULL, 0,
13029 "AdditionalSignalInfo/signalInfo", HFILL }},
13030 { &hf_gsm_map_cug_OutgoingAccess,
13031 { "cug-OutgoingAccess", "gsm_map.cug_OutgoingAccess",
13032 FT_NONE, BASE_NONE, NULL, 0,
13033 "Cug-CheckInfo/cug-OutgoingAccess", HFILL }},
13034 { &hf_gsm_map_gsm_BearerCapability,
13035 { "gsm-BearerCapability", "gsm_map.gsm_BearerCapability",
13036 FT_NONE, BASE_NONE, NULL, 0,
13038 { &hf_gsm_map_supportedCamelPhasesInGMSC,
13039 { "supportedCamelPhasesInGMSC", "gsm_map.supportedCamelPhasesInGMSC",
13040 FT_BYTES, BASE_HEX, NULL, 0,
13041 "ProvideRoamingNumberArg/supportedCamelPhasesInGMSC", HFILL }},
13042 { &hf_gsm_map_orNotSupportedInGMSC,
13043 { "orNotSupportedInGMSC", "gsm_map.orNotSupportedInGMSC",
13044 FT_NONE, BASE_NONE, NULL, 0,
13045 "ProvideRoamingNumberArg/orNotSupportedInGMSC", HFILL }},
13046 { &hf_gsm_map_uu_Data,
13047 { "uu-Data", "gsm_map.uu_Data",
13048 FT_NONE, BASE_NONE, NULL, 0,
13049 "ResumeCallHandlingArg/uu-Data", HFILL }},
13050 { &hf_gsm_map_uuIndicator,
13051 { "uuIndicator", "gsm_map.uuIndicator",
13052 FT_BYTES, BASE_HEX, NULL, 0,
13053 "ResumeCallHandlingArg/uu-Data/uuIndicator", HFILL }},
13055 { "uui", "gsm_map.uui",
13056 FT_BYTES, BASE_HEX, NULL, 0,
13057 "ResumeCallHandlingArg/uu-Data/uui", HFILL }},
13058 { &hf_gsm_map_uusCFInteraction,
13059 { "uusCFInteraction", "gsm_map.uusCFInteraction",
13060 FT_NONE, BASE_NONE, NULL, 0,
13061 "ResumeCallHandlingArg/uu-Data/uusCFInteraction", HFILL }},
13062 { &hf_gsm_map_allInformationSent,
13063 { "allInformationSent", "gsm_map.allInformationSent",
13064 FT_NONE, BASE_NONE, NULL, 0,
13065 "ResumeCallHandlingArg/allInformationSent", HFILL }},
13066 { &hf_gsm_map_isdn_BearerCapability,
13067 { "isdn-BearerCapability", "gsm_map.isdn_BearerCapability",
13068 FT_NONE, BASE_NONE, NULL, 0,
13069 "ProvideSIWFSNumberArg/isdn-BearerCapability", HFILL }},
13070 { &hf_gsm_map_call_Direction,
13071 { "call-Direction", "gsm_map.call_Direction",
13072 FT_BYTES, BASE_HEX, NULL, 0,
13073 "ProvideSIWFSNumberArg/call-Direction", HFILL }},
13074 { &hf_gsm_map_b_Subscriber_Address,
13075 { "b-Subscriber-Address", "gsm_map.b_Subscriber_Address",
13076 FT_BYTES, BASE_HEX, NULL, 0,
13077 "ProvideSIWFSNumberArg/b-Subscriber-Address", HFILL }},
13078 { &hf_gsm_map_chosenChannel,
13079 { "chosenChannel", "gsm_map.chosenChannel",
13080 FT_NONE, BASE_NONE, NULL, 0,
13082 { &hf_gsm_map_lowerLayerCompatibility,
13083 { "lowerLayerCompatibility", "gsm_map.lowerLayerCompatibility",
13084 FT_NONE, BASE_NONE, NULL, 0,
13085 "ProvideSIWFSNumberArg/lowerLayerCompatibility", HFILL }},
13086 { &hf_gsm_map_highLayerCompatibility,
13087 { "highLayerCompatibility", "gsm_map.highLayerCompatibility",
13088 FT_NONE, BASE_NONE, NULL, 0,
13089 "ProvideSIWFSNumberArg/highLayerCompatibility", HFILL }},
13090 { &hf_gsm_map_sIWFSNumber,
13091 { "sIWFSNumber", "gsm_map.sIWFSNumber",
13092 FT_BYTES, BASE_HEX, NULL, 0,
13093 "ProvideSIWFSNumberRes/sIWFSNumber", HFILL }},
13094 { &hf_gsm_map_channelType,
13095 { "channelType", "gsm_map.channelType",
13096 FT_NONE, BASE_NONE, NULL, 0,
13097 "SIWFSSignallingModifyArg/channelType", HFILL }},
13098 { &hf_gsm_map_ccbs_Monitoring,
13099 { "ccbs-Monitoring", "gsm_map.ccbs_Monitoring",
13100 FT_UINT32, BASE_DEC, VALS(gsm_map_Ccbs_Monitoring_vals), 0,
13101 "SetReportingStateArg/ccbs-Monitoring", HFILL }},
13102 { &hf_gsm_map_ccbs_SubscriberStatus,
13103 { "ccbs-SubscriberStatus", "gsm_map.ccbs_SubscriberStatus",
13104 FT_UINT32, BASE_DEC, VALS(gsm_map_Ccbs_SubscriberStatus_vals), 0,
13106 { &hf_gsm_map_eventReportData,
13107 { "eventReportData", "gsm_map.eventReportData",
13108 FT_NONE, BASE_NONE, NULL, 0,
13109 "StatusReportArg/eventReportData", HFILL }},
13110 { &hf_gsm_map_callReportdata,
13111 { "callReportdata", "gsm_map.callReportdata",
13112 FT_NONE, BASE_NONE, NULL, 0,
13113 "StatusReportArg/callReportdata", HFILL }},
13114 { &hf_gsm_map_monitoringMode,
13115 { "monitoringMode", "gsm_map.monitoringMode",
13116 FT_UINT32, BASE_DEC, VALS(gsm_map_MonitoringMode_vals), 0,
13117 "StatusReportArg/callReportdata/monitoringMode", HFILL }},
13118 { &hf_gsm_map_callOutcome,
13119 { "callOutcome", "gsm_map.callOutcome",
13120 FT_UINT32, BASE_DEC, VALS(gsm_map_CallOutcome_vals), 0,
13121 "StatusReportArg/callReportdata/callOutcome", HFILL }},
13122 { &hf_gsm_map_callInfo,
13123 { "callInfo", "gsm_map.callInfo",
13124 FT_NONE, BASE_NONE, NULL, 0,
13126 { &hf_gsm_map_ccbs_Feature,
13127 { "ccbs-Feature", "gsm_map.ccbs_Feature",
13128 FT_NONE, BASE_NONE, NULL, 0,
13130 { &hf_gsm_map_translatedB_Number,
13131 { "translatedB-Number", "gsm_map.translatedB_Number",
13132 FT_BYTES, BASE_HEX, NULL, 0,
13134 { &hf_gsm_map_replaceB_Number,
13135 { "replaceB-Number", "gsm_map.replaceB_Number",
13136 FT_NONE, BASE_NONE, NULL, 0,
13137 "RemoteUserFreeArg/replaceB-Number", HFILL }},
13138 { &hf_gsm_map_ruf_Outcome,
13139 { "ruf-Outcome", "gsm_map.ruf_Outcome",
13140 FT_UINT32, BASE_DEC, VALS(gsm_map_Ruf_Outcome_vals), 0,
13141 "RemoteUserFreeRes/ruf-Outcome", HFILL }},
13142 { &hf_gsm_map_ss_SubscriptionOption,
13143 { "ss-SubscriptionOption", "gsm_map.ss_SubscriptionOption",
13144 FT_UINT32, BASE_DEC, VALS(gsm_map_Ss_SubscriptionOption_vals), 0,
13145 "Ss-Data/ss-SubscriptionOption", HFILL }},
13146 { &hf_gsm_map_ccbs_Index,
13147 { "ccbs-Index", "gsm_map.ccbs_Index",
13148 FT_UINT32, BASE_DEC, NULL, 0,
13150 { &hf_gsm_map_b_subscriberNumber,
13151 { "b-subscriberNumber", "gsm_map.b_subscriberNumber",
13152 FT_BYTES, BASE_HEX, NULL, 0,
13154 { &hf_gsm_map_b_subscriberSubaddress,
13155 { "b-subscriberSubaddress", "gsm_map.b_subscriberSubaddress",
13156 FT_BYTES, BASE_HEX, NULL, 0,
13158 { &hf_gsm_map_forwardingFeatureList_1_13,
13159 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
13160 FT_NONE, BASE_NONE, NULL, 0,
13161 "InterrogateSS-Res/forwardingFeatureList", HFILL }},
13162 { &hf_gsm_map_genericServiceInfo,
13163 { "genericServiceInfo", "gsm_map.genericServiceInfo",
13164 FT_NONE, BASE_NONE, NULL, 0,
13165 "InterrogateSS-Res/genericServiceInfo", HFILL }},
13166 { &hf_gsm_map_maximumEntitledPriority,
13167 { "maximumEntitledPriority", "gsm_map.maximumEntitledPriority",
13168 FT_UINT32, BASE_DEC, NULL, 0,
13169 "InterrogateSS-Res/genericServiceInfo/maximumEntitledPriority", HFILL }},
13170 { &hf_gsm_map_ccbs_FeatureList,
13171 { "ccbs-FeatureList", "gsm_map.ccbs_FeatureList",
13172 FT_NONE, BASE_NONE, NULL, 0,
13173 "InterrogateSS-Res/genericServiceInfo/ccbs-FeatureList", HFILL }},
13174 { &hf_gsm_map_ccbs_FeatureList_item,
13175 { "Item", "gsm_map.ccbs_FeatureList_item",
13176 FT_NONE, BASE_NONE, NULL, 0,
13177 "InterrogateSS-Res/genericServiceInfo/ccbs-FeatureList/_item", HFILL }},
13178 { &hf_gsm_map_ussd_DataCodingScheme,
13179 { "ussd-DataCodingScheme", "gsm_map.ussd_DataCodingScheme",
13180 FT_BYTES, BASE_HEX, NULL, 0,
13182 { &hf_gsm_map_ussd_String,
13183 { "ussd-String", "gsm_map.ussd_String",
13184 FT_BYTES, BASE_HEX, NULL, 0,
13186 { &hf_gsm_map_ccbs_Data,
13187 { "ccbs-Data", "gsm_map.ccbs_Data",
13188 FT_NONE, BASE_NONE, NULL, 0,
13189 "RegisterCC-EntryArg/ccbs-Data", HFILL }},
13190 { &hf_gsm_map_serviceIndicator,
13191 { "serviceIndicator", "gsm_map.serviceIndicator",
13192 FT_BYTES, BASE_HEX, NULL, 0,
13193 "RegisterCC-EntryArg/ccbs-Data/serviceIndicator", HFILL }},
13194 { &hf_gsm_map_sm_RP_PRI,
13195 { "sm-RP-PRI", "gsm_map.sm_RP_PRI",
13196 FT_BOOLEAN, 8, NULL, 0,
13197 "RoutingInfoForSMArg/sm-RP-PRI", HFILL }},
13198 { &hf_gsm_map_serviceCentreAddress,
13199 { "serviceCentreAddress", "gsm_map.serviceCentreAddress",
13200 FT_BYTES, BASE_HEX, NULL, 0,
13202 { &hf_gsm_map_gprsSupportIndicator,
13203 { "gprsSupportIndicator", "gsm_map.gprsSupportIndicator",
13204 FT_NONE, BASE_NONE, NULL, 0,
13206 { &hf_gsm_map_sm_RP_MTI,
13207 { "sm-RP-MTI", "gsm_map.sm_RP_MTI",
13208 FT_UINT32, BASE_DEC, NULL, 0,
13209 "RoutingInfoForSMArg/sm-RP-MTI", HFILL }},
13210 { &hf_gsm_map_sm_RP_SMEA,
13211 { "sm-RP-SMEA", "gsm_map.sm_RP_SMEA",
13212 FT_BYTES, BASE_HEX, NULL, 0,
13213 "RoutingInfoForSMArg/sm-RP-SMEA", HFILL }},
13214 { &hf_gsm_map_locationInfoWithLMSI,
13215 { "locationInfoWithLMSI", "gsm_map.locationInfoWithLMSI",
13216 FT_NONE, BASE_NONE, NULL, 0,
13217 "RoutingInfoForSMRes/locationInfoWithLMSI", HFILL }},
13218 { &hf_gsm_map_networkNode_Number,
13219 { "networkNode-Number", "gsm_map.networkNode_Number",
13220 FT_BYTES, BASE_HEX, NULL, 0,
13221 "RoutingInfoForSMRes/locationInfoWithLMSI/networkNode-Number", HFILL }},
13222 { &hf_gsm_map_gprsNodeIndicator,
13223 { "gprsNodeIndicator", "gsm_map.gprsNodeIndicator",
13224 FT_NONE, BASE_NONE, NULL, 0,
13225 "RoutingInfoForSMRes/locationInfoWithLMSI/gprsNodeIndicator", HFILL }},
13226 { &hf_gsm_map_additional_Number,
13227 { "additional-Number", "gsm_map.additional_Number",
13228 FT_UINT32, BASE_DEC, VALS(gsm_map_T_additional_Number_vals), 0,
13229 "RoutingInfoForSMRes/locationInfoWithLMSI/additional-Number", HFILL }},
13230 { &hf_gsm_map_sm_RP_DA,
13231 { "sm-RP-DA", "gsm_map.sm_RP_DA",
13232 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_DA_vals), 0,
13234 { &hf_gsm_map_sm_RP_OA,
13235 { "sm-RP-OA", "gsm_map.sm_RP_OA",
13236 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_OA_vals), 0,
13238 { &hf_gsm_map_sm_RP_UI,
13239 { "sm-RP-UI", "gsm_map.sm_RP_UI",
13240 FT_BYTES, BASE_HEX, NULL, 0,
13242 { &hf_gsm_map_serviceCentreAddressOA,
13243 { "serviceCentreAddressOA", "gsm_map.serviceCentreAddressOA",
13244 FT_BYTES, BASE_HEX, NULL, 0,
13245 "Sm-RP-OA/serviceCentreAddressOA", HFILL }},
13246 { &hf_gsm_map_noSM_RP_OA,
13247 { "noSM-RP-OA", "gsm_map.noSM_RP_OA",
13248 FT_NONE, BASE_NONE, NULL, 0,
13249 "Sm-RP-OA/noSM-RP-OA", HFILL }},
13250 { &hf_gsm_map_serviceCentreAddressDA,
13251 { "serviceCentreAddressDA", "gsm_map.serviceCentreAddressDA",
13252 FT_BYTES, BASE_HEX, NULL, 0,
13253 "Sm-RP-DA/serviceCentreAddressDA", HFILL }},
13254 { &hf_gsm_map_noSM_RP_DA,
13255 { "noSM-RP-DA", "gsm_map.noSM_RP_DA",
13256 FT_NONE, BASE_NONE, NULL, 0,
13257 "Sm-RP-DA/noSM-RP-DA", HFILL }},
13258 { &hf_gsm_map_moreMessagesToSend,
13259 { "moreMessagesToSend", "gsm_map.moreMessagesToSend",
13260 FT_NONE, BASE_NONE, NULL, 0,
13261 "Mt-forwardSM-Arg/moreMessagesToSend", HFILL }},
13262 { &hf_gsm_map_sm_DeliveryOutcome,
13263 { "sm-DeliveryOutcome", "gsm_map.sm_DeliveryOutcome",
13264 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
13265 "ReportSM-DeliveryStatusArg/sm-DeliveryOutcome", HFILL }},
13266 { &hf_gsm_map_absentSubscriberDiagnosticSM,
13267 { "absentSubscriberDiagnosticSM", "gsm_map.absentSubscriberDiagnosticSM",
13268 FT_UINT32, BASE_DEC, NULL, 0,
13270 { &hf_gsm_map_deliveryOutcomeIndicator,
13271 { "deliveryOutcomeIndicator", "gsm_map.deliveryOutcomeIndicator",
13272 FT_NONE, BASE_NONE, NULL, 0,
13273 "ReportSM-DeliveryStatusArg/deliveryOutcomeIndicator", HFILL }},
13274 { &hf_gsm_map_additionalSM_DeliveryOutcome,
13275 { "additionalSM-DeliveryOutcome", "gsm_map.additionalSM_DeliveryOutcome",
13276 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
13277 "ReportSM-DeliveryStatusArg/additionalSM-DeliveryOutcome", HFILL }},
13278 { &hf_gsm_map_additionalAbsentSubscriberDiagnosticSM,
13279 { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.additionalAbsentSubscriberDiagnosticSM",
13280 FT_UINT32, BASE_DEC, NULL, 0,
13282 { &hf_gsm_map_storedMSISDN,
13283 { "storedMSISDN", "gsm_map.storedMSISDN",
13284 FT_BYTES, BASE_HEX, NULL, 0,
13286 { &hf_gsm_map_mw_Status,
13287 { "mw-Status", "gsm_map.mw_Status",
13288 FT_BYTES, BASE_HEX, NULL, 0,
13289 "InformServiceCentreArg/mw-Status", HFILL }},
13290 { &hf_gsm_map_alertReason,
13291 { "alertReason", "gsm_map.alertReason",
13292 FT_UINT32, BASE_DEC, VALS(gsm_map_T_alertReason_vals), 0,
13293 "ReadyForSM-Arg/alertReason", HFILL }},
13294 { &hf_gsm_map_alertReasonIndicator,
13295 { "alertReasonIndicator", "gsm_map.alertReasonIndicator",
13296 FT_NONE, BASE_NONE, NULL, 0,
13297 "ReadyForSM-Arg/alertReasonIndicator", HFILL }},
13298 { &hf_gsm_map_requestedInfo,
13299 { "requestedInfo", "gsm_map.requestedInfo",
13300 FT_NONE, BASE_NONE, NULL, 0,
13302 { &hf_gsm_map_locationInformationFlag,
13303 { "locationInformation", "gsm_map.locationInformation",
13304 FT_NONE, BASE_NONE, NULL, 0,
13305 "RequestedInfo/locationInformation", HFILL }},
13306 { &hf_gsm_map_subscriberStateFlag,
13307 { "subscriberState", "gsm_map.subscriberState",
13308 FT_NONE, BASE_NONE, NULL, 0,
13309 "RequestedInfo/subscriberState", HFILL }},
13310 { &hf_gsm_map_currentLocation,
13311 { "currentLocation", "gsm_map.currentLocation",
13312 FT_NONE, BASE_NONE, NULL, 0,
13313 "RequestedInfo/currentLocation", HFILL }},
13314 { &hf_gsm_map_requestedDomain,
13315 { "requestedDomain", "gsm_map.requestedDomain",
13316 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedDomain_vals), 0,
13317 "RequestedInfo/requestedDomain", HFILL }},
13318 { &hf_gsm_map_imei_flg,
13319 { "imei", "gsm_map.imei",
13320 FT_NONE, BASE_NONE, NULL, 0,
13321 "RequestedInfo/imei", HFILL }},
13322 { &hf_gsm_map_ms_classmark,
13323 { "ms-classmark", "gsm_map.ms_classmark",
13324 FT_NONE, BASE_NONE, NULL, 0,
13325 "RequestedInfo/ms-classmark", HFILL }},
13326 { &hf_gsm_map_mnpRequestedInfo,
13327 { "mnpRequestedInfo", "gsm_map.mnpRequestedInfo",
13328 FT_NONE, BASE_NONE, NULL, 0,
13329 "RequestedInfo/mnpRequestedInfo", HFILL }},
13330 { &hf_gsm_map_subscriberIdentity,
13331 { "subscriberIdentity", "gsm_map.subscriberIdentity",
13332 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
13334 { &hf_gsm_map_requestedSubscriptionInfo,
13335 { "requestedSubscriptionInfo", "gsm_map.requestedSubscriptionInfo",
13336 FT_NONE, BASE_NONE, NULL, 0,
13337 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo", HFILL }},
13338 { &hf_gsm_map_requestedSS_Info,
13339 { "requestedSS-Info", "gsm_map.requestedSS_Info",
13340 FT_NONE, BASE_NONE, NULL, 0,
13341 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/requestedSS-Info", HFILL }},
13343 { "odb", "gsm_map.odb",
13344 FT_NONE, BASE_NONE, NULL, 0,
13345 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/odb", HFILL }},
13346 { &hf_gsm_map_requestedCAMEL_SubscriptionInfo,
13347 { "requestedCAMEL-SubscriptionInfo", "gsm_map.requestedCAMEL_SubscriptionInfo",
13348 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedCAMEL_SubscriptionInfo_vals), 0,
13349 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/requestedCAMEL-SubscriptionInfo", HFILL }},
13350 { &hf_gsm_map_supportedVLR_CAMEL_Phases_flg,
13351 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
13352 FT_NONE, BASE_NONE, NULL, 0,
13353 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/supportedVLR-CAMEL-Phases", HFILL }},
13354 { &hf_gsm_map_supportedSGSN_CAMEL_Phases_flg,
13355 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
13356 FT_NONE, BASE_NONE, NULL, 0,
13357 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/supportedSGSN-CAMEL-Phases", HFILL }},
13358 { &hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo,
13359 { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.additionalRequestedCAMEL_SubscriptionInfo",
13360 FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0,
13362 { &hf_gsm_map_callForwardingData,
13363 { "callForwardingData", "gsm_map.callForwardingData",
13364 FT_NONE, BASE_NONE, NULL, 0,
13365 "AnyTimeSubscriptionInterrogationRes/callForwardingData", HFILL }},
13366 { &hf_gsm_map_forwardingFeatureList,
13367 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
13368 FT_NONE, BASE_NONE, NULL, 0,
13369 "AnyTimeSubscriptionInterrogationRes/callForwardingData/forwardingFeatureList", HFILL }},
13370 { &hf_gsm_map_notificationToCSE,
13371 { "notificationToCSE", "gsm_map.notificationToCSE",
13372 FT_NONE, BASE_NONE, NULL, 0,
13374 { &hf_gsm_map_callBarringData,
13375 { "callBarringData", "gsm_map.callBarringData",
13376 FT_NONE, BASE_NONE, NULL, 0,
13377 "AnyTimeSubscriptionInterrogationRes/callBarringData", HFILL }},
13378 { &hf_gsm_map_password,
13379 { "password", "gsm_map.password",
13380 FT_STRING, BASE_NONE, NULL, 0,
13382 { &hf_gsm_map_wrongPasswordAttemptsCounter,
13383 { "wrongPasswordAttemptsCounter", "gsm_map.wrongPasswordAttemptsCounter",
13384 FT_UINT32, BASE_DEC, NULL, 0,
13386 { &hf_gsm_map_odb_Info,
13387 { "odb-Info", "gsm_map.odb_Info",
13388 FT_NONE, BASE_NONE, NULL, 0,
13389 "AnyTimeSubscriptionInterrogationRes/odb-Info", HFILL }},
13390 { &hf_gsm_map_camel_SubscriptionInfo,
13391 { "camel-SubscriptionInfo", "gsm_map.camel_SubscriptionInfo",
13392 FT_NONE, BASE_NONE, NULL, 0,
13393 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo", HFILL }},
13394 { &hf_gsm_map_d_CSI,
13395 { "d-CSI", "gsm_map.d_CSI",
13396 FT_NONE, BASE_NONE, NULL, 0,
13397 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/d-CSI", HFILL }},
13398 { &hf_gsm_map_dp_AnalysedInfoCriteriaList,
13399 { "dp-AnalysedInfoCriteriaList", "gsm_map.dp_AnalysedInfoCriteriaList",
13400 FT_NONE, BASE_NONE, NULL, 0,
13402 { &hf_gsm_map_csi_Active,
13403 { "csi-Active", "gsm_map.csi_Active",
13404 FT_NONE, BASE_NONE, NULL, 0,
13406 { &hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList,
13407 { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.t_BCSM_CAMEL_TDP_CriteriaList",
13408 FT_NONE, BASE_NONE, NULL, 0,
13409 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
13410 { &hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList_item,
13411 { "Item", "gsm_map.t_BCSM_CAMEL_TDP_CriteriaList_item",
13412 FT_NONE, BASE_NONE, NULL, 0,
13413 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
13414 { &hf_gsm_map_t_BCSM_TriggerDetectionPoint,
13415 { "t-BCSM-TriggerDetectionPoint", "gsm_map.t_BCSM_TriggerDetectionPoint",
13416 FT_UINT32, BASE_DEC, VALS(gsm_map_t_BCSM_TriggerDetectionPoint_vals), 0,
13418 { &hf_gsm_map_basicServiceCriteria,
13419 { "basicServiceCriteria", "gsm_map.basicServiceCriteria",
13420 FT_NONE, BASE_NONE, NULL, 0,
13422 { &hf_gsm_map_t_CauseValueCriteria,
13423 { "t-CauseValueCriteria", "gsm_map.t_CauseValueCriteria",
13424 FT_NONE, BASE_NONE, NULL, 0,
13426 { &hf_gsm_map_vt_CSI,
13427 { "vt-CSI", "gsm_map.vt_CSI",
13428 FT_NONE, BASE_NONE, NULL, 0,
13429 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-CSI", HFILL }},
13430 { &hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList,
13431 { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_BCSM_CAMEL_TDP_CriteriaList",
13432 FT_NONE, BASE_NONE, NULL, 0,
13433 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
13434 { &hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList_item,
13435 { "Item", "gsm_map.vt_BCSM_CAMEL_TDP_CriteriaList_item",
13436 FT_NONE, BASE_NONE, NULL, 0,
13437 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
13438 { &hf_gsm_map_tif_CSI_NotificationToCSE,
13439 { "tif-CSI-NotificationToCSE", "gsm_map.tif_CSI_NotificationToCSE",
13440 FT_NONE, BASE_NONE, NULL, 0,
13441 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/tif-CSI-NotificationToCSE", HFILL }},
13442 { &hf_gsm_map_gprs_CSI,
13443 { "gprs-CSI", "gsm_map.gprs_CSI",
13444 FT_NONE, BASE_NONE, NULL, 0,
13445 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI", HFILL }},
13446 { &hf_gsm_map_gprs_CamelTDPDataList,
13447 { "gprs-CamelTDPDataList", "gsm_map.gprs_CamelTDPDataList",
13448 FT_NONE, BASE_NONE, NULL, 0,
13449 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList", HFILL }},
13450 { &hf_gsm_map_gprs_CamelTDPDataList_item,
13451 { "Item", "gsm_map.gprs_CamelTDPDataList_item",
13452 FT_NONE, BASE_NONE, NULL, 0,
13453 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList/_item", HFILL }},
13454 { &hf_gsm_map_gprs_TriggerDetectionPoint,
13455 { "gprs-TriggerDetectionPoint", "gsm_map.gprs_TriggerDetectionPoint",
13456 FT_UINT32, BASE_DEC, VALS(gsm_map_T_gprs_TriggerDetectionPoint_vals), 0,
13457 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList/_item/gprs-TriggerDetectionPoint", HFILL }},
13458 { &hf_gsm_map_defaultSessionHandling,
13459 { "defaultSessionHandling", "gsm_map.defaultSessionHandling",
13460 FT_UINT32, BASE_DEC, VALS(gsm_map_T_defaultSessionHandling_vals), 0,
13461 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList/_item/defaultSessionHandling", HFILL }},
13462 { &hf_gsm_map_mo_sms_CSI,
13463 { "mo-sms-CSI", "gsm_map.mo_sms_CSI",
13464 FT_NONE, BASE_NONE, NULL, 0,
13465 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mo-sms-CSI", HFILL }},
13466 { &hf_gsm_map_sms_CAMEL_TDP_DataList,
13467 { "sms-CAMEL-TDP-DataList", "gsm_map.sms_CAMEL_TDP_DataList",
13468 FT_NONE, BASE_NONE, NULL, 0,
13470 { &hf_gsm_map_m_CSI,
13471 { "m-CSI", "gsm_map.m_CSI",
13472 FT_NONE, BASE_NONE, NULL, 0,
13473 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/m-CSI", HFILL }},
13474 { &hf_gsm_map_mobilityTriggers,
13475 { "mobilityTriggers", "gsm_map.mobilityTriggers",
13476 FT_NONE, BASE_NONE, NULL, 0,
13478 { &hf_gsm_map_specificCSIDeletedList,
13479 { "specificCSIDeletedList", "gsm_map.specificCSIDeletedList",
13480 FT_BYTES, BASE_HEX, NULL, 0,
13481 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/specificCSIDeletedList", HFILL }},
13482 { &hf_gsm_map_mt_sms_CSI,
13483 { "mt-sms-CSI", "gsm_map.mt_sms_CSI",
13484 FT_NONE, BASE_NONE, NULL, 0,
13485 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-sms-CSI", HFILL }},
13486 { &hf_gsm_map_mt_smsCAMELTDP_CriteriaList,
13487 { "mt-smsCAMELTDP-CriteriaList", "gsm_map.mt_smsCAMELTDP_CriteriaList",
13488 FT_NONE, BASE_NONE, NULL, 0,
13489 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList", HFILL }},
13490 { &hf_gsm_map_mt_smsCAMELTDP_CriteriaList_item,
13491 { "Item", "gsm_map.mt_smsCAMELTDP_CriteriaList_item",
13492 FT_NONE, BASE_NONE, NULL, 0,
13493 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item", HFILL }},
13494 { &hf_gsm_map_sms_TriggerDetectionPoint,
13495 { "sms-TriggerDetectionPoint", "gsm_map.sms_TriggerDetectionPoint",
13496 FT_UINT32, BASE_DEC, VALS(gsm_map_sms_TriggerDetectionPoint_vals), 0,
13498 { &hf_gsm_map_tpdu_TypeCriterion,
13499 { "tpdu-TypeCriterion", "gsm_map.tpdu_TypeCriterion",
13500 FT_NONE, BASE_NONE, NULL, 0,
13501 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item/tpdu-TypeCriterion", HFILL }},
13502 { &hf_gsm_map_tpdu_TypeCriterion_item,
13503 { "Item", "gsm_map.tpdu_TypeCriterion_item",
13504 FT_UINT32, BASE_DEC, VALS(gsm_map_T_tpdu_TypeCriterion_item_vals), 0,
13505 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item/tpdu-TypeCriterion/_item", HFILL }},
13506 { &hf_gsm_map_mg_csi,
13507 { "mg-csi", "gsm_map.mg_csi",
13508 FT_NONE, BASE_NONE, NULL, 0,
13509 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mg-csi", HFILL }},
13510 { &hf_gsm_map_o_IM_CSI,
13511 { "o-IM-CSI", "gsm_map.o_IM_CSI",
13512 FT_NONE, BASE_NONE, NULL, 0,
13513 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-CSI", HFILL }},
13514 { &hf_gsm_map_csiActive,
13515 { "csiActive", "gsm_map.csiActive",
13516 FT_NONE, BASE_NONE, NULL, 0,
13517 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-CSI/csiActive", HFILL }},
13518 { &hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList,
13519 { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.o_IM_BcsmCamelTDP_CriteriaList",
13520 FT_NONE, BASE_NONE, NULL, 0,
13521 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList", HFILL }},
13522 { &hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList_item,
13523 { "Item", "gsm_map.o_IM_BcsmCamelTDP_CriteriaList_item",
13524 FT_NONE, BASE_NONE, NULL, 0,
13525 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList/_item", HFILL }},
13526 { &hf_gsm_map_o_CauseValueCriteria,
13527 { "o-CauseValueCriteria", "gsm_map.o_CauseValueCriteria",
13528 FT_NONE, BASE_NONE, NULL, 0,
13529 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList/_item/o-CauseValueCriteria", HFILL }},
13530 { &hf_gsm_map_d_IM_CSI,
13531 { "d-IM-CSI", "gsm_map.d_IM_CSI",
13532 FT_NONE, BASE_NONE, NULL, 0,
13533 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/d-IM-CSI", HFILL }},
13534 { &hf_gsm_map_vt_IM_CSI,
13535 { "vt-IM-CSI", "gsm_map.vt_IM_CSI",
13536 FT_NONE, BASE_NONE, NULL, 0,
13537 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-CSI", HFILL }},
13538 { &hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
13539 { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_IM_BCSM_CAMEL_TDP_CriteriaList",
13540 FT_NONE, BASE_NONE, NULL, 0,
13541 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
13542 { &hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item,
13543 { "Item", "gsm_map.vt_IM_BCSM_CAMEL_TDP_CriteriaList_item",
13544 FT_NONE, BASE_NONE, NULL, 0,
13545 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
13546 { &hf_gsm_map_supportedVLR_CAMEL_Phases,
13547 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
13548 FT_BYTES, BASE_HEX, NULL, 0,
13549 "AnyTimeSubscriptionInterrogationRes/supportedVLR-CAMEL-Phases", HFILL }},
13550 { &hf_gsm_map_supportedSGSN_CAMEL_Phases,
13551 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
13552 FT_BYTES, BASE_HEX, NULL, 0,
13553 "AnyTimeSubscriptionInterrogationRes/supportedSGSN-CAMEL-Phases", HFILL }},
13554 { &hf_gsm_map_offeredCamel4CSIsInVLR,
13555 { "offeredCamel4CSIsInVLR", "gsm_map.offeredCamel4CSIsInVLR",
13556 FT_BYTES, BASE_HEX, NULL, 0,
13557 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInVLR", HFILL }},
13558 { &hf_gsm_map_offeredCamel4CSIsInSGSN,
13559 { "offeredCamel4CSIsInSGSN", "gsm_map.offeredCamel4CSIsInSGSN",
13560 FT_BYTES, BASE_HEX, NULL, 0,
13561 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInSGSN", HFILL }},
13562 { &hf_gsm_map_Sms_CAMEL_TDP_DataList_item,
13563 { "Item", "gsm_map.Sms_CAMEL_TDP_DataList_item",
13564 FT_NONE, BASE_NONE, NULL, 0,
13565 "Sms-CAMEL-TDP-DataList/_item", HFILL }},
13566 { &hf_gsm_map_defaultSMS_Handling,
13567 { "defaultSMS-Handling", "gsm_map.defaultSMS_Handling",
13568 FT_UINT32, BASE_DEC, VALS(gsm_map_T_defaultSMS_Handling_vals), 0,
13569 "Sms-CAMEL-TDP-DataList/_item/defaultSMS-Handling", HFILL }},
13570 { &hf_gsm_map_T_CauseValueCriteria_item,
13571 { "Item", "gsm_map.T_CauseValueCriteria_item",
13572 FT_BYTES, BASE_HEX, NULL, 0,
13573 "T-CauseValueCriteria/_item", HFILL }},
13574 { &hf_gsm_map_O_CauseValueCriteria_item,
13575 { "Item", "gsm_map.O_CauseValueCriteria_item",
13576 FT_BYTES, BASE_HEX, NULL, 0,
13577 "O-CauseValueCriteria/_item", HFILL }},
13578 { &hf_gsm_map_MobilityTriggers_item,
13579 { "Item", "gsm_map.MobilityTriggers_item",
13580 FT_BYTES, BASE_HEX, NULL, 0,
13581 "MobilityTriggers/_item", HFILL }},
13582 { &hf_gsm_map_BasicServiceCriteria_item,
13583 { "Item", "gsm_map.BasicServiceCriteria_item",
13584 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCriteria_item_vals), 0,
13585 "BasicServiceCriteria/_item", HFILL }},
13586 { &hf_gsm_map_ext_BearerService,
13587 { "ext-BearerService", "gsm_map.ext_BearerService",
13588 FT_BYTES, BASE_HEX, NULL, 0,
13590 { &hf_gsm_map_ext_Teleservice,
13591 { "ext-Teleservice", "gsm_map.ext_Teleservice",
13592 FT_BYTES, BASE_HEX, NULL, 0,
13594 { &hf_gsm_map_Dp_AnalysedInfoCriteriaList_item,
13595 { "Item", "gsm_map.Dp_AnalysedInfoCriteriaList_item",
13596 FT_NONE, BASE_NONE, NULL, 0,
13597 "Dp-AnalysedInfoCriteriaList/_item", HFILL }},
13598 { &hf_gsm_map_dialledNumber,
13599 { "dialledNumber", "gsm_map.dialledNumber",
13600 FT_BYTES, BASE_HEX, NULL, 0,
13601 "Dp-AnalysedInfoCriteriaList/_item/dialledNumber", HFILL }},
13602 { &hf_gsm_map_modificationRequestFor_CF_Info,
13603 { "modificationRequestFor-CF-Info", "gsm_map.modificationRequestFor_CF_Info",
13604 FT_NONE, BASE_NONE, NULL, 0,
13605 "AnyTimeModificationArg/modificationRequestFor-CF-Info", HFILL }},
13606 { &hf_gsm_map_basicService_ext,
13607 { "basicService", "gsm_map.basicService",
13608 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_ext_vals), 0,
13610 { &hf_gsm_map_noReplyConditionTime_1_100,
13611 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
13612 FT_UINT32, BASE_DEC, NULL, 0,
13613 "AnyTimeModificationArg/modificationRequestFor-CF-Info/noReplyConditionTime", HFILL }},
13614 { &hf_gsm_map_modifyNotificationToCSE,
13615 { "modifyNotificationToCSE", "gsm_map.modifyNotificationToCSE",
13616 FT_UINT32, BASE_DEC, VALS(gsm_map_ModifyNotificationToCSE_vals), 0,
13618 { &hf_gsm_map_modificationRequestFor_CB_Info,
13619 { "modificationRequestFor-CB-Info", "gsm_map.modificationRequestFor_CB_Info",
13620 FT_NONE, BASE_NONE, NULL, 0,
13621 "AnyTimeModificationArg/modificationRequestFor-CB-Info", HFILL }},
13622 { &hf_gsm_map_modificationRequestFor_CSI,
13623 { "modificationRequestFor-CSI", "gsm_map.modificationRequestFor_CSI",
13624 FT_NONE, BASE_NONE, NULL, 0,
13625 "AnyTimeModificationArg/modificationRequestFor-CSI", HFILL }},
13626 { &hf_gsm_map_requestedCamel_SubscriptionInfo,
13627 { "requestedCamel-SubscriptionInfo", "gsm_map.requestedCamel_SubscriptionInfo",
13628 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedCamel_SubscriptionInfo_vals), 0,
13629 "AnyTimeModificationArg/modificationRequestFor-CSI/requestedCamel-SubscriptionInfo", HFILL }},
13630 { &hf_gsm_map_modifyCSI_State,
13631 { "modifyCSI-State", "gsm_map.modifyCSI_State",
13632 FT_UINT32, BASE_DEC, VALS(gsm_map_T_modifyCSI_State_vals), 0,
13633 "AnyTimeModificationArg/modificationRequestFor-CSI/modifyCSI-State", HFILL }},
13634 { &hf_gsm_map_modificationRequestFor_ODB_data,
13635 { "modificationRequestFor-ODB-data", "gsm_map.modificationRequestFor_ODB_data",
13636 FT_NONE, BASE_NONE, NULL, 0,
13637 "AnyTimeModificationArg/modificationRequestFor-ODB-data", HFILL }},
13638 { &hf_gsm_map_odb_data,
13639 { "odb-data", "gsm_map.odb_data",
13640 FT_NONE, BASE_NONE, NULL, 0,
13641 "AnyTimeModificationArg/modificationRequestFor-ODB-data/odb-data", HFILL }},
13642 { &hf_gsm_map_odb_HPLMN_Data,
13643 { "odb-HPLMN-Data", "gsm_map.odb_HPLMN_Data",
13644 FT_BYTES, BASE_HEX, NULL, 0,
13645 "Odb-data/odb-HPLMN-Data", HFILL }},
13646 { &hf_gsm_map_ss_Event,
13647 { "ss-Event", "gsm_map.ss_Event",
13648 FT_BYTES, BASE_HEX, NULL, 0,
13649 "Ss-InvocationNotificationArg/ss-Event", HFILL }},
13650 { &hf_gsm_map_ss_EventSpecification,
13651 { "ss-EventSpecification", "gsm_map.ss_EventSpecification",
13652 FT_NONE, BASE_NONE, NULL, 0,
13653 "Ss-InvocationNotificationArg/ss-EventSpecification", HFILL }},
13654 { &hf_gsm_map_ss_EventSpecification_item,
13655 { "Item", "gsm_map.ss_EventSpecification_item",
13656 FT_BYTES, BASE_HEX, NULL, 0,
13657 "Ss-InvocationNotificationArg/ss-EventSpecification/_item", HFILL }},
13658 { &hf_gsm_map_codec_Info,
13659 { "codec-Info", "gsm_map.codec_Info",
13660 FT_BYTES, BASE_HEX, NULL, 0,
13661 "PrepareGroupCallArg/codec-Info", HFILL }},
13662 { &hf_gsm_map_cipheringAlgorithm,
13663 { "cipheringAlgorithm", "gsm_map.cipheringAlgorithm",
13664 FT_BYTES, BASE_HEX, NULL, 0,
13665 "PrepareGroupCallArg/cipheringAlgorithm", HFILL }},
13666 { &hf_gsm_map_groupKeyNumber,
13667 { "groupKeyNumber", "gsm_map.groupKeyNumber",
13668 FT_UINT32, BASE_DEC, NULL, 0,
13669 "PrepareGroupCallArg/groupKeyNumber", HFILL }},
13670 { &hf_gsm_map_groupKey,
13671 { "groupKey", "gsm_map.groupKey",
13672 FT_BYTES, BASE_HEX, NULL, 0,
13673 "PrepareGroupCallArg/groupKey", HFILL }},
13674 { &hf_gsm_map_priority,
13675 { "priority", "gsm_map.priority",
13676 FT_UINT32, BASE_DEC, NULL, 0,
13677 "PrepareGroupCallArg/priority", HFILL }},
13678 { &hf_gsm_map_uplinkFree,
13679 { "uplinkFree", "gsm_map.uplinkFree",
13680 FT_NONE, BASE_NONE, NULL, 0,
13681 "PrepareGroupCallArg/uplinkFree", HFILL }},
13682 { &hf_gsm_map_groupCallNumber,
13683 { "groupCallNumber", "gsm_map.groupCallNumber",
13684 FT_BYTES, BASE_HEX, NULL, 0,
13685 "PrepareGroupCallRes/groupCallNumber", HFILL }},
13686 { &hf_gsm_map_uplinkRequest,
13687 { "uplinkRequest", "gsm_map.uplinkRequest",
13688 FT_NONE, BASE_NONE, NULL, 0,
13689 "ProcessGroupCallSignallingArg/uplinkRequest", HFILL }},
13690 { &hf_gsm_map_uplinkReleaseIndication,
13691 { "uplinkReleaseIndication", "gsm_map.uplinkReleaseIndication",
13692 FT_NONE, BASE_NONE, NULL, 0,
13694 { &hf_gsm_map_releaseGroupCall,
13695 { "releaseGroupCall", "gsm_map.releaseGroupCall",
13696 FT_NONE, BASE_NONE, NULL, 0,
13697 "ProcessGroupCallSignallingArg/releaseGroupCall", HFILL }},
13698 { &hf_gsm_map_uplinkRequestAck,
13699 { "uplinkRequestAck", "gsm_map.uplinkRequestAck",
13700 FT_NONE, BASE_NONE, NULL, 0,
13701 "ForwardGroupCallSignallingArg/uplinkRequestAck", HFILL }},
13702 { &hf_gsm_map_uplinkRejectCommand,
13703 { "uplinkRejectCommand", "gsm_map.uplinkRejectCommand",
13704 FT_NONE, BASE_NONE, NULL, 0,
13705 "ForwardGroupCallSignallingArg/uplinkRejectCommand", HFILL }},
13706 { &hf_gsm_map_uplinkSeizedCommand,
13707 { "uplinkSeizedCommand", "gsm_map.uplinkSeizedCommand",
13708 FT_NONE, BASE_NONE, NULL, 0,
13709 "ForwardGroupCallSignallingArg/uplinkSeizedCommand", HFILL }},
13710 { &hf_gsm_map_uplinkReleaseCommand,
13711 { "uplinkReleaseCommand", "gsm_map.uplinkReleaseCommand",
13712 FT_NONE, BASE_NONE, NULL, 0,
13713 "ForwardGroupCallSignallingArg/uplinkReleaseCommand", HFILL }},
13714 { &hf_gsm_map_sgsn_Address,
13715 { "sgsn-Address", "gsm_map.sgsn_Address",
13716 FT_BYTES, BASE_HEX, NULL, 0,
13718 { &hf_gsm_map_sgsn_Capability,
13719 { "sgsn-Capability", "gsm_map.sgsn_Capability",
13720 FT_NONE, BASE_NONE, NULL, 0,
13721 "UpdateGprsLocationArg/sgsn-Capability", HFILL }},
13722 { &hf_gsm_map_ggsn_Number,
13723 { "ggsn-Number", "gsm_map.ggsn_Number",
13724 FT_BYTES, BASE_HEX, NULL, 0,
13726 { &hf_gsm_map_mobileNotReachableReason,
13727 { "mobileNotReachableReason", "gsm_map.mobileNotReachableReason",
13728 FT_UINT32, BASE_DEC, NULL, 0,
13729 "SendRoutingInfoForGprsRes/mobileNotReachableReason", HFILL }},
13730 { &hf_gsm_map_dataCodingScheme,
13731 { "dataCodingScheme", "gsm_map.dataCodingScheme",
13732 FT_BYTES, BASE_HEX, NULL, 0,
13733 "LcsClientName/dataCodingScheme", HFILL }},
13734 { &hf_gsm_map_nameString,
13735 { "nameString", "gsm_map.nameString",
13736 FT_BYTES, BASE_HEX, NULL, 0,
13737 "LcsClientName/nameString", HFILL }},
13738 { &hf_gsm_map_lcsClientType,
13739 { "lcsClientType", "gsm_map.lcsClientType",
13740 FT_UINT32, BASE_DEC, VALS(gsm_map_LcsClientType_vals), 0,
13741 "Lcs-ClientID/lcsClientType", HFILL }},
13742 { &hf_gsm_map_lcsClientExternalID,
13743 { "lcsClientExternalID", "gsm_map.lcsClientExternalID",
13744 FT_NONE, BASE_NONE, NULL, 0,
13745 "Lcs-ClientID/lcsClientExternalID", HFILL }},
13746 { &hf_gsm_map_lcsClientDialedByMS,
13747 { "lcsClientDialedByMS", "gsm_map.lcsClientDialedByMS",
13748 FT_BYTES, BASE_HEX, NULL, 0,
13749 "Lcs-ClientID/lcsClientDialedByMS", HFILL }},
13750 { &hf_gsm_map_lcsClientInternalID,
13751 { "lcsClientInternalID", "gsm_map.lcsClientInternalID",
13752 FT_UINT32, BASE_DEC, VALS(gsm_map_LcsClientInternalID_vals), 0,
13753 "Lcs-ClientID/lcsClientInternalID", HFILL }},
13754 { &hf_gsm_map_lcsClientName,
13755 { "lcsClientName", "gsm_map.lcsClientName",
13756 FT_NONE, BASE_NONE, NULL, 0,
13757 "Lcs-ClientID/lcsClientName", HFILL }},
13758 { &hf_gsm_map_locationType,
13759 { "locationType", "gsm_map.locationType",
13760 FT_NONE, BASE_NONE, NULL, 0,
13761 "ProvideSubscriberLocation-Arg/locationType", HFILL }},
13762 { &hf_gsm_map_locationEstimateType,
13763 { "locationEstimateType", "gsm_map.locationEstimateType",
13764 FT_UINT32, BASE_DEC, VALS(gsm_map_T_locationEstimateType_vals), 0,
13765 "ProvideSubscriberLocation-Arg/locationType/locationEstimateType", HFILL }},
13766 { &hf_gsm_map_mlc_Number,
13767 { "mlc-Number", "gsm_map.mlc_Number",
13768 FT_BYTES, BASE_HEX, NULL, 0,
13769 "ProvideSubscriberLocation-Arg/mlc-Number", HFILL }},
13770 { &hf_gsm_map_lcs_ClientID,
13771 { "lcs-ClientID", "gsm_map.lcs_ClientID",
13772 FT_NONE, BASE_NONE, NULL, 0,
13774 { &hf_gsm_map_privacyOverride,
13775 { "privacyOverride", "gsm_map.privacyOverride",
13776 FT_NONE, BASE_NONE, NULL, 0,
13777 "ProvideSubscriberLocation-Arg/privacyOverride", HFILL }},
13778 { &hf_gsm_map_lcs_Priority,
13779 { "lcs-Priority", "gsm_map.lcs_Priority",
13780 FT_BYTES, BASE_HEX, NULL, 0,
13781 "ProvideSubscriberLocation-Arg/lcs-Priority", HFILL }},
13782 { &hf_gsm_map_lcs_QoS,
13783 { "lcs-QoS", "gsm_map.lcs_QoS",
13784 FT_NONE, BASE_NONE, NULL, 0,
13785 "ProvideSubscriberLocation-Arg/lcs-QoS", HFILL }},
13786 { &hf_gsm_map_horizontal_accuracy,
13787 { "horizontal-accuracy", "gsm_map.horizontal_accuracy",
13788 FT_BYTES, BASE_HEX, NULL, 0,
13789 "ProvideSubscriberLocation-Arg/lcs-QoS/horizontal-accuracy", HFILL }},
13790 { &hf_gsm_map_verticalCoordinateRequest,
13791 { "verticalCoordinateRequest", "gsm_map.verticalCoordinateRequest",
13792 FT_NONE, BASE_NONE, NULL, 0,
13793 "ProvideSubscriberLocation-Arg/lcs-QoS/verticalCoordinateRequest", HFILL }},
13794 { &hf_gsm_map_vertical_accuracy,
13795 { "vertical-accuracy", "gsm_map.vertical_accuracy",
13796 FT_BYTES, BASE_HEX, NULL, 0,
13797 "ProvideSubscriberLocation-Arg/lcs-QoS/vertical-accuracy", HFILL }},
13798 { &hf_gsm_map_responseTime,
13799 { "responseTime", "gsm_map.responseTime",
13800 FT_NONE, BASE_NONE, NULL, 0,
13801 "ProvideSubscriberLocation-Arg/lcs-QoS/responseTime", HFILL }},
13802 { &hf_gsm_map_responseTimeCategory,
13803 { "responseTimeCategory", "gsm_map.responseTimeCategory",
13804 FT_UINT32, BASE_DEC, VALS(gsm_map_T_responseTimeCategory_vals), 0,
13805 "ProvideSubscriberLocation-Arg/lcs-QoS/responseTime/responseTimeCategory", HFILL }},
13806 { &hf_gsm_map_locationEstimate,
13807 { "locationEstimate", "gsm_map.locationEstimate",
13808 FT_BYTES, BASE_HEX, NULL, 0,
13810 { &hf_gsm_map_ageOfLocationEstimate,
13811 { "ageOfLocationEstimate", "gsm_map.ageOfLocationEstimate",
13812 FT_UINT32, BASE_DEC, NULL, 0,
13814 { &hf_gsm_map_mlcNumber,
13815 { "mlcNumber", "gsm_map.mlcNumber",
13816 FT_BYTES, BASE_HEX, NULL, 0,
13817 "RoutingInfoForLCS-Arg/mlcNumber", HFILL }},
13818 { &hf_gsm_map_targetMS,
13819 { "targetMS", "gsm_map.targetMS",
13820 FT_UINT32, BASE_DEC, VALS(gsm_map_TargetMS_vals), 0,
13822 { &hf_gsm_map_lcsLocationInfo,
13823 { "lcsLocationInfo", "gsm_map.lcsLocationInfo",
13824 FT_NONE, BASE_NONE, NULL, 0,
13826 { &hf_gsm_map_lcs_Event,
13827 { "lcs-Event", "gsm_map.lcs_Event",
13828 FT_UINT32, BASE_DEC, VALS(gsm_map_Lcs_Event_vals), 0,
13829 "SubscriberLocationReport-Arg/lcs-Event", HFILL }},
13830 { &hf_gsm_map_na_ESRD,
13831 { "na-ESRD", "gsm_map.na_ESRD",
13832 FT_BYTES, BASE_HEX, NULL, 0,
13833 "SubscriberLocationReport-Arg/na-ESRD", HFILL }},
13834 { &hf_gsm_map_na_ESRK,
13835 { "na-ESRK", "gsm_map.na_ESRK",
13836 FT_BYTES, BASE_HEX, NULL, 0,
13837 "SubscriberLocationReport-Arg/na-ESRK", HFILL }},
13838 { &hf_gsm_map_networkResource,
13839 { "networkResource", "gsm_map.networkResource",
13840 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
13842 { &hf_gsm_map_extensibleSystemFailureParam,
13843 { "extensibleSystemFailureParam", "gsm_map.extensibleSystemFailureParam",
13844 FT_NONE, BASE_NONE, NULL, 0,
13845 "SystemFailureParam/extensibleSystemFailureParam", HFILL }},
13846 { &hf_gsm_map_unknownSubscriberDiagnostic,
13847 { "unknownSubscriberDiagnostic", "gsm_map.unknownSubscriberDiagnostic",
13848 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unknownSubscriberDiagnostic_vals), 0,
13849 "UnknownSubscriberParam/unknownSubscriberDiagnostic", HFILL }},
13850 { &hf_gsm_map_roamingNotAllowedCause,
13851 { "roamingNotAllowedCause", "gsm_map.roamingNotAllowedCause",
13852 FT_UINT32, BASE_DEC, VALS(gsm_map_T_roamingNotAllowedCause_vals), 0,
13853 "RoamingNotAllowedParam/roamingNotAllowedCause", HFILL }},
13854 { &hf_gsm_map_absentSubscriberReason,
13855 { "absentSubscriberReason", "gsm_map.absentSubscriberReason",
13856 FT_UINT32, BASE_DEC, VALS(gsm_map_T_absentSubscriberReason_vals), 0,
13857 "AbsentSubscriberParam/absentSubscriberReason", HFILL }},
13858 { &hf_gsm_map_ccbs_Busy,
13859 { "ccbs-Busy", "gsm_map.ccbs_Busy",
13860 FT_NONE, BASE_NONE, NULL, 0,
13861 "BusySubscriberParam/ccbs-Busy", HFILL }},
13862 { &hf_gsm_map_callBarringCause,
13863 { "callBarringCause", "gsm_map.callBarringCause",
13864 FT_UINT32, BASE_DEC, VALS(gsm_map_CallBarringCause_vals), 0,
13866 { &hf_gsm_map_extensibleCallBarredParam,
13867 { "extensibleCallBarredParam", "gsm_map.extensibleCallBarredParam",
13868 FT_NONE, BASE_NONE, NULL, 0,
13869 "CallBarredParam/extensibleCallBarredParam", HFILL }},
13870 { &hf_gsm_map_unauthorisedMessageOriginator,
13871 { "unauthorisedMessageOriginator", "gsm_map.unauthorisedMessageOriginator",
13872 FT_NONE, BASE_NONE, NULL, 0,
13873 "CallBarredParam/extensibleCallBarredParam/unauthorisedMessageOriginator", HFILL }},
13874 { &hf_gsm_map_cug_RejectCause,
13875 { "cug-RejectCause", "gsm_map.cug_RejectCause",
13876 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cug_RejectCause_vals), 0,
13877 "Cug-RejectParam/cug-RejectCause", HFILL }},
13878 { &hf_gsm_map_gprsConnectionSuspended,
13879 { "gprsConnectionSuspended", "gsm_map.gprsConnectionSuspended",
13880 FT_NONE, BASE_NONE, NULL, 0,
13881 "SubBusyForMT-SMS-Param/gprsConnectionSuspended", HFILL }},
13882 { &hf_gsm_map_sm_EnumeratedDeliveryFailureCause,
13883 { "sm-EnumeratedDeliveryFailureCause", "gsm_map.sm_EnumeratedDeliveryFailureCause",
13884 FT_UINT32, BASE_DEC, VALS(gsm_map_T_sm_EnumeratedDeliveryFailureCause_vals), 0,
13885 "Sm-DeliveryFailureCause/sm-EnumeratedDeliveryFailureCause", HFILL }},
13886 { &hf_gsm_map_diagnosticInfo,
13887 { "diagnosticInfo", "gsm_map.diagnosticInfo",
13888 FT_BYTES, BASE_HEX, NULL, 0,
13889 "Sm-DeliveryFailureCause/diagnosticInfo", HFILL }},
13890 { &hf_gsm_map_unauthorizedLCSClient_Diagnostic,
13891 { "unauthorizedLCSClient-Diagnostic", "gsm_map.unauthorizedLCSClient_Diagnostic",
13892 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unauthorizedLCSClient_Diagnostic_vals), 0,
13893 "UnauthorizedLCSClient-Param/unauthorizedLCSClient-Diagnostic", HFILL }},
13894 { &hf_gsm_map_positionMethodFailure_Diagnostic,
13895 { "positionMethodFailure-Diagnostic", "gsm_map.positionMethodFailure_Diagnostic",
13896 FT_UINT32, BASE_DEC, VALS(gsm_map_T_positionMethodFailure_Diagnostic_vals), 0,
13897 "PositionMethodFailure-Param/positionMethodFailure-Diagnostic", HFILL }},
13898 { &hf_gsm_map_privateExtensionList,
13899 { "privateExtensionList", "gsm_map.privateExtensionList",
13900 FT_NONE, BASE_NONE, NULL, 0,
13901 "ExtensionContainer/privateExtensionList", HFILL }},
13902 { &hf_gsm_map_pcsExtensions,
13903 { "pcsExtensions", "gsm_map.pcsExtensions",
13904 FT_NONE, BASE_NONE, NULL, 0,
13905 "ExtensionContainer/pcsExtensions", HFILL }},
13906 { &hf_gsm_map_SupportedCamelPhases_phase1,
13907 { "phase1", "gsm_map.phase1",
13908 FT_BOOLEAN, 8, NULL, 0x80,
13910 { &hf_gsm_map_SupportedCamelPhases_phase2,
13911 { "phase2", "gsm_map.phase2",
13912 FT_BOOLEAN, 8, NULL, 0x40,
13914 { &hf_gsm_map_SupportedCamelPhases_phase3,
13915 { "phase3", "gsm_map.phase3",
13916 FT_BOOLEAN, 8, NULL, 0x20,
13918 { &hf_gsm_map_SupportedCamelPhases_phase4,
13919 { "phase4", "gsm_map.phase4",
13920 FT_BOOLEAN, 8, NULL, 0x10,
13922 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet1,
13923 { "lcsCapabilitySet1", "gsm_map.lcsCapabilitySet1",
13924 FT_BOOLEAN, 8, NULL, 0x80,
13926 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet2,
13927 { "lcsCapabilitySet2", "gsm_map.lcsCapabilitySet2",
13928 FT_BOOLEAN, 8, NULL, 0x40,
13930 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet3,
13931 { "lcsCapabilitySet3", "gsm_map.lcsCapabilitySet3",
13932 FT_BOOLEAN, 8, NULL, 0x20,
13934 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet4,
13935 { "lcsCapabilitySet4", "gsm_map.lcsCapabilitySet4",
13936 FT_BOOLEAN, 8, NULL, 0x10,
13938 { &hf_gsm_map_T_offeredCamel4CSIs_o_csi,
13939 { "o-csi", "gsm_map.o-csi",
13940 FT_BOOLEAN, 8, NULL, 0x80,
13942 { &hf_gsm_map_T_offeredCamel4CSIs_d_csi,
13943 { "d-csi", "gsm_map.d-csi",
13944 FT_BOOLEAN, 8, NULL, 0x40,
13946 { &hf_gsm_map_T_offeredCamel4CSIs_vt_csi,
13947 { "vt-csi", "gsm_map.vt-csi",
13948 FT_BOOLEAN, 8, NULL, 0x20,
13950 { &hf_gsm_map_T_offeredCamel4CSIs_t_csi,
13951 { "t-csi", "gsm_map.t-csi",
13952 FT_BOOLEAN, 8, NULL, 0x10,
13954 { &hf_gsm_map_T_offeredCamel4CSIs_mt_sms_csi,
13955 { "mt-sms-csi", "gsm_map.mt-sms-csi",
13956 FT_BOOLEAN, 8, NULL, 0x08,
13958 { &hf_gsm_map_T_offeredCamel4CSIs_mg_csi,
13959 { "mg-csi", "gsm_map.mg-csi",
13960 FT_BOOLEAN, 8, NULL, 0x04,
13962 { &hf_gsm_map_T_offeredCamel4CSIs_psi_enhancements,
13963 { "psi-enhancements", "gsm_map.psi-enhancements",
13964 FT_BOOLEAN, 8, NULL, 0x02,
13966 { &hf_gsm_map_T_requestedEquipmentInfo_equipmentStatus,
13967 { "equipmentStatus", "gsm_map.equipmentStatus",
13968 FT_BOOLEAN, 8, NULL, 0x80,
13970 { &hf_gsm_map_T_requestedEquipmentInfo_bmuef,
13971 { "bmuef", "gsm_map.bmuef",
13972 FT_BOOLEAN, 8, NULL, 0x40,
13974 { &hf_gsm_map_Odb_GeneralData_allOGCallsBarred,
13975 { "allOGCallsBarred", "gsm_map.allOGCallsBarred",
13976 FT_BOOLEAN, 8, NULL, 0x80,
13978 { &hf_gsm_map_Odb_GeneralData_internationalOGCallsBarred,
13979 { "internationalOGCallsBarred", "gsm_map.internationalOGCallsBarred",
13980 FT_BOOLEAN, 8, NULL, 0x40,
13982 { &hf_gsm_map_Odb_GeneralData_internationalOGCallsNotToHPLMNCountryBarred,
13983 { "internationalOGCallsNotToHPLMNCountryBarred", "gsm_map.internationalOGCallsNotToHPLMNCountryBarred",
13984 FT_BOOLEAN, 8, NULL, 0x20,
13986 { &hf_gsm_map_Odb_GeneralData_premiumRateInformationOGCallsBarred,
13987 { "premiumRateInformationOGCallsBarred", "gsm_map.premiumRateInformationOGCallsBarred",
13988 FT_BOOLEAN, 8, NULL, 0x10,
13990 { &hf_gsm_map_Odb_GeneralData_premiumRateEntertainementOGCallsBarred,
13991 { "premiumRateEntertainementOGCallsBarred", "gsm_map.premiumRateEntertainementOGCallsBarred",
13992 FT_BOOLEAN, 8, NULL, 0x08,
13994 { &hf_gsm_map_Odb_GeneralData_ssAccessBarred,
13995 { "ssAccessBarred", "gsm_map.ssAccessBarred",
13996 FT_BOOLEAN, 8, NULL, 0x04,
13998 { &hf_gsm_map_Odb_GeneralData_interzonalOGCallsBarred,
13999 { "interzonalOGCallsBarred", "gsm_map.interzonalOGCallsBarred",
14000 FT_BOOLEAN, 8, NULL, 0x02,
14002 { &hf_gsm_map_Odb_GeneralData_interzonalOGCallsNotToHPLMNCountryBarred,
14003 { "interzonalOGCallsNotToHPLMNCountryBarred", "gsm_map.interzonalOGCallsNotToHPLMNCountryBarred",
14004 FT_BOOLEAN, 8, NULL, 0x01,
14006 { &hf_gsm_map_Odb_GeneralData_interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred,
14007 { "interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred", "gsm_map.interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred",
14008 FT_BOOLEAN, 8, NULL, 0x80,
14010 { &hf_gsm_map_Odb_GeneralData_allECTBarred,
14011 { "allECTBarred", "gsm_map.allECTBarred",
14012 FT_BOOLEAN, 8, NULL, 0x40,
14014 { &hf_gsm_map_Odb_GeneralData_chargeableECTBarred,
14015 { "chargeableECTBarred", "gsm_map.chargeableECTBarred",
14016 FT_BOOLEAN, 8, NULL, 0x20,
14018 { &hf_gsm_map_Odb_GeneralData_internationalECTBarred,
14019 { "internationalECTBarred", "gsm_map.internationalECTBarred",
14020 FT_BOOLEAN, 8, NULL, 0x10,
14022 { &hf_gsm_map_Odb_GeneralData_interzonalECTBarred,
14023 { "interzonalECTBarred", "gsm_map.interzonalECTBarred",
14024 FT_BOOLEAN, 8, NULL, 0x08,
14026 { &hf_gsm_map_Odb_GeneralData_doublyChargeableECTBarred,
14027 { "doublyChargeableECTBarred", "gsm_map.doublyChargeableECTBarred",
14028 FT_BOOLEAN, 8, NULL, 0x04,
14030 { &hf_gsm_map_Odb_GeneralData_multipleECTBarred,
14031 { "multipleECTBarred", "gsm_map.multipleECTBarred",
14032 FT_BOOLEAN, 8, NULL, 0x02,
14034 { &hf_gsm_map_Odb_GeneralData_allPacketOrientedServicesBarred,
14035 { "allPacketOrientedServicesBarred", "gsm_map.allPacketOrientedServicesBarred",
14036 FT_BOOLEAN, 8, NULL, 0x01,
14038 { &hf_gsm_map_Odb_GeneralData_roamerAccessToHPLMN_AP_Barred,
14039 { "roamerAccessToHPLMN-AP-Barred", "gsm_map.roamerAccessToHPLMN-AP-Barred",
14040 FT_BOOLEAN, 8, NULL, 0x80,
14042 { &hf_gsm_map_Odb_GeneralData_roamerAccessToVPLMN_AP_Barred,
14043 { "roamerAccessToVPLMN-AP-Barred", "gsm_map.roamerAccessToVPLMN-AP-Barred",
14044 FT_BOOLEAN, 8, NULL, 0x40,
14046 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNOG_CallsBarred,
14047 { "roamingOutsidePLMNOG-CallsBarred", "gsm_map.roamingOutsidePLMNOG-CallsBarred",
14048 FT_BOOLEAN, 8, NULL, 0x20,
14050 { &hf_gsm_map_Odb_GeneralData_allIC_CallsBarred,
14051 { "allIC-CallsBarred", "gsm_map.allIC-CallsBarred",
14052 FT_BOOLEAN, 8, NULL, 0x10,
14054 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNIC_CallsBarred,
14055 { "roamingOutsidePLMNIC-CallsBarred", "gsm_map.roamingOutsidePLMNIC-CallsBarred",
14056 FT_BOOLEAN, 8, NULL, 0x08,
14058 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
14059 { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm_map.roamingOutsidePLMNICountryIC-CallsBarred",
14060 FT_BOOLEAN, 8, NULL, 0x04,
14062 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_Barred,
14063 { "roamingOutsidePLMN-Barred", "gsm_map.roamingOutsidePLMN-Barred",
14064 FT_BOOLEAN, 8, NULL, 0x02,
14066 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_CountryBarred,
14067 { "roamingOutsidePLMN-CountryBarred", "gsm_map.roamingOutsidePLMN-CountryBarred",
14068 FT_BOOLEAN, 8, NULL, 0x01,
14070 { &hf_gsm_map_Odb_GeneralData_registrationAllCF_Barred,
14071 { "registrationAllCF-Barred", "gsm_map.registrationAllCF-Barred",
14072 FT_BOOLEAN, 8, NULL, 0x80,
14074 { &hf_gsm_map_Odb_GeneralData_registrationCFNotToHPLMN_Barred,
14075 { "registrationCFNotToHPLMN-Barred", "gsm_map.registrationCFNotToHPLMN-Barred",
14076 FT_BOOLEAN, 8, NULL, 0x40,
14078 { &hf_gsm_map_Odb_GeneralData_registrationInterzonalCF_Barred,
14079 { "registrationInterzonalCF-Barred", "gsm_map.registrationInterzonalCF-Barred",
14080 FT_BOOLEAN, 8, NULL, 0x20,
14082 { &hf_gsm_map_Odb_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
14083 { "registrationInterzonalCFNotToHPLMN-Barred", "gsm_map.registrationInterzonalCFNotToHPLMN-Barred",
14084 FT_BOOLEAN, 8, NULL, 0x10,
14086 { &hf_gsm_map_Odb_GeneralData_registrationInternationalCF_Barred,
14087 { "registrationInternationalCF-Barred", "gsm_map.registrationInternationalCF-Barred",
14088 FT_BOOLEAN, 8, NULL, 0x08,
14090 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType1,
14091 { "plmnSpecificBarringType1", "gsm_map.plmnSpecificBarringType1",
14092 FT_BOOLEAN, 8, NULL, 0x80,
14094 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType2,
14095 { "plmnSpecificBarringType2", "gsm_map.plmnSpecificBarringType2",
14096 FT_BOOLEAN, 8, NULL, 0x40,
14098 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType3,
14099 { "plmnSpecificBarringType3", "gsm_map.plmnSpecificBarringType3",
14100 FT_BOOLEAN, 8, NULL, 0x20,
14102 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType4,
14103 { "plmnSpecificBarringType4", "gsm_map.plmnSpecificBarringType4",
14104 FT_BOOLEAN, 8, NULL, 0x10,
14106 { &hf_gsm_map_ServiceIndicator_clirInvoked,
14107 { "clirInvoked", "gsm_map.clirInvoked",
14108 FT_BOOLEAN, 8, NULL, 0x80,
14110 { &hf_gsm_map_ServiceIndicator_camelInvoked,
14111 { "camelInvoked", "gsm_map.camelInvoked",
14112 FT_BOOLEAN, 8, NULL, 0x40,
14114 { &hf_gsm_map_T_mw_Status_scAddressNotIncluded,
14115 { "scAddressNotIncluded", "gsm_map.scAddressNotIncluded",
14116 FT_BOOLEAN, 8, NULL, 0x80,
14118 { &hf_gsm_map_T_mw_Status_mnrfSet,
14119 { "mnrfSet", "gsm_map.mnrfSet",
14120 FT_BOOLEAN, 8, NULL, 0x40,
14122 { &hf_gsm_map_T_mw_Status_mcefSet,
14123 { "mcefSet", "gsm_map.mcefSet",
14124 FT_BOOLEAN, 8, NULL, 0x20,
14126 { &hf_gsm_map_T_mw_Status_mnrgSet,
14127 { "mnrgSet", "gsm_map.mnrgSet",
14128 FT_BOOLEAN, 8, NULL, 0x10,
14130 { &hf_gsm_map_T_specificCSIDeletedList_o_csi,
14131 { "o-csi", "gsm_map.o-csi",
14132 FT_BOOLEAN, 8, NULL, 0x80,
14134 { &hf_gsm_map_T_specificCSIDeletedList_ss_csi,
14135 { "ss-csi", "gsm_map.ss-csi",
14136 FT_BOOLEAN, 8, NULL, 0x40,
14138 { &hf_gsm_map_T_specificCSIDeletedList_tif_csi,
14139 { "tif-csi", "gsm_map.tif-csi",
14140 FT_BOOLEAN, 8, NULL, 0x20,
14142 { &hf_gsm_map_T_specificCSIDeletedList_d_csi,
14143 { "d-csi", "gsm_map.d-csi",
14144 FT_BOOLEAN, 8, NULL, 0x10,
14146 { &hf_gsm_map_T_specificCSIDeletedList_vt_csi,
14147 { "vt-csi", "gsm_map.vt-csi",
14148 FT_BOOLEAN, 8, NULL, 0x08,
14150 { &hf_gsm_map_T_specificCSIDeletedList_mo_sms_csi,
14151 { "mo-sms-csi", "gsm_map.mo-sms-csi",
14152 FT_BOOLEAN, 8, NULL, 0x04,
14154 { &hf_gsm_map_T_specificCSIDeletedList_m_csi,
14155 { "m-csi", "gsm_map.m-csi",
14156 FT_BOOLEAN, 8, NULL, 0x02,
14158 { &hf_gsm_map_T_specificCSIDeletedList_gprs_csi,
14159 { "gprs-csi", "gsm_map.gprs-csi",
14160 FT_BOOLEAN, 8, NULL, 0x01,
14162 { &hf_gsm_map_T_specificCSIDeletedList_t_csi,
14163 { "t-csi", "gsm_map.t-csi",
14164 FT_BOOLEAN, 8, NULL, 0x80,
14166 { &hf_gsm_map_T_specificCSIDeletedList_mt_sms_csi,
14167 { "mt-sms-csi", "gsm_map.mt-sms-csi",
14168 FT_BOOLEAN, 8, NULL, 0x40,
14170 { &hf_gsm_map_T_specificCSIDeletedList_mg_csi,
14171 { "mg-csi", "gsm_map.mg-csi",
14172 FT_BOOLEAN, 8, NULL, 0x20,
14174 { &hf_gsm_map_T_specificCSIDeletedList_o_IM_CSI,
14175 { "o-IM-CSI", "gsm_map.o-IM-CSI",
14176 FT_BOOLEAN, 8, NULL, 0x10,
14178 { &hf_gsm_map_T_specificCSIDeletedList_d_IM_CSI,
14179 { "d-IM-CSI", "gsm_map.d-IM-CSI",
14180 FT_BOOLEAN, 8, NULL, 0x08,
14182 { &hf_gsm_map_T_specificCSIDeletedList_vt_IM_CSI,
14183 { "vt-IM-CSI", "gsm_map.vt-IM-CSI",
14184 FT_BOOLEAN, 8, NULL, 0x04,
14186 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase1,
14187 { "phase1", "gsm_map.phase1",
14188 FT_BOOLEAN, 8, NULL, 0x80,
14190 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase2,
14191 { "phase2", "gsm_map.phase2",
14192 FT_BOOLEAN, 8, NULL, 0x40,
14194 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase3,
14195 { "phase3", "gsm_map.phase3",
14196 FT_BOOLEAN, 8, NULL, 0x20,
14198 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase4,
14199 { "phase4", "gsm_map.phase4",
14200 FT_BOOLEAN, 8, NULL, 0x10,
14202 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase1,
14203 { "phase1", "gsm_map.phase1",
14204 FT_BOOLEAN, 8, NULL, 0x80,
14206 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase2,
14207 { "phase2", "gsm_map.phase2",
14208 FT_BOOLEAN, 8, NULL, 0x40,
14210 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase3,
14211 { "phase3", "gsm_map.phase3",
14212 FT_BOOLEAN, 8, NULL, 0x20,
14214 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase4,
14215 { "phase4", "gsm_map.phase4",
14216 FT_BOOLEAN, 8, NULL, 0x10,
14218 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_o_csi,
14219 { "o-csi", "gsm_map.o-csi",
14220 FT_BOOLEAN, 8, NULL, 0x80,
14222 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_d_csi,
14223 { "d-csi", "gsm_map.d-csi",
14224 FT_BOOLEAN, 8, NULL, 0x40,
14226 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_vt_csi,
14227 { "vt-csi", "gsm_map.vt-csi",
14228 FT_BOOLEAN, 8, NULL, 0x20,
14230 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_t_csi,
14231 { "t-csi", "gsm_map.t-csi",
14232 FT_BOOLEAN, 8, NULL, 0x10,
14234 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_mt_sms_csi,
14235 { "mt-sms-csi", "gsm_map.mt-sms-csi",
14236 FT_BOOLEAN, 8, NULL, 0x08,
14238 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_mg_csi,
14239 { "mg-csi", "gsm_map.mg-csi",
14240 FT_BOOLEAN, 8, NULL, 0x04,
14242 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_psi_enhancements,
14243 { "psi-enhancements", "gsm_map.psi-enhancements",
14244 FT_BOOLEAN, 8, NULL, 0x02,
14246 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_o_csi,
14247 { "o-csi", "gsm_map.o-csi",
14248 FT_BOOLEAN, 8, NULL, 0x80,
14250 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_d_csi,
14251 { "d-csi", "gsm_map.d-csi",
14252 FT_BOOLEAN, 8, NULL, 0x40,
14254 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_vt_csi,
14255 { "vt-csi", "gsm_map.vt-csi",
14256 FT_BOOLEAN, 8, NULL, 0x20,
14258 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_t_csi,
14259 { "t-csi", "gsm_map.t-csi",
14260 FT_BOOLEAN, 8, NULL, 0x10,
14262 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mt_sms_csi,
14263 { "mt-sms-csi", "gsm_map.mt-sms-csi",
14264 FT_BOOLEAN, 8, NULL, 0x08,
14266 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mg_csi,
14267 { "mg-csi", "gsm_map.mg-csi",
14268 FT_BOOLEAN, 8, NULL, 0x04,
14270 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_psi_enhancements,
14271 { "psi-enhancements", "gsm_map.psi-enhancements",
14272 FT_BOOLEAN, 8, NULL, 0x02,
14275 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
14279 /* List of subtrees */
14280 static gint *ett[] = {
14282 &ett_gsm_map_InvokeId,
14283 &ett_gsm_map_InvokePDU,
14284 &ett_gsm_map_ReturnResultPDU,
14285 &ett_gsm_map_ReturnErrorPDU,
14286 &ett_gsm_map_ReturnResult_result,
14287 &ett_gsm_map_ReturnError_result,
14288 &ett_gsm_map_GSMMAPPDU,
14290 /*--- Included file: packet-gsm_map-ettarr.c ---*/
14292 &ett_gsm_map_Bss_APDU,
14293 &ett_gsm_map_An_APDU,
14294 &ett_gsm_map_SupportedCamelPhases,
14295 &ett_gsm_map_Vlr_Capability,
14296 &ett_gsm_map_T_superChargerSupportedInServingNetworkEntity,
14297 &ett_gsm_map_T_supportedLCS_CapabilitySets,
14298 &ett_gsm_map_T_offeredCamel4CSIs,
14299 &ett_gsm_map_UpdateLocationArg,
14300 &ett_gsm_map_T_add_info,
14301 &ett_gsm_map_UpdateLocationRes,
14302 &ett_gsm_map_PrivateExtensionList,
14303 &ett_gsm_map_PrivateExtension,
14304 &ett_gsm_map_PcsExtensions,
14305 &ett_gsm_map_CancelLocationArg,
14306 &ett_gsm_map_T_identity,
14307 &ett_gsm_map_T_imsi_WithLMSI,
14308 &ett_gsm_map_CancelLocationRes,
14309 &ett_gsm_map_PurgeMS_Arg,
14310 &ett_gsm_map_PurgeMS_Res,
14311 &ett_gsm_map_SendIdentificationRes,
14312 &ett_gsm_map_SendId_authenticationSetList,
14313 &ett_gsm_map_T_authenticationSetList_item,
14314 &ett_gsm_map_PrepareHO_Arg,
14315 &ett_gsm_map_PrepareHandoverV3Arg,
14316 &ett_gsm_map_T_allowedUMTS_Algorithms,
14317 &ett_gsm_map_T_radioResourceList,
14318 &ett_gsm_map_T_radioResourceList_item,
14319 &ett_gsm_map_T_bssmap_ServiceHandoverList,
14320 &ett_gsm_map_T_bssmap_ServiceHandoverList_item,
14321 &ett_gsm_map_T_iuSupportedCodecsList,
14322 &ett_gsm_map_T_utranCodecList,
14323 &ett_gsm_map_T_geranCodecList,
14324 &ett_gsm_map_T_uesbi_Iu,
14325 &ett_gsm_map_PrepareHO_Res,
14326 &ett_gsm_map_PrepareHandoverV3Res,
14327 &ett_gsm_map_T_relocationNumberList,
14328 &ett_gsm_map_T_relocationNumberList_item,
14329 &ett_gsm_map_T_selectedUMTS_Algorithms,
14330 &ett_gsm_map_T_chosenRadioResourceInformation,
14331 &ett_gsm_map_T_iuAvailableCodecsList,
14332 &ett_gsm_map_SendEndSignalV9Arg,
14333 &ett_gsm_map_PrepareSubsequentHO_Arg,
14334 &ett_gsm_map_SendAuthenticationInfoArgV3,
14335 &ett_gsm_map_T_re_synchronisationInfo,
14336 &ett_gsm_map_SendAuthenticationInfoRes,
14337 &ett_gsm_map_SendAuthenticationInfoRes_item,
14338 &ett_gsm_map_SendAuthenticationInfoV3Res,
14339 &ett_gsm_map_T_authenticationSetList,
14340 &ett_gsm_map_T_tripletList,
14341 &ett_gsm_map_T_tripletList_item,
14342 &ett_gsm_map_T_quintupletList,
14343 &ett_gsm_map_T_quintupletList_item,
14344 &ett_gsm_map_CheckIMEIv2Arg,
14345 &ett_gsm_map_T_requestedEquipmentInfo,
14346 &ett_gsm_map_ChekIMEIv3Res,
14347 &ett_gsm_map_T_bmuef,
14348 &ett_gsm_map_BasicService,
14349 &ett_gsm_map_BasicServiceGroupList,
14350 &ett_gsm_map_Odb_GeneralData,
14351 &ett_gsm_map_Odb_HPLMN_Data,
14352 &ett_gsm_map_BcsmCamelTDPData,
14353 &ett_gsm_map_BcsmCamelTDPDataList,
14354 &ett_gsm_map_O_CSI,
14355 &ett_gsm_map_InsertSubscriberDataArg,
14356 &ett_gsm_map_bearerServiceList,
14357 &ett_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice,
14358 &ett_gsm_map_T_provisionedSS,
14359 &ett_gsm_map_T_provisionedSS_item,
14360 &ett_gsm_map_T_cug_Info,
14361 &ett_gsm_map_T_cug_SubscriptionList,
14362 &ett_gsm_map_T_cug_SubscriptionList_item,
14363 &ett_gsm_map_T_cug_FeatureList,
14364 &ett_gsm_map_T_cug_FeatureList_item,
14365 &ett_gsm_map_T_emlpp_Info,
14366 &ett_gsm_map_T_regionalSubscriptionData,
14367 &ett_gsm_map_T_vbsSubscriptionData,
14368 &ett_gsm_map_T_vbsSubscriptionData_item,
14369 &ett_gsm_map_T_vgcsSubscriptionData,
14370 &ett_gsm_map_T_vgcsSubscriptionData_item,
14371 &ett_gsm_map_T_vlrCamelSubscriptionInfo,
14372 &ett_gsm_map_ss_CSI,
14373 &ett_gsm_map_T_gprsSubscriptionData,
14374 &ett_gsm_map_T_gprsDataList,
14375 &ett_gsm_map_T_gprsDataList_item,
14376 &ett_gsm_map_T_lsaInformation,
14377 &ett_gsm_map_T_lsaDataList,
14378 &ett_gsm_map_T_lsaDataList_item,
14379 &ett_gsm_map_T_lcsInformation,
14380 &ett_gsm_map_T_gmlc_List,
14381 &ett_gsm_map_T_lcs_PrivacyExceptionList,
14382 &ett_gsm_map_T_lcs_PrivacyExceptionList_item,
14383 &ett_gsm_map_T_externalClientList,
14384 &ett_gsm_map_T_externalClientList_item,
14385 &ett_gsm_map_T_clientIdentity,
14386 &ett_gsm_map_T_plmnClientList,
14387 &ett_gsm_map_T_molr_List,
14388 &ett_gsm_map_T_molr_List_item,
14389 &ett_gsm_map_InsertSubscriberDataRes,
14390 &ett_gsm_map_ss_List,
14391 &ett_gsm_map_Ss_CamelData,
14392 &ett_gsm_map_T_ss_EventList,
14393 &ett_gsm_map_CallBarringInfo,
14394 &ett_gsm_map_CallBarringFeatureList,
14395 &ett_gsm_map_CallBarringFeatureList_item,
14396 &ett_gsm_map_ForwardingFeatureList,
14397 &ett_gsm_map_DestinationNumberCriteria,
14398 &ett_gsm_map_T_destinationNumberList,
14399 &ett_gsm_map_T_destinationNumberLengthList,
14400 &ett_gsm_map_ForwardingInfo,
14401 &ett_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList,
14402 &ett_gsm_map_Naea_PreferredCI,
14403 &ett_gsm_map_O_BcsmCamelTDP_CriteriaList,
14404 &ett_gsm_map_O_BcsmCamelTDP_CriteriaList_item,
14405 &ett_gsm_map_Ss_SubscriptionOption,
14406 &ett_gsm_map_DeleteSubscriberDataArg,
14407 &ett_gsm_map_T_gprsSubscriptionDataWithdraw,
14408 &ett_gsm_map_T_contextIdList,
14409 &ett_gsm_map_T_lsaInformationWithdraw,
14410 &ett_gsm_map_T_lsaIdentityList,
14411 &ett_gsm_map_DeleteSubscriberDataRes,
14412 &ett_gsm_map_ResetArg,
14413 &ett_gsm_map_T_hlr_List,
14414 &ett_gsm_map_RestoreDataArg,
14415 &ett_gsm_map_RestoreDataRes,
14416 &ett_gsm_map_ActivateTraceModeArg,
14417 &ett_gsm_map_ActivateTraceModeRes,
14418 &ett_gsm_map_DeactivateTraceModeArg,
14419 &ett_gsm_map_DeactivateTraceModeRes,
14420 &ett_gsm_map_SendRoutingInfoArg,
14421 &ett_gsm_map_T_camelInfo,
14422 &ett_gsm_map_SendRoutingInfoRes,
14423 &ett_gsm_map_T_extendedRoutingInfo,
14424 &ett_gsm_map_T_routingInfo,
14425 &ett_gsm_map_T_camelRoutingInfo,
14426 &ett_gsm_map_T_gmscCamelSubscriptionInfo,
14427 &ett_gsm_map_t_CSI,
14428 &ett_gsm_map_T_ccbs_Indicators,
14429 &ett_gsm_map_SubscriberState,
14430 &ett_gsm_map_LocationInformation,
14431 &ett_gsm_map_T_cellIdOrLAI,
14432 &ett_gsm_map_SubscriberInfo,
14433 &ett_gsm_map_T_locationInformationGPRS,
14434 &ett_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI,
14435 &ett_gsm_map_T_ps_SubscriberState,
14436 &ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging,
14437 &ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item,
14438 &ett_gsm_map_T_ps_PDP_ActiveReachableForPaging,
14439 &ett_gsm_map_T_ps_PDP_ActiveReachableForPaging_item,
14440 &ett_gsm_map_T_gprs_MS_Class,
14441 &ett_gsm_map_T_mnpInfoRes,
14442 &ett_gsm_map_AdditionalSignalInfo,
14443 &ett_gsm_map_Cug_CheckInfo,
14444 &ett_gsm_map_ForwardingData,
14445 &ett_gsm_map_ProvideRoamingNumberArg,
14446 &ett_gsm_map_ProvideRoamingNumberRes,
14447 &ett_gsm_map_ResumeCallHandlingArg,
14448 &ett_gsm_map_T_uu_Data,
14449 &ett_gsm_map_ResumeCallHandlingRes,
14450 &ett_gsm_map_ProvideSIWFSNumberArg,
14451 &ett_gsm_map_ProvideSIWFSNumberRes,
14452 &ett_gsm_map_SIWFSSignallingModifyArg,
14453 &ett_gsm_map_SIWFSSignallingModifyRes,
14454 &ett_gsm_map_SetReportingStateArg,
14455 &ett_gsm_map_SetReportingStateRes,
14456 &ett_gsm_map_StatusReportArg,
14457 &ett_gsm_map_T_eventReportData,
14458 &ett_gsm_map_T_callReportdata,
14459 &ett_gsm_map_StatusReportRes,
14460 &ett_gsm_map_RemoteUserFreeArg,
14461 &ett_gsm_map_RemoteUserFreeRes,
14462 &ett_gsm_map_Ss_Data,
14463 &ett_gsm_map_RegisterSS_Arg,
14464 &ett_gsm_map_Ss_Info,
14465 &ett_gsm_map_Ccbs_Feature,
14466 &ett_gsm_map_Ss_ForBS,
14467 &ett_gsm_map_InterrogateSS_Res,
14468 &ett_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList,
14469 &ett_gsm_map_T_genericServiceInfo,
14470 &ett_gsm_map_T_ccbs_FeatureList,
14471 &ett_gsm_map_T_ccbs_FeatureList_item,
14472 &ett_gsm_map_Ussd_Arg,
14473 &ett_gsm_map_Ussd_Res,
14474 &ett_gsm_map_ServiceIndicator,
14475 &ett_gsm_map_RegisterCC_EntryArg,
14476 &ett_gsm_map_T_ccbs_Data,
14477 &ett_gsm_map_RegisterCC_EntryRes,
14478 &ett_gsm_map_EraseCC_EntryArg,
14479 &ett_gsm_map_EraseCC_EntryRes,
14480 &ett_gsm_map_RoutingInfoForSMArg,
14481 &ett_gsm_map_RoutingInfoForSMRes,
14482 &ett_gsm_map_T_locationInfoWithLMSI,
14483 &ett_gsm_map_T_additional_Number,
14484 &ett_gsm_map_Mo_forwardSM_Arg,
14485 &ett_gsm_map_Mo_forwardSM_Res,
14486 &ett_gsm_map_Sm_RP_OA,
14487 &ett_gsm_map_Sm_RP_DA,
14488 &ett_gsm_map_Mt_forwardSM_Arg,
14489 &ett_gsm_map_Mt_forwardSM_Res,
14490 &ett_gsm_map_ReportSM_DeliveryStatusArg,
14491 &ett_gsm_map_ReportSM_DeliveryStatusRes,
14492 &ett_gsm_map_InformServiceCentreArg,
14493 &ett_gsm_map_T_mw_Status,
14494 &ett_gsm_map_AlertServiceCentreArg,
14495 &ett_gsm_map_ReadyForSM_Arg,
14496 &ett_gsm_map_ReadyForSM_Res,
14497 &ett_gsm_map_ProvideSubscriberInfoArg,
14498 &ett_gsm_map_ProvideSubscriberInfoRes,
14499 &ett_gsm_map_RequestedInfo,
14500 &ett_gsm_map_AnyTimeInterrogationArg,
14501 &ett_gsm_map_AnyTimeInterrogationRes,
14502 &ett_gsm_map_AnyTimeSubscriptionInterrogationArg,
14503 &ett_gsm_map_T_requestedSubscriptionInfo,
14504 &ett_gsm_map_T_requestedSS_Info,
14505 &ett_gsm_map_AnyTimeSubscriptionInterrogationRes,
14506 &ett_gsm_map_T_callForwardingData,
14507 &ett_gsm_map_T_callBarringData,
14508 &ett_gsm_map_T_odb_Info,
14509 &ett_gsm_map_T_camel_SubscriptionInfo,
14510 &ett_gsm_map_T_d_CSI,
14511 &ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList,
14512 &ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item,
14513 &ett_gsm_map_T_vt_CSI,
14514 &ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList,
14515 &ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item,
14516 &ett_gsm_map_T_gprs_CSI,
14517 &ett_gsm_map_T_gprs_CamelTDPDataList,
14518 &ett_gsm_map_T_gprs_CamelTDPDataList_item,
14519 &ett_gsm_map_T_mo_sms_CSI,
14520 &ett_gsm_map_T_m_CSI,
14521 &ett_gsm_map_T_specificCSIDeletedList,
14522 &ett_gsm_map_T_mt_sms_CSI,
14523 &ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList,
14524 &ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item,
14525 &ett_gsm_map_T_tpdu_TypeCriterion,
14526 &ett_gsm_map_T_mg_csi,
14527 &ett_gsm_map_T_o_IM_CSI,
14528 &ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList,
14529 &ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item,
14530 &ett_gsm_map_T_d_IM_CSI,
14531 &ett_gsm_map_T_vt_IM_CSI,
14532 &ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
14533 &ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item,
14534 &ett_gsm_map_T_supportedVLR_CAMEL_Phases,
14535 &ett_gsm_map_T_supportedSGSN_CAMEL_Phases,
14536 &ett_gsm_map_T_offeredCamel4CSIsInVLR,
14537 &ett_gsm_map_T_offeredCamel4CSIsInSGSN,
14538 &ett_gsm_map_Sms_CAMEL_TDP_DataList,
14539 &ett_gsm_map_Sms_CAMEL_TDP_DataList_item,
14540 &ett_gsm_map_T_CauseValueCriteria,
14541 &ett_gsm_map_O_CauseValueCriteria,
14542 &ett_gsm_map_MobilityTriggers,
14543 &ett_gsm_map_BasicServiceCriteria,
14544 &ett_gsm_map_BasicServiceCriteria_item,
14545 &ett_gsm_map_Dp_AnalysedInfoCriteriaList,
14546 &ett_gsm_map_Dp_AnalysedInfoCriteriaList_item,
14547 &ett_gsm_map_SubscriberIdentity,
14548 &ett_gsm_map_AnyTimeModificationArg,
14549 &ett_gsm_map_T_modificationRequestFor_CF_Info,
14550 &ett_gsm_map_BasicService_ext,
14551 &ett_gsm_map_T_modificationRequestFor_CB_Info,
14552 &ett_gsm_map_T_modificationRequestFor_CSI,
14553 &ett_gsm_map_T_modificationRequestFor_ODB_data,
14554 &ett_gsm_map_AnyTimeModificationRes,
14555 &ett_gsm_map_Odb_data,
14556 &ett_gsm_map_Ss_InvocationNotificationArg,
14557 &ett_gsm_map_T_ss_EventSpecification,
14558 &ett_gsm_map_Ss_InvocationNotificationRes,
14559 &ett_gsm_map_PrepareGroupCallArg,
14560 &ett_gsm_map_PrepareGroupCallRes,
14561 &ett_gsm_map_SendGroupCallEndSignalArg,
14562 &ett_gsm_map_SendGroupCallEndSignalRes,
14563 &ett_gsm_map_ProcessGroupCallSignallingArg,
14564 &ett_gsm_map_ForwardGroupCallSignallingArg,
14565 &ett_gsm_map_UpdateGprsLocationArg,
14566 &ett_gsm_map_T_sgsn_Capability,
14567 &ett_gsm_map_UpdateGprsLocationRes,
14568 &ett_gsm_map_SendRoutingInfoForGprsArg,
14569 &ett_gsm_map_SendRoutingInfoForGprsRes,
14570 &ett_gsm_map_FailureReportArg,
14571 &ett_gsm_map_FailureReportRes,
14572 &ett_gsm_map_NoteMsPresentForGprsArg,
14573 &ett_gsm_map_NoteMsPresentForGprsRes,
14574 &ett_gsm_map_LcsClientExternalID,
14575 &ett_gsm_map_LcsClientName,
14576 &ett_gsm_map_Lcs_ClientID,
14577 &ett_gsm_map_LcsLocationInfo,
14578 &ett_gsm_map_ProvideSubscriberLocation_Arg,
14579 &ett_gsm_map_T_locationType,
14580 &ett_gsm_map_T_lcs_QoS,
14581 &ett_gsm_map_T_responseTime,
14582 &ett_gsm_map_ProvideSubscriberLocation_Res,
14583 &ett_gsm_map_TargetMS,
14584 &ett_gsm_map_RoutingInfoForLCS_Arg,
14585 &ett_gsm_map_RoutingInfoForLCS_Res,
14586 &ett_gsm_map_SubscriberLocationReport_Arg,
14587 &ett_gsm_map_SubscriberLocationReport_Res,
14588 &ett_gsm_map_SystemFailureParam,
14589 &ett_gsm_map_T_extensibleSystemFailureParam,
14590 &ett_gsm_map_DataMissingParam,
14591 &ett_gsm_map_UnexpectedDataParam,
14592 &ett_gsm_map_FacilityNotSupParam,
14593 &ett_gsm_map_IncompatibleTerminalParam,
14594 &ett_gsm_map_ResourceLimitationParam,
14595 &ett_gsm_map_UnknownSubscriberParam,
14596 &ett_gsm_map_NumberChangedParam,
14597 &ett_gsm_map_UnidentifiedSubParam,
14598 &ett_gsm_map_RoamingNotAllowedParam,
14599 &ett_gsm_map_IllegalSubscriberParam,
14600 &ett_gsm_map_IllegalEquipmentParam,
14601 &ett_gsm_map_BearerServNotProvParam,
14602 &ett_gsm_map_TeleservNotProvParam,
14603 &ett_gsm_map_TracingBufferFullParam,
14604 &ett_gsm_map_NoRoamingNbParam,
14605 &ett_gsm_map_AbsentSubscriberParam,
14606 &ett_gsm_map_BusySubscriberParam,
14607 &ett_gsm_map_NoSubscriberReplyParam,
14608 &ett_gsm_map_CallBarredParam,
14609 &ett_gsm_map_T_extensibleCallBarredParam,
14610 &ett_gsm_map_ForwardingFailedParam,
14611 &ett_gsm_map_Or_NotAllowedParam,
14612 &ett_gsm_map_ForwardingViolationParam,
14613 &ett_gsm_map_Cug_RejectParam,
14614 &ett_gsm_map_Ati_NotAllowedParam,
14615 &ett_gsm_map_NoGroupCallNbParam,
14616 &ett_gsm_map_Ss_IncompatibilityCause,
14617 &ett_gsm_map_ShortTermDenialParam,
14618 &ett_gsm_map_LongTermDenialParam,
14619 &ett_gsm_map_SubBusyForMT_SMS_Param,
14620 &ett_gsm_map_Sm_DeliveryFailureCause,
14621 &ett_gsm_map_MessageWaitListFullParam,
14622 &ett_gsm_map_AbsentSubscriberSM_Param,
14623 &ett_gsm_map_UnauthorizedRequestingNetwork_Param,
14624 &ett_gsm_map_UnauthorizedLCSClient_Param,
14625 &ett_gsm_map_PositionMethodFailure_Param,
14626 &ett_gsm_map_UnknownOrUnreachableLCSClient_Param,
14627 &ett_gsm_map_ExtensionContainer,
14629 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
14633 /* Register protocol */
14634 proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
14635 /*XXX register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);*/
14636 /* Register fields and subtrees */
14637 proto_register_field_array(proto_gsm_map, hf, array_length(hf));
14638 proto_register_subtree_array(ett, array_length(ett));
14640 sms_dissector_table = register_dissector_table("gsm_map.sms_tpdu",
14641 "GSM SMS TPDU", FT_UINT8,
14644 gsm_map_tap = register_tap("gsm_map");
14645 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)" );
14646 register_ber_oid_name("0.4.0.0.1.0.1.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version2(2)" );
14647 register_ber_oid_name("0.4.0.0.1.0.2.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version3(3)" );
14648 register_ber_oid_name("0.4.0.0.1.0.2.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version2(2)" );
14649 register_ber_oid_name("0.4.0.0.1.0.2.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version1(1)" );
14650 register_ber_oid_name("0.4.0.0.1.0.3.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version3(3)" );
14651 register_ber_oid_name("0.4.0.0.1.0.3.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version2(2)" );
14652 register_ber_oid_name("0.4.0.0.1.0.3.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version1(1)" );
14653 register_ber_oid_name("0.4.0.0.1.0.5.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version3(3)" );
14654 register_ber_oid_name("0.4.0.0.1.0.5.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version2(2)" );
14655 register_ber_oid_name("0.4.0.0.1.0.5.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version1(1)" );
14656 register_ber_oid_name("0.4.0.0.1.0.10.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version2(2)" );
14657 register_ber_oid_name("0.4.0.0.1.0.10.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version1(1)" );
14658 register_ber_oid_name("0.4.0.0.1.0.11.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version3(3)" );
14659 register_ber_oid_name("0.4.0.0.1.0.11.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version2(2)" );
14660 register_ber_oid_name("0.4.0.0.1.0.11.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version1(1)" );
14661 register_ber_oid_name("0.4.0.0.1.0.26.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) imsiRetrieval(26) version2(2)" );
14662 register_ber_oid_name("0.4.0.0.1.0.13.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version2(2)" );
14663 register_ber_oid_name("0.4.0.0.1.0.13.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version1(1)" );
14664 register_ber_oid_name("0.4.0.0.1.0.14.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version3(3)" );
14665 register_ber_oid_name("0.4.0.0.1.0.14.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version2(2)" );
14666 register_ber_oid_name("0.4.0.0.1.0.14.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version1(1)" );
14667 register_ber_oid_name("0.4.0.0.1.0.15.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version2(2)" );
14668 register_ber_oid_name("0.4.0.0.1.0.16.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version3(3)" );
14669 register_ber_oid_name("0.4.0.0.1.0.16.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version2(2)" );
14670 register_ber_oid_name("0.4.0.0.1.0.16.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version1(1)" );
14671 register_ber_oid_name("0.4.0.0.1.0.17.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version2(2)" );
14672 register_ber_oid_name("0.4.0.0.1.0.17.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version1(1)" );
14673 register_ber_oid_name("0.4.0.0.1.0.18.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version2(2)" );
14674 register_ber_oid_name("0.4.0.0.1.0.18.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version1(1)" );
14675 register_ber_oid_name("0.4.0.0.1.0.19.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkUnstructuredSs(19) version2(2)" );
14676 register_ber_oid_name("0.4.0.0.1.0.20.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version2(2)" );
14677 register_ber_oid_name("0.4.0.0.1.0.20.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version1(1)" );
14678 register_ber_oid_name("0.4.0.0.1.0.21.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMO-Relay(21) version2(2)" );
14679 register_ber_oid_name("0.4.0.0.1.0.21.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) --shortMsgRelay--21 version1(1)" );
14680 register_ber_oid_name("0.4.0.0.1.0.23.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version2(2)" );
14681 register_ber_oid_name("0.4.0.0.1.0.23.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version1(1)" );
14682 register_ber_oid_name("0.4.0.0.1.0.24.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version2(2)" );
14683 register_ber_oid_name("0.4.0.0.1.0.24.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version1(1)" );
14684 register_ber_oid_name("0.4.0.0.1.0.25.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMT-Relay(25) version2(2)" );
14685 register_ber_oid_name("0.4.0.0.1.0.25.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) msPurging(27) version2(2)" );
14687 /* Register our configuration options, particularly our ssn:s */
14688 /* Set default SSNs */
14689 range_convert_str(&global_ssn_range, "6-9", MAX_SSN);
14690 ssn_range = range_empty();
14693 gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
14695 prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs",
14696 "TCAP Subsystem numbers used for GSM MAP",
14697 &global_ssn_range, MAX_SSN);