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; /* OCTET_STRING */
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_bearerService = -1; /* OCTET_STRING */
205 static int hf_gsm_map_teleservice = -1; /* Teleservice */
206 static int hf_gsm_map_BasicServiceGroupList_item = -1; /* BasicService */
207 static int hf_gsm_map_bcsmTriggerDetectionPoint = -1; /* BcsmTriggerDetectionPoint */
208 static int hf_gsm_map_serviceKey = -1; /* ServiceKey */
209 static int hf_gsm_map_gsmSCFAddress = -1; /* GsmSCF_Address */
210 static int hf_gsm_map_defaultCallHandling = -1; /* DefaultCallHandling */
211 static int hf_gsm_map_BcsmCamelTDPDataList_item = -1; /* BcsmCamelTDPData */
212 static int hf_gsm_map_o_BcsmCamelTDPDataList = -1; /* BcsmCamelTDPDataList */
213 static int hf_gsm_map_camelCapabilityHandling = -1; /* INTEGER_1_16 */
214 static int hf_gsm_map_msisdn = -1; /* Msisdn */
215 static int hf_gsm_map_category = -1; /* OCTET_STRING_SIZE_1 */
216 static int hf_gsm_map_subscriberStatus = -1; /* SubscriberStatus */
217 static int hf_gsm_map_bearerServiceList = -1; /* bearerServiceList */
218 static int hf_gsm_map_bearerServiceList_item = -1; /* OCTET_STRING_SIZE_1_5 */
219 static int hf_gsm_map_teleserviceList = -1; /* SEQUENCE_SIZE_1_20_OF_Teleservice */
220 static int hf_gsm_map_teleserviceList_item = -1; /* Teleservice */
221 static int hf_gsm_map_provisionedSS = -1; /* T_provisionedSS */
222 static int hf_gsm_map_provisionedSS_item = -1; /* T_provisionedSS_item */
223 static int hf_gsm_map_forwardingInfo = -1; /* ForwardingInfo */
224 static int hf_gsm_map_callBarringInfo = -1; /* CallBarringInfo */
225 static int hf_gsm_map_cug_Info = -1; /* T_cug_Info */
226 static int hf_gsm_map_cug_SubscriptionList = -1; /* T_cug_SubscriptionList */
227 static int hf_gsm_map_cug_SubscriptionList_item = -1; /* T_cug_SubscriptionList_item */
228 static int hf_gsm_map_cug_Index = -1; /* INTEGER_0_32767 */
229 static int hf_gsm_map_cug_Interlock = -1; /* OCTET_STRING_SIZE_4 */
230 static int hf_gsm_map_intraCUG_Options = -1; /* IntraCUG_Options */
231 static int hf_gsm_map_basicServiceGroupList = -1; /* BasicServiceGroupList */
232 static int hf_gsm_map_cug_FeatureList = -1; /* T_cug_FeatureList */
233 static int hf_gsm_map_cug_FeatureList_item = -1; /* T_cug_FeatureList_item */
234 static int hf_gsm_map_basicService = -1; /* BasicService */
235 static int hf_gsm_map_preferentialCUG_Indicator = -1; /* INTEGER_0_32767 */
236 static int hf_gsm_map_interCUG_Restrictions = -1; /* OCTET_STRING_SIZE_1 */
237 static int hf_gsm_map_ss_Data = -1; /* Ss_Data */
238 static int hf_gsm_map_emlpp_Info = -1; /* T_emlpp_Info */
239 static int hf_gsm_map_maximumentitledPriority = -1; /* INTEGER_0_15 */
240 static int hf_gsm_map_defaultPriority = -1; /* INTEGER_0_15 */
241 static int hf_gsm_map_odb_Data = -1; /* Odb_data */
242 static int hf_gsm_map_roamingRestrictionDueToUnsupportedFeature = -1; /* NULL */
243 static int hf_gsm_map_regionalSubscriptionData = -1; /* T_regionalSubscriptionData */
244 static int hf_gsm_map_regionalSubscriptionData_item = -1; /* OCTET_STRING_SIZE_2 */
245 static int hf_gsm_map_vbsSubscriptionData = -1; /* T_vbsSubscriptionData */
246 static int hf_gsm_map_vbsSubscriptionData_item = -1; /* T_vbsSubscriptionData_item */
247 static int hf_gsm_map_groupid = -1; /* OCTET_STRING_SIZE_3 */
248 static int hf_gsm_map_broadcastInitEntitlement = -1; /* NULL */
249 static int hf_gsm_map_vgcsSubscriptionData = -1; /* T_vgcsSubscriptionData */
250 static int hf_gsm_map_vgcsSubscriptionData_item = -1; /* T_vgcsSubscriptionData_item */
251 static int hf_gsm_map_groupId = -1; /* OCTET_STRING_SIZE_3 */
252 static int hf_gsm_map_vlrCamelSubscriptionInfo = -1; /* T_vlrCamelSubscriptionInfo */
253 static int hf_gsm_map_o_CSI = -1; /* O_CSI */
254 static int hf_gsm_map_ss_CSI = -1; /* T_ss_CSI */
255 static int hf_gsm_map_ss_CamelData = -1; /* Ss_CamelData */
256 static int hf_gsm_map_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDP_CriteriaList */
257 static int hf_gsm_map_tif_CSI = -1; /* NULL */
258 static int hf_gsm_map_naea_PreferredCI = -1; /* Naea_PreferredCI */
259 static int hf_gsm_map_gprsSubscriptionData = -1; /* T_gprsSubscriptionData */
260 static int hf_gsm_map_completeDataListIncluded = -1; /* NULL */
261 static int hf_gsm_map_gprsDataList = -1; /* T_gprsDataList */
262 static int hf_gsm_map_gprsDataList_item = -1; /* T_gprsDataList_item */
263 static int hf_gsm_map_pdp_ContextId = -1; /* INTEGER_1_50 */
264 static int hf_gsm_map_pdp_Type = -1; /* OCTET_STRING_SIZE_2 */
265 static int hf_gsm_map_pdp_Address = -1; /* OCTET_STRING_SIZE_1_16 */
266 static int hf_gsm_map_qos_Subscribed = -1; /* Qos_Subscribed */
267 static int hf_gsm_map_vplmnAddressAllowed = -1; /* NULL */
268 static int hf_gsm_map_apn = -1; /* OCTET_STRING_SIZE_2_63 */
269 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature = -1; /* NULL */
270 static int hf_gsm_map_networkAccessMode = -1; /* T_networkAccessMode */
271 static int hf_gsm_map_lsaInformation = -1; /* T_lsaInformation */
272 static int hf_gsm_map_lsaOnlyAccessIndicator = -1; /* T_lsaOnlyAccessIndicator */
273 static int hf_gsm_map_lsaDataList = -1; /* T_lsaDataList */
274 static int hf_gsm_map_lsaDataList_item = -1; /* T_lsaDataList_item */
275 static int hf_gsm_map_lsaIdentity = -1; /* OCTET_STRING_SIZE_3 */
276 static int hf_gsm_map_lsaAttributes = -1; /* OCTET_STRING_SIZE_1 */
277 static int hf_gsm_map_lsaActiveModeIndicator = -1; /* NULL */
278 static int hf_gsm_map_lmu_Indicator = -1; /* NULL */
279 static int hf_gsm_map_lcsInformation = -1; /* T_lcsInformation */
280 static int hf_gsm_map_gmlc_List = -1; /* T_gmlc_List */
281 static int hf_gsm_map_gmlc_List_item = -1; /* T_gmlc_List_item */
282 static int hf_gsm_map_lcs_PrivacyExceptionList = -1; /* T_lcs_PrivacyExceptionList */
283 static int hf_gsm_map_lcs_PrivacyExceptionList_item = -1; /* T_lcs_PrivacyExceptionList_item */
284 static int hf_gsm_map_ss_Code = -1; /* Ss_Code */
285 static int hf_gsm_map_ss_Status = -1; /* Ss_Status */
286 static int hf_gsm_map_notificationToMSUser = -1; /* NotificationToMSUser */
287 static int hf_gsm_map_externalClientList = -1; /* T_externalClientList */
288 static int hf_gsm_map_externalClientList_item = -1; /* T_externalClientList_item */
289 static int hf_gsm_map_clientIdentity = -1; /* T_clientIdentity */
290 static int hf_gsm_map_externalAddress = -1; /* OCTET_STRING_SIZE_1_20 */
291 static int hf_gsm_map_gmlc_Restriction = -1; /* T_gmlc_Restriction */
292 static int hf_gsm_map_plmnClientList = -1; /* T_plmnClientList */
293 static int hf_gsm_map_plmnClientList_item = -1; /* T_plmnClientList_item */
294 static int hf_gsm_map_molr_List = -1; /* T_molr_List */
295 static int hf_gsm_map_molr_List_item = -1; /* T_molr_List_item */
296 static int hf_gsm_map_ss_List = -1; /* ss_List */
297 static int hf_gsm_map_ss_List_item = -1; /* OCTET_STRING_SIZE_1 */
298 static int hf_gsm_map_odb_GeneralData = -1; /* Odb_GeneralData */
299 static int hf_gsm_map_regionalSubscriptionResponse = -1; /* RegionalSubscriptionResponse */
300 static int hf_gsm_map_ss_EventList = -1; /* T_ss_EventList */
301 static int hf_gsm_map_ss_EventList_item = -1; /* OCTET_STRING_SIZE_1 */
302 static int hf_gsm_map_gsmSCF_Address = -1; /* GsmSCF_Address */
303 static int hf_gsm_map_callBarringFeatureList = -1; /* CallBarringFeatureList */
304 static int hf_gsm_map_CallBarringFeatureList_item = -1; /* CallBarringFeatureList_item */
305 static int hf_gsm_map_forwardedToNumber = -1; /* ForwardedToNumber */
306 static int hf_gsm_map_forwardedToSubaddress = -1; /* ForwardedToSubaddress */
307 static int hf_gsm_map_forwardingOptions = -1; /* ForwardingOptions */
308 static int hf_gsm_map_noReplyConditionTime = -1; /* INTEGER */
309 static int hf_gsm_map_longForwardedToNumber = -1; /* LongForwardedToNumber */
310 static int hf_gsm_map_matchType = -1; /* MatchType */
311 static int hf_gsm_map_destinationNumberList = -1; /* T_destinationNumberList */
312 static int hf_gsm_map_destinationNumberList_item = -1; /* T_destinationNumberList_item */
313 static int hf_gsm_map_destinationNumberLengthList = -1; /* T_destinationNumberLengthList */
314 static int hf_gsm_map_destinationNumberLengthList_item = -1; /* INTEGER_1_15 */
315 static int hf_gsm_map_forwardingFeatureList_1_32 = -1; /* SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList */
316 static int hf_gsm_map_forwardingFeatureList_item = -1; /* ForwardingFeatureList */
317 static int hf_gsm_map_naea_PreferredCIC = -1; /* OCTET_STRING_SIZE_3 */
318 static int hf_gsm_map_O_BcsmCamelTDP_CriteriaList_item = -1; /* O_BcsmCamelTDP_CriteriaList_item */
319 static int hf_gsm_map_o_BcsmTriggerDetectionPoint = -1; /* BcsmTriggerDetectionPoint */
320 static int hf_gsm_map_destinationNumberCriteria = -1; /* DestinationNumberCriteria */
321 static int hf_gsm_map_basicServiceCriteria = -1; /* BasicServiceGroupList */
322 static int hf_gsm_map_callTypeCriteria = -1; /* CallTypeCriteria */
323 static int hf_gsm_map_cliRestrictionOption = -1; /* CliRestrictionOption */
324 static int hf_gsm_map_overrideCategory = -1; /* OverrideCategory */
325 static int hf_gsm_map_basicServiceList = -1; /* BasicServiceGroupList */
326 static int hf_gsm_map_regionalSubscriptionIdentifier = -1; /* OCTET_STRING_SIZE_2 */
327 static int hf_gsm_map_vbsGroupIndication = -1; /* NULL */
328 static int hf_gsm_map_vgcsGroupIndication = -1; /* NULL */
329 static int hf_gsm_map_camelSubscriptionInfoWithdraw = -1; /* NULL */
330 static int hf_gsm_map_gprsSubscriptionDataWithdraw = -1; /* T_gprsSubscriptionDataWithdraw */
331 static int hf_gsm_map_allGPRSData = -1; /* NULL */
332 static int hf_gsm_map_contextIdList = -1; /* T_contextIdList */
333 static int hf_gsm_map_contextIdList_item = -1; /* INTEGER_1_50 */
334 static int hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1; /* NULL */
335 static int hf_gsm_map_lsaInformationWithdraw = -1; /* T_lsaInformationWithdraw */
336 static int hf_gsm_map_allLSAData = -1; /* NULL */
337 static int hf_gsm_map_lsaIdentityList = -1; /* T_lsaIdentityList */
338 static int hf_gsm_map_lsaIdentityList_item = -1; /* OCTET_STRING_SIZE_3 */
339 static int hf_gsm_map_gmlc_ListWithdraw = -1; /* NULL */
340 static int hf_gsm_map_hlr_List = -1; /* T_hlr_List */
341 static int hf_gsm_map_hlr_List_item = -1; /* OCTET_STRING_SIZE_3_8 */
342 static int hf_gsm_map_msNotReachable = -1; /* NULL */
343 static int hf_gsm_map_traceReference = -1; /* OCTET_STRING_SIZE_1_2 */
344 static int hf_gsm_map_traceType = -1; /* INTEGER_0_255 */
345 static int hf_gsm_map_omc_Id = -1; /* OCTET_STRING_SIZE_1_20 */
346 static int hf_gsm_map_cug_CheckInfo = -1; /* Cug_CheckInfo */
347 static int hf_gsm_map_numberOfForwarding = -1; /* INTEGER_1_5 */
348 static int hf_gsm_map_interrogationType = -1; /* T_interrogationType */
349 static int hf_gsm_map_or_Interrogation = -1; /* NULL */
350 static int hf_gsm_map_or_Capability = -1; /* INTEGER_1_127 */
351 static int hf_gsm_map_gmsc_Address = -1; /* Gmsc_Address */
352 static int hf_gsm_map_callReferenceNumber = -1; /* OCTET_STRING_SIZE_1_8 */
353 static int hf_gsm_map_forwardingReason = -1; /* T_forwardingReason */
354 static int hf_gsm_map_basicServiceGroup = -1; /* BasicService */
355 static int hf_gsm_map_networkSignalInfo = -1; /* Bss_APDU */
356 static int hf_gsm_map_camelInfo = -1; /* T_camelInfo */
357 static int hf_gsm_map_suppress_T_CSI = -1; /* NULL */
358 static int hf_gsm_map_suppressionOfAnnouncement = -1; /* NULL */
359 static int hf_gsm_map_alertingPattern = -1; /* OCTET_STRING_SIZE_1 */
360 static int hf_gsm_map_ccbs_Call = -1; /* NULL */
361 static int hf_gsm_map_supportedCCBS_Phase = -1; /* INTEGER_1_127 */
362 static int hf_gsm_map_additionalSignalInfo = -1; /* AdditionalSignalInfo */
363 static int hf_gsm_map_extendedRoutingInfo = -1; /* T_extendedRoutingInfo */
364 static int hf_gsm_map_routingInfo = -1; /* T_routingInfo */
365 static int hf_gsm_map_roamingNumber = -1; /* RoamingNumber */
366 static int hf_gsm_map_forwardingData = -1; /* ForwardingData */
367 static int hf_gsm_map_camelRoutingInfo = -1; /* T_camelRoutingInfo */
368 static int hf_gsm_map_gmscCamelSubscriptionInfo = -1; /* T_gmscCamelSubscriptionInfo */
369 static int hf_gsm_map_t_CSI = -1; /* T_t_CSI */
370 static int hf_gsm_map_t_BcsmCamelTDPDataList = -1; /* BcsmCamelTDPDataList */
371 static int hf_gsm_map_cugSubscriptionFlag = -1; /* NULL */
372 static int hf_gsm_map_subscriberInfo = -1; /* SubscriberInfo */
373 static int hf_gsm_map_forwardingInterrogationRequired = -1; /* NULL */
374 static int hf_gsm_map_vmsc_Address = -1; /* T_vmsc_Address */
375 static int hf_gsm_map_ccbs_Indicators = -1; /* T_ccbs_Indicators */
376 static int hf_gsm_map_ccbs_Possible = -1; /* NULL */
377 static int hf_gsm_map_keepCCBS_CallIndicator = -1; /* NULL */
378 static int hf_gsm_map_numberPortabilityStatus = -1; /* NumberPortabilityStatus */
379 static int hf_gsm_map_assumedIdle = -1; /* NULL */
380 static int hf_gsm_map_camelBusy = -1; /* NULL */
381 static int hf_gsm_map_notProvidedFromVLR = -1; /* NULL */
382 static int hf_gsm_map_ageOfLocationInformation = -1; /* INTEGER_0_32767 */
383 static int hf_gsm_map_geographicalInformation = -1; /* OCTET_STRING_SIZE_8 */
384 static int hf_gsm_map_vlr_number = -1; /* Vlr_Number */
385 static int hf_gsm_map_locationNumber = -1; /* OCTET_STRING_SIZE_2_10 */
386 static int hf_gsm_map_cellIdOrLAI = -1; /* T_cellIdOrLAI */
387 static int hf_gsm_map_cellIdFixedLength = -1; /* OCTET_STRING_SIZE_7 */
388 static int hf_gsm_map_laiFixedLength = -1; /* OCTET_STRING_SIZE_5 */
389 static int hf_gsm_map_selectedLSA_Id = -1; /* OCTET_STRING_SIZE_3 */
390 static int hf_gsm_map_geodeticInformation = -1; /* OCTET_STRING_SIZE_10 */
391 static int hf_gsm_map_currentLocationRetrieved = -1; /* NULL */
392 static int hf_gsm_map_sai_Present = -1; /* NULL */
393 static int hf_gsm_map_locationInformation = -1; /* LocationInformation */
394 static int hf_gsm_map_subscriberState = -1; /* SubscriberState */
395 static int hf_gsm_map_locationInformationGPRS = -1; /* T_locationInformationGPRS */
396 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* T_cellGlobalIdOrServiceAreaIdOrLAI */
397 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1; /* OCTET_STRING_SIZE_7 */
398 static int hf_gsm_map_routeingAreaIdentity = -1; /* OCTET_STRING_SIZE_6 */
399 static int hf_gsm_map_selectedLSAIdentity = -1; /* OCTET_STRING_SIZE_3 */
400 static int hf_gsm_map_ps_SubscriberState = -1; /* T_ps_SubscriberState */
401 static int hf_gsm_map_notProvidedFromSGSN = -1; /* NULL */
402 static int hf_gsm_map_ps_Detached = -1; /* NULL */
403 static int hf_gsm_map_ps_AttachedNotReachableForPaging = -1; /* NULL */
404 static int hf_gsm_map_ps_AttachedReachableForPaging = -1; /* NULL */
405 static int hf_gsm_map_ps_PDP_ActiveNotReachableForPaging = -1; /* T_ps_PDP_ActiveNotReachableForPaging */
406 static int hf_gsm_map_ps_PDP_ActiveNotReachableForPaging_item = -1; /* T_ps_PDP_ActiveNotReachableForPaging_item */
407 static int hf_gsm_map_pdp_ContextIdentifier = -1; /* INTEGER_1_50 */
408 static int hf_gsm_map_pdp_ContextActive = -1; /* NULL */
409 static int hf_gsm_map_apn_Subscribed = -1; /* OCTET_STRING_SIZE_2_63 */
410 static int hf_gsm_map_apn_InUse = -1; /* OCTET_STRING_SIZE_2_63 */
411 static int hf_gsm_map_nsapi = -1; /* INTEGER_0_15 */
412 static int hf_gsm_map_transactionId = -1; /* OCTET_STRING_SIZE_1_2 */
413 static int hf_gsm_map_teid_ForGnAndGp = -1; /* OCTET_STRING_SIZE_4 */
414 static int hf_gsm_map_teid_ForIu = -1; /* OCTET_STRING_SIZE_4 */
415 static int hf_gsm_map_ggsn_Address = -1; /* Ggsn_Address */
416 static int hf_gsm_map_qos_Requested = -1; /* OCTET_STRING_SIZE_1_9 */
417 static int hf_gsm_map_qos_Negotiated = -1; /* OCTET_STRING_SIZE_1_9 */
418 static int hf_gsm_map_chargingId = -1; /* OCTET_STRING_SIZE_4 */
419 static int hf_gsm_map_chargingCharacteristics = -1; /* OCTET_STRING_SIZE_2 */
420 static int hf_gsm_map_rnc_Address = -1; /* OCTET_STRING_SIZE_5_17 */
421 static int hf_gsm_map_qos2_Subscribed = -1; /* OCTET_STRING_SIZE_1_3 */
422 static int hf_gsm_map_qos2_Requested = -1; /* OCTET_STRING_SIZE_1_3 */
423 static int hf_gsm_map_qos2_Negotiated = -1; /* OCTET_STRING_SIZE_1_3 */
424 static int hf_gsm_map_ps_PDP_ActiveReachableForPaging = -1; /* T_ps_PDP_ActiveReachableForPaging */
425 static int hf_gsm_map_ps_PDP_ActiveReachableForPaging_item = -1; /* T_ps_PDP_ActiveReachableForPaging_item */
426 static int hf_gsm_map_netDetNotReachable = -1; /* T_netDetNotReachable */
427 static int hf_gsm_map_imei = -1; /* Imei */
428 static int hf_gsm_map_ms_Classmark2 = -1; /* OCTET_STRING_SIZE_3 */
429 static int hf_gsm_map_gprs_MS_Class = -1; /* T_gprs_MS_Class */
430 static int hf_gsm_map_mSNetworkCapability = -1; /* OCTET_STRING_SIZE_1_8 */
431 static int hf_gsm_map_mSRadioAccessCapability = -1; /* OCTET_STRING_SIZE_1_50 */
432 static int hf_gsm_map_mnpInfoRes = -1; /* T_mnpInfoRes */
433 static int hf_gsm_map_routeingNumber = -1; /* OCTET_STRING_SIZE_1_5 */
434 static int hf_gsm_map_ext_ProtocolId = -1; /* T_ext_ProtocolId */
435 static int hf_gsm_map_ext_signalInfo = -1; /* ExtSignalInfo */
436 static int hf_gsm_map_cug_OutgoingAccess = -1; /* NULL */
437 static int hf_gsm_map_gsm_BearerCapability = -1; /* Bss_APDU */
438 static int hf_gsm_map_supportedCamelPhasesInGMSC = -1; /* SupportedCamelPhases */
439 static int hf_gsm_map_orNotSupportedInGMSC = -1; /* NULL */
440 static int hf_gsm_map_uu_Data = -1; /* T_uu_Data */
441 static int hf_gsm_map_uuIndicator = -1; /* OCTET_STRING_SIZE_1 */
442 static int hf_gsm_map_uui = -1; /* OCTET_STRING_SIZE_1_131 */
443 static int hf_gsm_map_uusCFInteraction = -1; /* NULL */
444 static int hf_gsm_map_allInformationSent = -1; /* NULL */
445 static int hf_gsm_map_isdn_BearerCapability = -1; /* Bss_APDU */
446 static int hf_gsm_map_call_Direction = -1; /* OCTET_STRING_SIZE_1 */
447 static int hf_gsm_map_b_Subscriber_Address = -1; /* T_b_Subscriber_Address */
448 static int hf_gsm_map_chosenChannel = -1; /* Bss_APDU */
449 static int hf_gsm_map_lowerLayerCompatibility = -1; /* Bss_APDU */
450 static int hf_gsm_map_highLayerCompatibility = -1; /* Bss_APDU */
451 static int hf_gsm_map_sIWFSNumber = -1; /* T_sIWFSNumber */
452 static int hf_gsm_map_channelType = -1; /* Bss_APDU */
453 static int hf_gsm_map_ccbs_Monitoring = -1; /* Ccbs_Monitoring */
454 static int hf_gsm_map_ccbs_SubscriberStatus = -1; /* Ccbs_SubscriberStatus */
455 static int hf_gsm_map_eventReportData = -1; /* T_eventReportData */
456 static int hf_gsm_map_callReportdata = -1; /* T_callReportdata */
457 static int hf_gsm_map_monitoringMode = -1; /* MonitoringMode */
458 static int hf_gsm_map_callOutcome = -1; /* CallOutcome */
459 static int hf_gsm_map_callInfo = -1; /* Bss_APDU */
460 static int hf_gsm_map_ccbs_Feature = -1; /* Ccbs_Feature */
461 static int hf_gsm_map_translatedB_Number = -1; /* TranslatedB_Number */
462 static int hf_gsm_map_replaceB_Number = -1; /* NULL */
463 static int hf_gsm_map_ruf_Outcome = -1; /* Ruf_Outcome */
464 static int hf_gsm_map_ss_SubscriptionOption = -1; /* Ss_SubscriptionOption */
465 static int hf_gsm_map_ccbs_Index = -1; /* INTEGER_1_5 */
466 static int hf_gsm_map_b_subscriberNumber = -1; /* B_subscriberNumber */
467 static int hf_gsm_map_b_subscriberSubaddress = -1; /* OCTET_STRING_SIZE_1_21 */
468 static int hf_gsm_map_forwardingFeatureList = -1; /* SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList */
469 static int hf_gsm_map_genericServiceInfo = -1; /* T_genericServiceInfo */
470 static int hf_gsm_map_maximumEntitledPriority = -1; /* INTEGER_0_15 */
471 static int hf_gsm_map_ccbs_FeatureList = -1; /* T_ccbs_FeatureList */
472 static int hf_gsm_map_ccbs_FeatureList_item = -1; /* T_ccbs_FeatureList_item */
473 static int hf_gsm_map_ussd_DataCodingScheme = -1; /* OCTET_STRING_SIZE_1 */
474 static int hf_gsm_map_ussd_String = -1; /* OCTET_STRING_SIZE_1_160 */
475 static int hf_gsm_map_ccbs_Data = -1; /* T_ccbs_Data */
476 static int hf_gsm_map_serviceIndicator = -1; /* ServiceIndicator */
477 static int hf_gsm_map_sm_RP_PRI = -1; /* BOOLEAN */
478 static int hf_gsm_map_serviceCentreAddress = -1; /* ServiceCentreAddress */
479 static int hf_gsm_map_gprsSupportIndicator = -1; /* NULL */
480 static int hf_gsm_map_sm_RP_MTI = -1; /* INTEGER_0_10 */
481 static int hf_gsm_map_sm_RP_SMEA = -1; /* OCTET_STRING_SIZE_1_12 */
482 static int hf_gsm_map_locationInfoWithLMSI = -1; /* T_locationInfoWithLMSI */
483 static int hf_gsm_map_networkNode_Number = -1; /* T_networkNode_Number */
484 static int hf_gsm_map_gprsNodeIndicator = -1; /* NULL */
485 static int hf_gsm_map_additional_Number = -1; /* T_additional_Number */
486 static int hf_gsm_map_sm_RP_DA = -1; /* Sm_RP_DA */
487 static int hf_gsm_map_sm_RP_OA = -1; /* Sm_RP_OA */
488 static int hf_gsm_map_sm_RP_UI = -1; /* Sm_RP_UI */
489 static int hf_gsm_map_serviceCentreAddressOA = -1; /* ServiceCentreAddress */
490 static int hf_gsm_map_noSM_RP_OA = -1; /* NULL */
491 static int hf_gsm_map_serviceCentreAddressDA = -1; /* ServiceCentreAddress */
492 static int hf_gsm_map_noSM_RP_DA = -1; /* NULL */
493 static int hf_gsm_map_moreMessagesToSend = -1; /* NULL */
494 static int hf_gsm_map_sm_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
495 static int hf_gsm_map_absentSubscriberDiagnosticSM = -1; /* INTEGER_0_255 */
496 static int hf_gsm_map_deliveryOutcomeIndicator = -1; /* NULL */
497 static int hf_gsm_map_additionalSM_DeliveryOutcome = -1; /* Sm_DeliveryOutcome */
498 static int hf_gsm_map_additionalAbsentSubscriberDiagnosticSM = -1; /* INTEGER_0_255 */
499 static int hf_gsm_map_storedMSISDN = -1; /* StoredMSISDN */
500 static int hf_gsm_map_mw_Status = -1; /* T_mw_Status */
501 static int hf_gsm_map_alertReason = -1; /* T_alertReason */
502 static int hf_gsm_map_alertReasonIndicator = -1; /* NULL */
503 static int hf_gsm_map_requestedInfo = -1; /* RequestedInfo */
504 static int hf_gsm_map_locationInformationFlag = -1; /* NULL */
505 static int hf_gsm_map_subscriberStateFlag = -1; /* NULL */
506 static int hf_gsm_map_currentLocation = -1; /* NULL */
507 static int hf_gsm_map_requestedDomain = -1; /* T_requestedDomain */
508 static int hf_gsm_map_imei1 = -1; /* NULL */
509 static int hf_gsm_map_ms_classmark = -1; /* NULL */
510 static int hf_gsm_map_mnpRequestedInfo = -1; /* NULL */
511 static int hf_gsm_map_subscriberIdentity = -1; /* SubscriberIdentity */
512 static int hf_gsm_map_requestedSubscriptionInfo = -1; /* T_requestedSubscriptionInfo */
513 static int hf_gsm_map_requestedSS_Info = -1; /* T_requestedSS_Info */
514 static int hf_gsm_map_odb = -1; /* NULL */
515 static int hf_gsm_map_requestedCAMEL_SubscriptionInfo = -1; /* T_requestedCAMEL_SubscriptionInfo */
516 static int hf_gsm_map_supportedVLR_CAMEL_Phases_flg = -1; /* NULL */
517 static int hf_gsm_map_supportedSGSN_CAMEL_Phases_flg = -1; /* NULL */
518 static int hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo = -1; /* AdditionalRequestedCAMEL_SubscriptionInfo */
519 static int hf_gsm_map_callForwardingData = -1; /* T_callForwardingData */
520 static int hf_gsm_map_forwardingFeatureList1 = -1; /* ForwardingFeatureList */
521 static int hf_gsm_map_notificationToCSE = -1; /* NULL */
522 static int hf_gsm_map_callBarringData = -1; /* T_callBarringData */
523 static int hf_gsm_map_password = -1; /* NumericString */
524 static int hf_gsm_map_wrongPasswordAttemptsCounter = -1; /* INTEGER_0_4 */
525 static int hf_gsm_map_odb_Info = -1; /* T_odb_Info */
526 static int hf_gsm_map_camel_SubscriptionInfo = -1; /* T_camel_SubscriptionInfo */
527 static int hf_gsm_map_o_BcsmCamelTDP_CriteriaList1 = -1; /* T_o_BcsmCamelTDP_CriteriaList */
528 static int hf_gsm_map_o_BcsmCamelTDP_CriteriaList_item = -1; /* T_o_BcsmCamelTDP_CriteriaList_item */
529 static int hf_gsm_map_o_BcsmTriggerDetectionPoint1 = -1; /* T_o_BcsmTriggerDetectionPoint */
530 static int hf_gsm_map_basicServiceCriteria1 = -1; /* BasicServiceCriteria */
531 static int hf_gsm_map_o_CauseValueCriteria = -1; /* O_CauseValueCriteria */
532 static int hf_gsm_map_d_CSI = -1; /* T_d_CSI */
533 static int hf_gsm_map_dp_AnalysedInfoCriteriaList = -1; /* Dp_AnalysedInfoCriteriaList */
534 static int hf_gsm_map_csi_Active = -1; /* NULL */
535 static int hf_gsm_map_t_CSI1 = -1; /* T_t_CSI1 */
536 static int hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_t_BCSM_CAMEL_TDP_CriteriaList */
537 static int hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_t_BCSM_CAMEL_TDP_CriteriaList_item */
538 static int hf_gsm_map_t_BCSM_TriggerDetectionPoint = -1; /* T_t_BCSM_TriggerDetectionPoint */
539 static int hf_gsm_map_t_CauseValueCriteria = -1; /* T_CauseValueCriteria */
540 static int hf_gsm_map_vt_CSI = -1; /* T_vt_CSI */
541 static int hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_vt_BCSM_CAMEL_TDP_CriteriaList */
542 static int hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_vt_BCSM_CAMEL_TDP_CriteriaList_item */
543 static int hf_gsm_map_t_BCSM_TriggerDetectionPoint1 = -1; /* T_t_BCSM_TriggerDetectionPoint1 */
544 static int hf_gsm_map_tif_CSI_NotificationToCSE = -1; /* NULL */
545 static int hf_gsm_map_gprs_CSI = -1; /* T_gprs_CSI */
546 static int hf_gsm_map_gprs_CamelTDPDataList = -1; /* T_gprs_CamelTDPDataList */
547 static int hf_gsm_map_gprs_CamelTDPDataList_item = -1; /* T_gprs_CamelTDPDataList_item */
548 static int hf_gsm_map_gprs_TriggerDetectionPoint = -1; /* T_gprs_TriggerDetectionPoint */
549 static int hf_gsm_map_defaultSessionHandling = -1; /* T_defaultSessionHandling */
550 static int hf_gsm_map_mo_sms_CSI = -1; /* T_mo_sms_CSI */
551 static int hf_gsm_map_sms_CAMEL_TDP_DataList = -1; /* Sms_CAMEL_TDP_DataList */
552 static int hf_gsm_map_ss_CSI1 = -1; /* T_ss_CSI1 */
553 static int hf_gsm_map_m_CSI = -1; /* T_m_CSI */
554 static int hf_gsm_map_mobilityTriggers = -1; /* MobilityTriggers */
555 static int hf_gsm_map_specificCSIDeletedList = -1; /* T_specificCSIDeletedList */
556 static int hf_gsm_map_mt_sms_CSI = -1; /* T_mt_sms_CSI */
557 static int hf_gsm_map_mt_smsCAMELTDP_CriteriaList = -1; /* T_mt_smsCAMELTDP_CriteriaList */
558 static int hf_gsm_map_mt_smsCAMELTDP_CriteriaList_item = -1; /* T_mt_smsCAMELTDP_CriteriaList_item */
559 static int hf_gsm_map_sms_TriggerDetectionPoint = -1; /* T_sms_TriggerDetectionPoint */
560 static int hf_gsm_map_tpdu_TypeCriterion = -1; /* T_tpdu_TypeCriterion */
561 static int hf_gsm_map_tpdu_TypeCriterion_item = -1; /* T_tpdu_TypeCriterion_item */
562 static int hf_gsm_map_mg_csi = -1; /* T_mg_csi */
563 static int hf_gsm_map_o_IM_CSI = -1; /* T_o_IM_CSI */
564 static int hf_gsm_map_csiActive = -1; /* NULL */
565 static int hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList = -1; /* T_o_IM_BcsmCamelTDP_CriteriaList */
566 static int hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList_item = -1; /* T_o_IM_BcsmCamelTDP_CriteriaList_item */
567 static int hf_gsm_map_o_BcsmTriggerDetectionPoint2 = -1; /* T_o_BcsmTriggerDetectionPoint1 */
568 static int hf_gsm_map_d_IM_CSI = -1; /* T_d_IM_CSI */
569 static int hf_gsm_map_vt_IM_CSI = -1; /* T_vt_IM_CSI */
570 static int hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_vt_IM_BCSM_CAMEL_TDP_CriteriaList */
571 static int hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item */
572 static int hf_gsm_map_t_BCSM_TriggerDetectionPoint2 = -1; /* T_t_BCSM_TriggerDetectionPoint2 */
573 static int hf_gsm_map_supportedVLR_CAMEL_Phases = -1; /* T_supportedVLR_CAMEL_Phases */
574 static int hf_gsm_map_supportedSGSN_CAMEL_Phases = -1; /* T_supportedSGSN_CAMEL_Phases */
575 static int hf_gsm_map_offeredCamel4CSIsInVLR = -1; /* T_offeredCamel4CSIsInVLR */
576 static int hf_gsm_map_offeredCamel4CSIsInSGSN = -1; /* T_offeredCamel4CSIsInSGSN */
577 static int hf_gsm_map_Sms_CAMEL_TDP_DataList_item = -1; /* Sms_CAMEL_TDP_DataList_item */
578 static int hf_gsm_map_sms_TriggerDetectionPoint1 = -1; /* T_sms_TriggerDetectionPoint1 */
579 static int hf_gsm_map_defaultSMS_Handling = -1; /* T_defaultSMS_Handling */
580 static int hf_gsm_map_T_CauseValueCriteria_item = -1; /* OCTET_STRING_SIZE_1 */
581 static int hf_gsm_map_O_CauseValueCriteria_item = -1; /* OCTET_STRING_SIZE_1 */
582 static int hf_gsm_map_MobilityTriggers_item = -1; /* OCTET_STRING_SIZE_1 */
583 static int hf_gsm_map_BasicServiceCriteria_item = -1; /* BasicServiceCriteria_item */
584 static int hf_gsm_map_ext_BearerService = -1; /* OCTET_STRING_SIZE_1_5 */
585 static int hf_gsm_map_ext_Teleservice = -1; /* OCTET_STRING_SIZE_1_5 */
586 static int hf_gsm_map_Dp_AnalysedInfoCriteriaList_item = -1; /* Dp_AnalysedInfoCriteriaList_item */
587 static int hf_gsm_map_dialledNumber = -1; /* T_dialledNumber */
588 static int hf_gsm_map_modificationRequestFor_CF_Info = -1; /* T_modificationRequestFor_CF_Info */
589 static int hf_gsm_map_basicService1 = -1; /* T_basicService */
590 static int hf_gsm_map_noReplyConditionTime1 = -1; /* INTEGER_1_100 */
591 static int hf_gsm_map_modifyNotificationToCSE = -1; /* ModifyNotificationToCSE */
592 static int hf_gsm_map_modificationRequestFor_CB_Info = -1; /* T_modificationRequestFor_CB_Info */
593 static int hf_gsm_map_basicService2 = -1; /* T_basicService1 */
594 static int hf_gsm_map_modificationRequestFor_CSI = -1; /* T_modificationRequestFor_CSI */
595 static int hf_gsm_map_requestedCamel_SubscriptionInfo = -1; /* T_requestedCamel_SubscriptionInfo */
596 static int hf_gsm_map_modifyCSI_State = -1; /* T_modifyCSI_State */
597 static int hf_gsm_map_modificationRequestFor_ODB_data = -1; /* T_modificationRequestFor_ODB_data */
598 static int hf_gsm_map_odb_data = -1; /* Odb_data */
599 static int hf_gsm_map_odb_HPLMN_Data = -1; /* Odb_HPLMN_Data */
600 static int hf_gsm_map_ss_Event = -1; /* OCTET_STRING_SIZE_1 */
601 static int hf_gsm_map_ss_EventSpecification = -1; /* T_ss_EventSpecification */
602 static int hf_gsm_map_ss_EventSpecification_item = -1; /* OCTET_STRING_SIZE_1_20 */
603 static int hf_gsm_map_codec_Info = -1; /* OCTET_STRING_SIZE_5_10 */
604 static int hf_gsm_map_cipheringAlgorithm = -1; /* OCTET_STRING_SIZE_1 */
605 static int hf_gsm_map_groupKeyNumber = -1; /* INTEGER_0_15 */
606 static int hf_gsm_map_groupKey = -1; /* OCTET_STRING_SIZE_8 */
607 static int hf_gsm_map_priority = -1; /* INTEGER_0_15 */
608 static int hf_gsm_map_uplinkFree = -1; /* NULL */
609 static int hf_gsm_map_groupCallNumber = -1; /* T_groupCallNumber */
610 static int hf_gsm_map_uplinkRequest = -1; /* NULL */
611 static int hf_gsm_map_uplinkReleaseIndication = -1; /* NULL */
612 static int hf_gsm_map_releaseGroupCall = -1; /* NULL */
613 static int hf_gsm_map_uplinkRequestAck = -1; /* NULL */
614 static int hf_gsm_map_uplinkRejectCommand = -1; /* NULL */
615 static int hf_gsm_map_uplinkSeizedCommand = -1; /* NULL */
616 static int hf_gsm_map_uplinkReleaseCommand = -1; /* NULL */
617 static int hf_gsm_map_sgsn_Address = -1; /* OCTET_STRING_SIZE_5_17 */
618 static int hf_gsm_map_sgsn_Capability = -1; /* T_sgsn_Capability */
619 static int hf_gsm_map_ggsn_Number = -1; /* Ggsn_Number */
620 static int hf_gsm_map_mobileNotReachableReason = -1; /* INTEGER_0_255 */
621 static int hf_gsm_map_dataCodingScheme = -1; /* OCTET_STRING */
622 static int hf_gsm_map_nameString = -1; /* OCTET_STRING */
623 static int hf_gsm_map_lcsClientType = -1; /* LcsClientType */
624 static int hf_gsm_map_lcsClientExternalID = -1; /* LcsClientExternalID */
625 static int hf_gsm_map_lcsClientDialedByMS = -1; /* OCTET_STRING */
626 static int hf_gsm_map_lcsClientInternalID = -1; /* LcsClientInternalID */
627 static int hf_gsm_map_lcsClientName = -1; /* LcsClientName */
628 static int hf_gsm_map_locationType = -1; /* T_locationType */
629 static int hf_gsm_map_locationEstimateType = -1; /* T_locationEstimateType */
630 static int hf_gsm_map_mlc_Number = -1; /* T_mlc_Number */
631 static int hf_gsm_map_lcs_ClientID = -1; /* Lcs_ClientID */
632 static int hf_gsm_map_privacyOverride = -1; /* NULL */
633 static int hf_gsm_map_lcs_Priority = -1; /* OCTET_STRING_SIZE_1 */
634 static int hf_gsm_map_lcs_QoS = -1; /* T_lcs_QoS */
635 static int hf_gsm_map_horizontal_accuracy = -1; /* OCTET_STRING_SIZE_1 */
636 static int hf_gsm_map_verticalCoordinateRequest = -1; /* NULL */
637 static int hf_gsm_map_vertical_accuracy = -1; /* OCTET_STRING_SIZE_1 */
638 static int hf_gsm_map_responseTime = -1; /* T_responseTime */
639 static int hf_gsm_map_responseTimeCategory = -1; /* T_responseTimeCategory */
640 static int hf_gsm_map_locationEstimate = -1; /* OCTET_STRING_SIZE_1_20 */
641 static int hf_gsm_map_ageOfLocationEstimate = -1; /* INTEGER_0_32767 */
642 static int hf_gsm_map_mlcNumber = -1; /* T_mlcNumber */
643 static int hf_gsm_map_targetMS = -1; /* TargetMS */
644 static int hf_gsm_map_lcsLocationInfo = -1; /* LcsLocationInfo */
645 static int hf_gsm_map_lcs_Event = -1; /* Lcs_Event */
646 static int hf_gsm_map_na_ESRD = -1; /* T_na_ESRD */
647 static int hf_gsm_map_na_ESRK = -1; /* T_na_ESRK */
648 static int hf_gsm_map_networkResource = -1; /* NetworkResource */
649 static int hf_gsm_map_extensibleSystemFailureParam = -1; /* T_extensibleSystemFailureParam */
650 static int hf_gsm_map_unknownSubscriberDiagnostic = -1; /* T_unknownSubscriberDiagnostic */
651 static int hf_gsm_map_roamingNotAllowedCause = -1; /* T_roamingNotAllowedCause */
652 static int hf_gsm_map_absentSubscriberReason = -1; /* T_absentSubscriberReason */
653 static int hf_gsm_map_ccbs_Busy = -1; /* NULL */
654 static int hf_gsm_map_callBarringCause = -1; /* CallBarringCause */
655 static int hf_gsm_map_extensibleCallBarredParam = -1; /* T_extensibleCallBarredParam */
656 static int hf_gsm_map_unauthorisedMessageOriginator = -1; /* NULL */
657 static int hf_gsm_map_cug_RejectCause = -1; /* T_cug_RejectCause */
658 static int hf_gsm_map_gprsConnectionSuspended = -1; /* NULL */
659 static int hf_gsm_map_sm_EnumeratedDeliveryFailureCause = -1; /* T_sm_EnumeratedDeliveryFailureCause */
660 static int hf_gsm_map_diagnosticInfo = -1; /* OCTET_STRING_SIZE_1_200 */
661 static int hf_gsm_map_unauthorizedLCSClient_Diagnostic = -1; /* T_unauthorizedLCSClient_Diagnostic */
662 static int hf_gsm_map_positionMethodFailure_Diagnostic = -1; /* T_positionMethodFailure_Diagnostic */
663 static int hf_gsm_map_privateExtensionList = -1; /* PrivateExtensionList */
664 static int hf_gsm_map_pcsExtensions = -1; /* PcsExtensions */
666 static int hf_gsm_map_SupportedCamelPhases_phase1 = -1;
667 static int hf_gsm_map_SupportedCamelPhases_phase2 = -1;
668 static int hf_gsm_map_SupportedCamelPhases_phase3 = -1;
669 static int hf_gsm_map_SupportedCamelPhases_phase4 = -1;
670 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
671 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
672 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
673 static int hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
674 static int hf_gsm_map_T_offeredCamel4CSIs_ocsi = -1;
675 static int hf_gsm_map_T_offeredCamel4CSIs_dcsi = -1;
676 static int hf_gsm_map_T_offeredCamel4CSIs_vtcsi = -1;
677 static int hf_gsm_map_T_offeredCamel4CSIs_tcsi = -1;
678 static int hf_gsm_map_T_offeredCamel4CSIs_mtsmscsi = -1;
679 static int hf_gsm_map_T_offeredCamel4CSIs_mgcsi = -1;
680 static int hf_gsm_map_T_offeredCamel4CSIs_psienhancements = -1;
681 static int hf_gsm_map_Odb_GeneralData_allOGCallsBarred = -1;
682 static int hf_gsm_map_Odb_GeneralData_internationalOGCallsBarred = -1;
683 static int hf_gsm_map_Odb_GeneralData_internationalOGCallsNotToHPLMNCountryBarred = -1;
684 static int hf_gsm_map_Odb_GeneralData_premiumRateInformationOGCallsBarred = -1;
685 static int hf_gsm_map_Odb_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
686 static int hf_gsm_map_Odb_GeneralData_ssAccessBarred = -1;
687 static int hf_gsm_map_Odb_GeneralData_interzonalOGCallsBarred = -1;
688 static int hf_gsm_map_Odb_GeneralData_interzonalOGCallsNotToHPLMNCountryBarred = -1;
689 static int hf_gsm_map_Odb_GeneralData_interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred = -1;
690 static int hf_gsm_map_Odb_GeneralData_allECTBarred = -1;
691 static int hf_gsm_map_Odb_GeneralData_chargeableECTBarred = -1;
692 static int hf_gsm_map_Odb_GeneralData_internationalECTBarred = -1;
693 static int hf_gsm_map_Odb_GeneralData_interzonalECTBarred = -1;
694 static int hf_gsm_map_Odb_GeneralData_doublyChargeableECTBarred = -1;
695 static int hf_gsm_map_Odb_GeneralData_multipleECTBarred = -1;
696 static int hf_gsm_map_Odb_GeneralData_allPacketOrientedServicesBarred = -1;
697 static int hf_gsm_map_Odb_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
698 static int hf_gsm_map_Odb_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
699 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
700 static int hf_gsm_map_Odb_GeneralData_allIC_CallsBarred = -1;
701 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
702 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
703 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_Barred = -1;
704 static int hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
705 static int hf_gsm_map_Odb_GeneralData_registrationAllCF_Barred = -1;
706 static int hf_gsm_map_Odb_GeneralData_registrationCFNotToHPLMN_Barred = -1;
707 static int hf_gsm_map_Odb_GeneralData_registrationInterzonalCF_Barred = -1;
708 static int hf_gsm_map_Odb_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
709 static int hf_gsm_map_Odb_GeneralData_registrationInternationalCF_Barred = -1;
710 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType1 = -1;
711 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType2 = -1;
712 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType3 = -1;
713 static int hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType4 = -1;
714 static int hf_gsm_map_ServiceIndicator_clirInvoked = -1;
715 static int hf_gsm_map_ServiceIndicator_camelInvoked = -1;
716 static int hf_gsm_map_T_mw_Status_scAddressNotIncluded = -1;
717 static int hf_gsm_map_T_mw_Status_mnrfSet = -1;
718 static int hf_gsm_map_T_mw_Status_mcefSet = -1;
719 static int hf_gsm_map_T_mw_Status_mnrgSet = -1;
720 static int hf_gsm_map_T_specificCSIDeletedList_o_csi = -1;
721 static int hf_gsm_map_T_specificCSIDeletedList_ss_csi = -1;
722 static int hf_gsm_map_T_specificCSIDeletedList_tif_csi = -1;
723 static int hf_gsm_map_T_specificCSIDeletedList_d_csi = -1;
724 static int hf_gsm_map_T_specificCSIDeletedList_vt_csi = -1;
725 static int hf_gsm_map_T_specificCSIDeletedList_mo_sms_csi = -1;
726 static int hf_gsm_map_T_specificCSIDeletedList_m_csi = -1;
727 static int hf_gsm_map_T_specificCSIDeletedList_gprs_csi = -1;
728 static int hf_gsm_map_T_specificCSIDeletedList_t_csi = -1;
729 static int hf_gsm_map_T_specificCSIDeletedList_mt_sms_csi = -1;
730 static int hf_gsm_map_T_specificCSIDeletedList_mg_csi = -1;
731 static int hf_gsm_map_T_specificCSIDeletedList_o_IM_CSI = -1;
732 static int hf_gsm_map_T_specificCSIDeletedList_d_IM_CSI = -1;
733 static int hf_gsm_map_T_specificCSIDeletedList_vt_IM_CSI = -1;
734 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase1 = -1;
735 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase2 = -1;
736 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase3 = -1;
737 static int hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase4 = -1;
738 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase1 = -1;
739 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase2 = -1;
740 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase3 = -1;
741 static int hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase4 = -1;
742 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_o_csi = -1;
743 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_d_csi = -1;
744 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_vt_csi = -1;
745 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_t_csi = -1;
746 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_mt_sms_csi = -1;
747 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_mg_csi = -1;
748 static int hf_gsm_map_T_offeredCamel4CSIsInVLR_psi_enhancements = -1;
749 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_o_csi = -1;
750 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_d_csi = -1;
751 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_vt_csi = -1;
752 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_t_csi = -1;
753 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_mt_sms_csi = -1;
754 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_mg_csi = -1;
755 static int hf_gsm_map_T_offeredCamel4CSIsInSGSN_psi_enhancements = -1;
757 /*--- End of included file: packet-gsm_map-hf.c ---*/
760 /* Initialize the subtree pointers */
761 static gint ett_gsm_map = -1;
762 static gint ett_gsm_map_InvokeId = -1;
763 static gint ett_gsm_map_InvokePDU = -1;
764 static gint ett_gsm_map_ReturnResultPDU = -1;
765 static gint ett_gsm_map_ReturnErrorPDU = -1;
766 static gint ett_gsm_map_ReturnResult_result = -1;
767 static gint ett_gsm_map_ReturnError_result = -1;
768 static gint ett_gsm_map_GSMMAPPDU = -1;
771 /*--- Included file: packet-gsm_map-ett.c ---*/
773 static gint ett_gsm_map_Bss_APDU = -1;
774 static gint ett_gsm_map_An_APDU = -1;
775 static gint ett_gsm_map_SupportedCamelPhases = -1;
776 static gint ett_gsm_map_Vlr_Capability = -1;
777 static gint ett_gsm_map_T_superChargerSupportedInServingNetworkEntity = -1;
778 static gint ett_gsm_map_T_supportedLCS_CapabilitySets = -1;
779 static gint ett_gsm_map_T_offeredCamel4CSIs = -1;
780 static gint ett_gsm_map_UpdateLocationArg = -1;
781 static gint ett_gsm_map_T_add_info = -1;
782 static gint ett_gsm_map_UpdateLocationRes = -1;
783 static gint ett_gsm_map_PrivateExtensionList = -1;
784 static gint ett_gsm_map_PrivateExtension = -1;
785 static gint ett_gsm_map_PcsExtensions = -1;
786 static gint ett_gsm_map_CancelLocationArg = -1;
787 static gint ett_gsm_map_T_identity = -1;
788 static gint ett_gsm_map_T_imsi_WithLMSI = -1;
789 static gint ett_gsm_map_CancelLocationRes = -1;
790 static gint ett_gsm_map_PurgeMS_Arg = -1;
791 static gint ett_gsm_map_PurgeMS_Res = -1;
792 static gint ett_gsm_map_SendIdentificationRes = -1;
793 static gint ett_gsm_map_SendId_authenticationSetList = -1;
794 static gint ett_gsm_map_T_authenticationSetList_item = -1;
795 static gint ett_gsm_map_PrepareHO_Arg = -1;
796 static gint ett_gsm_map_PrepareHandoverV3Arg = -1;
797 static gint ett_gsm_map_T_allowedUMTS_Algorithms = -1;
798 static gint ett_gsm_map_T_radioResourceList = -1;
799 static gint ett_gsm_map_T_radioResourceList_item = -1;
800 static gint ett_gsm_map_T_bssmap_ServiceHandoverList = -1;
801 static gint ett_gsm_map_T_bssmap_ServiceHandoverList_item = -1;
802 static gint ett_gsm_map_T_iuSupportedCodecsList = -1;
803 static gint ett_gsm_map_T_utranCodecList = -1;
804 static gint ett_gsm_map_T_geranCodecList = -1;
805 static gint ett_gsm_map_T_uesbi_Iu = -1;
806 static gint ett_gsm_map_PrepareHO_Res = -1;
807 static gint ett_gsm_map_PrepareHandoverV3Res = -1;
808 static gint ett_gsm_map_T_relocationNumberList = -1;
809 static gint ett_gsm_map_T_relocationNumberList_item = -1;
810 static gint ett_gsm_map_T_selectedUMTS_Algorithms = -1;
811 static gint ett_gsm_map_T_chosenRadioResourceInformation = -1;
812 static gint ett_gsm_map_T_iuAvailableCodecsList = -1;
813 static gint ett_gsm_map_SendEndSignalV9Arg = -1;
814 static gint ett_gsm_map_PrepareSubsequentHO_Arg = -1;
815 static gint ett_gsm_map_SendAuthenticationInfoArgV3 = -1;
816 static gint ett_gsm_map_T_re_synchronisationInfo = -1;
817 static gint ett_gsm_map_SendAuthenticationInfoRes = -1;
818 static gint ett_gsm_map_SendAuthenticationInfoRes_item = -1;
819 static gint ett_gsm_map_SendAuthenticationInfoV3Res = -1;
820 static gint ett_gsm_map_T_authenticationSetList = -1;
821 static gint ett_gsm_map_T_tripletList = -1;
822 static gint ett_gsm_map_T_tripletList_item = -1;
823 static gint ett_gsm_map_T_quintupletList = -1;
824 static gint ett_gsm_map_T_quintupletList_item = -1;
825 static gint ett_gsm_map_BasicService = -1;
826 static gint ett_gsm_map_BasicServiceGroupList = -1;
827 static gint ett_gsm_map_Odb_GeneralData = -1;
828 static gint ett_gsm_map_Odb_HPLMN_Data = -1;
829 static gint ett_gsm_map_BcsmCamelTDPData = -1;
830 static gint ett_gsm_map_BcsmCamelTDPDataList = -1;
831 static gint ett_gsm_map_O_CSI = -1;
832 static gint ett_gsm_map_InsertSubscriberDataArg = -1;
833 static gint ett_gsm_map_bearerServiceList = -1;
834 static gint ett_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice = -1;
835 static gint ett_gsm_map_T_provisionedSS = -1;
836 static gint ett_gsm_map_T_provisionedSS_item = -1;
837 static gint ett_gsm_map_T_cug_Info = -1;
838 static gint ett_gsm_map_T_cug_SubscriptionList = -1;
839 static gint ett_gsm_map_T_cug_SubscriptionList_item = -1;
840 static gint ett_gsm_map_T_cug_FeatureList = -1;
841 static gint ett_gsm_map_T_cug_FeatureList_item = -1;
842 static gint ett_gsm_map_T_emlpp_Info = -1;
843 static gint ett_gsm_map_T_regionalSubscriptionData = -1;
844 static gint ett_gsm_map_T_vbsSubscriptionData = -1;
845 static gint ett_gsm_map_T_vbsSubscriptionData_item = -1;
846 static gint ett_gsm_map_T_vgcsSubscriptionData = -1;
847 static gint ett_gsm_map_T_vgcsSubscriptionData_item = -1;
848 static gint ett_gsm_map_T_vlrCamelSubscriptionInfo = -1;
849 static gint ett_gsm_map_T_ss_CSI = -1;
850 static gint ett_gsm_map_T_gprsSubscriptionData = -1;
851 static gint ett_gsm_map_T_gprsDataList = -1;
852 static gint ett_gsm_map_T_gprsDataList_item = -1;
853 static gint ett_gsm_map_T_lsaInformation = -1;
854 static gint ett_gsm_map_T_lsaDataList = -1;
855 static gint ett_gsm_map_T_lsaDataList_item = -1;
856 static gint ett_gsm_map_T_lcsInformation = -1;
857 static gint ett_gsm_map_T_gmlc_List = -1;
858 static gint ett_gsm_map_T_lcs_PrivacyExceptionList = -1;
859 static gint ett_gsm_map_T_lcs_PrivacyExceptionList_item = -1;
860 static gint ett_gsm_map_T_externalClientList = -1;
861 static gint ett_gsm_map_T_externalClientList_item = -1;
862 static gint ett_gsm_map_T_clientIdentity = -1;
863 static gint ett_gsm_map_T_plmnClientList = -1;
864 static gint ett_gsm_map_T_molr_List = -1;
865 static gint ett_gsm_map_T_molr_List_item = -1;
866 static gint ett_gsm_map_InsertSubscriberDataRes = -1;
867 static gint ett_gsm_map_ss_List = -1;
868 static gint ett_gsm_map_Ss_CamelData = -1;
869 static gint ett_gsm_map_T_ss_EventList = -1;
870 static gint ett_gsm_map_CallBarringInfo = -1;
871 static gint ett_gsm_map_CallBarringFeatureList = -1;
872 static gint ett_gsm_map_CallBarringFeatureList_item = -1;
873 static gint ett_gsm_map_ForwardingFeatureList = -1;
874 static gint ett_gsm_map_DestinationNumberCriteria = -1;
875 static gint ett_gsm_map_T_destinationNumberList = -1;
876 static gint ett_gsm_map_T_destinationNumberLengthList = -1;
877 static gint ett_gsm_map_ForwardingInfo = -1;
878 static gint ett_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList = -1;
879 static gint ett_gsm_map_Naea_PreferredCI = -1;
880 static gint ett_gsm_map_O_BcsmCamelTDP_CriteriaList = -1;
881 static gint ett_gsm_map_O_BcsmCamelTDP_CriteriaList_item = -1;
882 static gint ett_gsm_map_Ss_SubscriptionOption = -1;
883 static gint ett_gsm_map_DeleteSubscriberDataArg = -1;
884 static gint ett_gsm_map_T_gprsSubscriptionDataWithdraw = -1;
885 static gint ett_gsm_map_T_contextIdList = -1;
886 static gint ett_gsm_map_T_lsaInformationWithdraw = -1;
887 static gint ett_gsm_map_T_lsaIdentityList = -1;
888 static gint ett_gsm_map_DeleteSubscriberDataRes = -1;
889 static gint ett_gsm_map_ResetArg = -1;
890 static gint ett_gsm_map_T_hlr_List = -1;
891 static gint ett_gsm_map_RestoreDataArg = -1;
892 static gint ett_gsm_map_RestoreDataRes = -1;
893 static gint ett_gsm_map_ActivateTraceModeArg = -1;
894 static gint ett_gsm_map_ActivateTraceModeRes = -1;
895 static gint ett_gsm_map_DeactivateTraceModeArg = -1;
896 static gint ett_gsm_map_DeactivateTraceModeRes = -1;
897 static gint ett_gsm_map_SendRoutingInfoArg = -1;
898 static gint ett_gsm_map_T_camelInfo = -1;
899 static gint ett_gsm_map_SendRoutingInfoRes = -1;
900 static gint ett_gsm_map_T_extendedRoutingInfo = -1;
901 static gint ett_gsm_map_T_routingInfo = -1;
902 static gint ett_gsm_map_T_camelRoutingInfo = -1;
903 static gint ett_gsm_map_T_gmscCamelSubscriptionInfo = -1;
904 static gint ett_gsm_map_T_t_CSI = -1;
905 static gint ett_gsm_map_T_ccbs_Indicators = -1;
906 static gint ett_gsm_map_SubscriberState = -1;
907 static gint ett_gsm_map_LocationInformation = -1;
908 static gint ett_gsm_map_T_cellIdOrLAI = -1;
909 static gint ett_gsm_map_SubscriberInfo = -1;
910 static gint ett_gsm_map_T_locationInformationGPRS = -1;
911 static gint ett_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI = -1;
912 static gint ett_gsm_map_T_ps_SubscriberState = -1;
913 static gint ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging = -1;
914 static gint ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item = -1;
915 static gint ett_gsm_map_T_ps_PDP_ActiveReachableForPaging = -1;
916 static gint ett_gsm_map_T_ps_PDP_ActiveReachableForPaging_item = -1;
917 static gint ett_gsm_map_T_gprs_MS_Class = -1;
918 static gint ett_gsm_map_T_mnpInfoRes = -1;
919 static gint ett_gsm_map_AdditionalSignalInfo = -1;
920 static gint ett_gsm_map_Cug_CheckInfo = -1;
921 static gint ett_gsm_map_ForwardingData = -1;
922 static gint ett_gsm_map_ProvideRoamingNumberArg = -1;
923 static gint ett_gsm_map_ProvideRoamingNumberRes = -1;
924 static gint ett_gsm_map_ResumeCallHandlingArg = -1;
925 static gint ett_gsm_map_T_uu_Data = -1;
926 static gint ett_gsm_map_ResumeCallHandlingRes = -1;
927 static gint ett_gsm_map_ProvideSIWFSNumberArg = -1;
928 static gint ett_gsm_map_ProvideSIWFSNumberRes = -1;
929 static gint ett_gsm_map_SIWFSSignallingModifyArg = -1;
930 static gint ett_gsm_map_SIWFSSignallingModifyRes = -1;
931 static gint ett_gsm_map_SetReportingStateArg = -1;
932 static gint ett_gsm_map_SetReportingStateRes = -1;
933 static gint ett_gsm_map_StatusReportArg = -1;
934 static gint ett_gsm_map_T_eventReportData = -1;
935 static gint ett_gsm_map_T_callReportdata = -1;
936 static gint ett_gsm_map_StatusReportRes = -1;
937 static gint ett_gsm_map_RemoteUserFreeArg = -1;
938 static gint ett_gsm_map_RemoteUserFreeRes = -1;
939 static gint ett_gsm_map_Ss_Data = -1;
940 static gint ett_gsm_map_RegisterSS_Arg = -1;
941 static gint ett_gsm_map_Ss_Info = -1;
942 static gint ett_gsm_map_Ccbs_Feature = -1;
943 static gint ett_gsm_map_Ss_ForBS = -1;
944 static gint ett_gsm_map_InterrogateSS_Res = -1;
945 static gint ett_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList = -1;
946 static gint ett_gsm_map_T_genericServiceInfo = -1;
947 static gint ett_gsm_map_T_ccbs_FeatureList = -1;
948 static gint ett_gsm_map_T_ccbs_FeatureList_item = -1;
949 static gint ett_gsm_map_Ussd_Arg = -1;
950 static gint ett_gsm_map_Ussd_Res = -1;
951 static gint ett_gsm_map_ServiceIndicator = -1;
952 static gint ett_gsm_map_RegisterCC_EntryArg = -1;
953 static gint ett_gsm_map_T_ccbs_Data = -1;
954 static gint ett_gsm_map_RegisterCC_EntryRes = -1;
955 static gint ett_gsm_map_EraseCC_EntryArg = -1;
956 static gint ett_gsm_map_EraseCC_EntryRes = -1;
957 static gint ett_gsm_map_RoutingInfoForSMArg = -1;
958 static gint ett_gsm_map_RoutingInfoForSMRes = -1;
959 static gint ett_gsm_map_T_locationInfoWithLMSI = -1;
960 static gint ett_gsm_map_T_additional_Number = -1;
961 static gint ett_gsm_map_Mo_forwardSM_Arg = -1;
962 static gint ett_gsm_map_Mo_forwardSM_Res = -1;
963 static gint ett_gsm_map_Sm_RP_OA = -1;
964 static gint ett_gsm_map_Sm_RP_DA = -1;
965 static gint ett_gsm_map_Mt_forwardSM_Arg = -1;
966 static gint ett_gsm_map_Mt_forwardSM_Res = -1;
967 static gint ett_gsm_map_ReportSM_DeliveryStatusArg = -1;
968 static gint ett_gsm_map_ReportSM_DeliveryStatusRes = -1;
969 static gint ett_gsm_map_InformServiceCentreArg = -1;
970 static gint ett_gsm_map_T_mw_Status = -1;
971 static gint ett_gsm_map_AlertServiceCentreArg = -1;
972 static gint ett_gsm_map_ReadyForSM_Arg = -1;
973 static gint ett_gsm_map_ReadyForSM_Res = -1;
974 static gint ett_gsm_map_ProvideSubscriberInfoArg = -1;
975 static gint ett_gsm_map_ProvideSubscriberInfoRes = -1;
976 static gint ett_gsm_map_RequestedInfo = -1;
977 static gint ett_gsm_map_AnyTimeInterrogationArg = -1;
978 static gint ett_gsm_map_AnyTimeInterrogationRes = -1;
979 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationArg = -1;
980 static gint ett_gsm_map_T_requestedSubscriptionInfo = -1;
981 static gint ett_gsm_map_T_requestedSS_Info = -1;
982 static gint ett_gsm_map_AnyTimeSubscriptionInterrogationRes = -1;
983 static gint ett_gsm_map_T_callForwardingData = -1;
984 static gint ett_gsm_map_T_callBarringData = -1;
985 static gint ett_gsm_map_T_odb_Info = -1;
986 static gint ett_gsm_map_T_camel_SubscriptionInfo = -1;
987 static gint ett_gsm_map_T_o_BcsmCamelTDP_CriteriaList = -1;
988 static gint ett_gsm_map_T_o_BcsmCamelTDP_CriteriaList_item = -1;
989 static gint ett_gsm_map_T_d_CSI = -1;
990 static gint ett_gsm_map_T_t_CSI1 = -1;
991 static gint ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList = -1;
992 static gint ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item = -1;
993 static gint ett_gsm_map_T_vt_CSI = -1;
994 static gint ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList = -1;
995 static gint ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item = -1;
996 static gint ett_gsm_map_T_gprs_CSI = -1;
997 static gint ett_gsm_map_T_gprs_CamelTDPDataList = -1;
998 static gint ett_gsm_map_T_gprs_CamelTDPDataList_item = -1;
999 static gint ett_gsm_map_T_mo_sms_CSI = -1;
1000 static gint ett_gsm_map_T_ss_CSI1 = -1;
1001 static gint ett_gsm_map_T_m_CSI = -1;
1002 static gint ett_gsm_map_T_specificCSIDeletedList = -1;
1003 static gint ett_gsm_map_T_mt_sms_CSI = -1;
1004 static gint ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList = -1;
1005 static gint ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item = -1;
1006 static gint ett_gsm_map_T_tpdu_TypeCriterion = -1;
1007 static gint ett_gsm_map_T_mg_csi = -1;
1008 static gint ett_gsm_map_T_o_IM_CSI = -1;
1009 static gint ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList = -1;
1010 static gint ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item = -1;
1011 static gint ett_gsm_map_T_d_IM_CSI = -1;
1012 static gint ett_gsm_map_T_vt_IM_CSI = -1;
1013 static gint ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1;
1014 static gint ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item = -1;
1015 static gint ett_gsm_map_T_supportedVLR_CAMEL_Phases = -1;
1016 static gint ett_gsm_map_T_supportedSGSN_CAMEL_Phases = -1;
1017 static gint ett_gsm_map_T_offeredCamel4CSIsInVLR = -1;
1018 static gint ett_gsm_map_T_offeredCamel4CSIsInSGSN = -1;
1019 static gint ett_gsm_map_Sms_CAMEL_TDP_DataList = -1;
1020 static gint ett_gsm_map_Sms_CAMEL_TDP_DataList_item = -1;
1021 static gint ett_gsm_map_T_CauseValueCriteria = -1;
1022 static gint ett_gsm_map_O_CauseValueCriteria = -1;
1023 static gint ett_gsm_map_MobilityTriggers = -1;
1024 static gint ett_gsm_map_BasicServiceCriteria = -1;
1025 static gint ett_gsm_map_BasicServiceCriteria_item = -1;
1026 static gint ett_gsm_map_Dp_AnalysedInfoCriteriaList = -1;
1027 static gint ett_gsm_map_Dp_AnalysedInfoCriteriaList_item = -1;
1028 static gint ett_gsm_map_SubscriberIdentity = -1;
1029 static gint ett_gsm_map_AnyTimeModificationArg = -1;
1030 static gint ett_gsm_map_T_modificationRequestFor_CF_Info = -1;
1031 static gint ett_gsm_map_T_basicService = -1;
1032 static gint ett_gsm_map_T_modificationRequestFor_CB_Info = -1;
1033 static gint ett_gsm_map_T_basicService1 = -1;
1034 static gint ett_gsm_map_T_modificationRequestFor_CSI = -1;
1035 static gint ett_gsm_map_T_modificationRequestFor_ODB_data = -1;
1036 static gint ett_gsm_map_Odb_data = -1;
1037 static gint ett_gsm_map_Ss_InvocationNotificationArg = -1;
1038 static gint ett_gsm_map_T_ss_EventSpecification = -1;
1039 static gint ett_gsm_map_Ss_InvocationNotificationRes = -1;
1040 static gint ett_gsm_map_PrepareGroupCallArg = -1;
1041 static gint ett_gsm_map_PrepareGroupCallRes = -1;
1042 static gint ett_gsm_map_SendGroupCallEndSignalArg = -1;
1043 static gint ett_gsm_map_SendGroupCallEndSignalRes = -1;
1044 static gint ett_gsm_map_ProcessGroupCallSignallingArg = -1;
1045 static gint ett_gsm_map_ForwardGroupCallSignallingArg = -1;
1046 static gint ett_gsm_map_UpdateGprsLocationArg = -1;
1047 static gint ett_gsm_map_T_sgsn_Capability = -1;
1048 static gint ett_gsm_map_UpdateGprsLocationRes = -1;
1049 static gint ett_gsm_map_SendRoutingInfoForGprsArg = -1;
1050 static gint ett_gsm_map_SendRoutingInfoForGprsRes = -1;
1051 static gint ett_gsm_map_FailureReportArg = -1;
1052 static gint ett_gsm_map_FailureReportRes = -1;
1053 static gint ett_gsm_map_NoteMsPresentForGprsArg = -1;
1054 static gint ett_gsm_map_NoteMsPresentForGprsRes = -1;
1055 static gint ett_gsm_map_LcsClientExternalID = -1;
1056 static gint ett_gsm_map_LcsClientName = -1;
1057 static gint ett_gsm_map_Lcs_ClientID = -1;
1058 static gint ett_gsm_map_LcsLocationInfo = -1;
1059 static gint ett_gsm_map_ProvideSubscriberLocation_Arg = -1;
1060 static gint ett_gsm_map_T_locationType = -1;
1061 static gint ett_gsm_map_T_lcs_QoS = -1;
1062 static gint ett_gsm_map_T_responseTime = -1;
1063 static gint ett_gsm_map_ProvideSubscriberLocation_Res = -1;
1064 static gint ett_gsm_map_TargetMS = -1;
1065 static gint ett_gsm_map_RoutingInfoForLCS_Arg = -1;
1066 static gint ett_gsm_map_RoutingInfoForLCS_Res = -1;
1067 static gint ett_gsm_map_SubscriberLocationReport_Arg = -1;
1068 static gint ett_gsm_map_SubscriberLocationReport_Res = -1;
1069 static gint ett_gsm_map_SystemFailureParam = -1;
1070 static gint ett_gsm_map_T_extensibleSystemFailureParam = -1;
1071 static gint ett_gsm_map_DataMissingParam = -1;
1072 static gint ett_gsm_map_UnexpectedDataParam = -1;
1073 static gint ett_gsm_map_FacilityNotSupParam = -1;
1074 static gint ett_gsm_map_IncompatibleTerminalParam = -1;
1075 static gint ett_gsm_map_ResourceLimitationParam = -1;
1076 static gint ett_gsm_map_UnknownSubscriberParam = -1;
1077 static gint ett_gsm_map_NumberChangedParam = -1;
1078 static gint ett_gsm_map_UnidentifiedSubParam = -1;
1079 static gint ett_gsm_map_RoamingNotAllowedParam = -1;
1080 static gint ett_gsm_map_IllegalSubscriberParam = -1;
1081 static gint ett_gsm_map_IllegalEquipmentParam = -1;
1082 static gint ett_gsm_map_BearerServNotProvParam = -1;
1083 static gint ett_gsm_map_TeleservNotProvParam = -1;
1084 static gint ett_gsm_map_TracingBufferFullParam = -1;
1085 static gint ett_gsm_map_NoRoamingNbParam = -1;
1086 static gint ett_gsm_map_AbsentSubscriberParam = -1;
1087 static gint ett_gsm_map_BusySubscriberParam = -1;
1088 static gint ett_gsm_map_NoSubscriberReplyParam = -1;
1089 static gint ett_gsm_map_CallBarredParam = -1;
1090 static gint ett_gsm_map_T_extensibleCallBarredParam = -1;
1091 static gint ett_gsm_map_ForwardingFailedParam = -1;
1092 static gint ett_gsm_map_Or_NotAllowedParam = -1;
1093 static gint ett_gsm_map_ForwardingViolationParam = -1;
1094 static gint ett_gsm_map_Cug_RejectParam = -1;
1095 static gint ett_gsm_map_Ati_NotAllowedParam = -1;
1096 static gint ett_gsm_map_NoGroupCallNbParam = -1;
1097 static gint ett_gsm_map_Ss_IncompatibilityCause = -1;
1098 static gint ett_gsm_map_ShortTermDenialParam = -1;
1099 static gint ett_gsm_map_LongTermDenialParam = -1;
1100 static gint ett_gsm_map_SubBusyForMT_SMS_Param = -1;
1101 static gint ett_gsm_map_Sm_DeliveryFailureCause = -1;
1102 static gint ett_gsm_map_MessageWaitListFullParam = -1;
1103 static gint ett_gsm_map_AbsentSubscriberSM_Param = -1;
1104 static gint ett_gsm_map_UnauthorizedRequestingNetwork_Param = -1;
1105 static gint ett_gsm_map_UnauthorizedLCSClient_Param = -1;
1106 static gint ett_gsm_map_PositionMethodFailure_Param = -1;
1107 static gint ett_gsm_map_UnknownOrUnreachableLCSClient_Param = -1;
1108 static gint ett_gsm_map_ExtensionContainer = -1;
1110 /*--- End of included file: packet-gsm_map-ett.c ---*/
1113 static dissector_table_t sms_dissector_table; /* SMS TPDU */
1114 /* Preferenc settings default */
1115 static guint tcap_itu_ssn1 = 6;
1116 static guint tcap_itu_ssn2 = 7;
1117 static guint tcap_itu_ssn3 = 8;
1118 static guint tcap_itu_ssn4 = 9;
1120 static guint global_tcap_itu_ssn1 = 6;
1121 static guint global_tcap_itu_ssn2 = 7;
1122 static guint global_tcap_itu_ssn3 = 8;
1123 static guint global_tcap_itu_ssn4 = 9;
1125 /* Global variables */
1126 static proto_tree *top_tree;
1127 int application_context_version;
1129 static int gsm_map_tap = -1;
1133 unpack_digits(tvbuff_t *tvb, int offset){
1140 length = tvb_length(tvb);
1141 length = length - offset;
1142 digit_str = g_malloc(length+1);
1144 while ( offset <= length ){
1146 octet = tvb_get_guint8(tvb,offset);
1147 digit_str[i] = ((octet & 0x0f) + 0x30);
1151 * unpack second value in byte
1155 if (octet == 0x0f) /* odd number bytes - hit filler */
1158 digit_str[i] = ((octet & 0x0f) + 0x30);
1169 /*--- Included file: packet-gsm_map-fn.c ---*/
1171 /*--- Fields for imported types ---*/
1175 static const value_string gsm_map_ProtocolId_vals[] = {
1178 { 3, "gsm-BSSMAP" },
1179 { 4, "ets-300102-1" },
1185 dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1187 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &protocolId);
1192 static int dissect_protocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1193 return dissect_gsm_map_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_protocolId);
1198 dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1200 tvbuff_t *parameter_tvb;
1204 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1208 switch (protocolId){
1218 /* ets-300102-1 (~Q.931 ) */
1220 octet = tvb_get_guint8(parameter_tvb,0);
1221 length = tvb_get_guint8(parameter_tvb,1);
1223 dissect_q931_bearer_capability_ie(parameter_tvb, 2, length, tree);
1232 static int dissect_signalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1233 return dissect_gsm_map_SignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_signalInfo);
1238 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_) {
1239 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset,
1244 static int dissect_extId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1245 return dissect_gsm_map_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extId);
1250 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_) {
1251 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1256 static int dissect_extType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1257 return dissect_gsm_map_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extType);
1259 static int dissect_bearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1260 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerService);
1262 static int dissect_dataCodingScheme_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1263 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dataCodingScheme);
1265 static int dissect_nameString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1266 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nameString);
1268 static int dissect_lcsClientDialedByMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1269 return dissect_gsm_map_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientDialedByMS);
1272 static const ber_sequence_t PrivateExtension_sequence[] = {
1273 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extId },
1274 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extType },
1279 dissect_gsm_map_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1280 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1281 PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
1285 static int dissect_PrivateExtensionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1286 return dissect_gsm_map_PrivateExtension(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_PrivateExtensionList_item);
1289 static const ber_sequence_t PrivateExtensionList_sequence_of[1] = {
1290 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PrivateExtensionList_item },
1294 dissect_gsm_map_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1295 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1296 PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
1300 static int dissect_privateExtensionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1301 return dissect_gsm_map_PrivateExtensionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privateExtensionList);
1304 static const ber_sequence_t PcsExtensions_sequence[] = {
1309 dissect_gsm_map_PcsExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1310 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1311 PcsExtensions_sequence, hf_index, ett_gsm_map_PcsExtensions);
1315 static int dissect_pcsExtensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1316 return dissect_gsm_map_PcsExtensions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pcsExtensions);
1319 static const ber_sequence_t ExtensionContainer_sequence[] = {
1320 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
1321 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pcsExtensions_impl },
1326 dissect_gsm_map_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1327 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1328 ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
1332 static int dissect_extensionContainer(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1333 return dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
1335 static int dissect_extensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1336 return dissect_gsm_map_ExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_extensionContainer);
1339 static const ber_sequence_t Bss_APDU_sequence[] = {
1340 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_protocolId },
1341 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo },
1342 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1347 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_) {
1348 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1349 Bss_APDU_sequence, hf_index, ett_gsm_map_Bss_APDU);
1353 static int dissect_bss_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1354 return dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bss_APDU);
1356 static int dissect_networkSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1357 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkSignalInfo);
1359 static int dissect_gsm_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1360 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsm_BearerCapability);
1362 static int dissect_isdn_BearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1363 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_isdn_BearerCapability);
1365 static int dissect_chosenChannel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1366 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannel);
1368 static int dissect_lowerLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1369 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lowerLayerCompatibility);
1371 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1372 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_highLayerCompatibility);
1374 static int dissect_channelType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1375 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_channelType);
1377 static int dissect_callInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1378 return dissect_gsm_map_Bss_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callInfo);
1382 static const value_string gsm_map_T_accessNetworkProtocolId_vals[] = {
1383 { 1, "ts3G-48006" },
1384 { 2, "ts3G-25413" },
1390 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_) {
1391 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1395 static int dissect_accessNetworkProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1396 return dissect_gsm_map_T_accessNetworkProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_accessNetworkProtocolId);
1401 dissect_gsm_map_SignalInfo2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1402 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1407 static int dissect_signalInfo2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1408 return dissect_gsm_map_SignalInfo2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_signalInfo2);
1411 static const ber_sequence_t An_APDU_sequence[] = {
1412 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_accessNetworkProtocolId },
1413 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_signalInfo2 },
1414 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1419 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_) {
1420 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1421 An_APDU_sequence, hf_index, ett_gsm_map_An_APDU);
1425 static int dissect_an_APDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1426 return dissect_gsm_map_An_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
1428 static int dissect_an_APDU_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1429 return dissect_gsm_map_An_APDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_an_APDU);
1432 static const asn_namedbit SupportedCamelPhases_bits[] = {
1433 { 0, &hf_gsm_map_SupportedCamelPhases_phase1, -1, -1, NULL, NULL },
1434 { 1, &hf_gsm_map_SupportedCamelPhases_phase2, -1, -1, NULL, NULL },
1435 { 2, &hf_gsm_map_SupportedCamelPhases_phase3, -1, -1, NULL, NULL },
1436 { 3, &hf_gsm_map_SupportedCamelPhases_phase4, -1, -1, NULL, NULL },
1437 { 0, NULL, 0, 0, NULL, NULL }
1441 dissect_gsm_map_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1442 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1443 SupportedCamelPhases_bits, hf_index, ett_gsm_map_SupportedCamelPhases,
1448 static int dissect_supportedCamelPhases(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1449 return dissect_gsm_map_SupportedCamelPhases(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
1451 static int dissect_supportedCamelPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1452 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhases);
1454 static int dissect_supportedCamelPhasesInGMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1455 return dissect_gsm_map_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCamelPhasesInGMSC);
1460 dissect_gsm_map_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1461 { proto_item *ti_tmp;
1462 ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>8, 0, FALSE);
1463 proto_item_append_text(ti_tmp, ": NULL");
1468 static int dissect_solsaSupportIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1469 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1471 static int dissect_solsaSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1472 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_solsaSupportIndicator);
1474 static int dissect_sendSubscriberData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1475 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sendSubscriberData);
1477 static int dissect_longFTN_Supported_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1478 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longFTN_Supported);
1480 static int dissect_informPreviousNetworkEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1481 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_informPreviousNetworkEntity);
1483 static int dissect_cs_LCS_NotSupportedByUE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1484 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cs_LCS_NotSupportedByUE);
1486 static int dissect_skipSubscriberDataUpdate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1487 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_skipSubscriberDataUpdate);
1489 static int dissect_freezeTMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1490 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeTMSI);
1492 static int dissect_freezeP_TMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1493 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_freezeP_TMSI);
1495 static int dissect_ho_NumberNotRequired(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1496 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ho_NumberNotRequired);
1498 static int dissect_multipleBearerRequested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1499 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerRequested);
1501 static int dissect_rab_ConfigurationIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1502 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_ConfigurationIndicator);
1504 static int dissect_multipleBearerNotSupported(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1505 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_multipleBearerNotSupported);
1507 static int dissect_segmentationProhibited(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1508 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_segmentationProhibited);
1510 static int dissect_immediateResponsePreferred_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1511 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_immediateResponsePreferred);
1513 static int dissect_roamingRestrictionDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1514 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictionDueToUnsupportedFeature);
1516 static int dissect_broadcastInitEntitlement(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1517 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_broadcastInitEntitlement);
1519 static int dissect_tif_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1520 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI);
1522 static int dissect_completeDataListIncluded(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1523 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_completeDataListIncluded);
1525 static int dissect_vplmnAddressAllowed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1526 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vplmnAddressAllowed);
1528 static int dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1529 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature);
1531 static int dissect_lsaActiveModeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1532 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaActiveModeIndicator);
1534 static int dissect_lmu_Indicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1535 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmu_Indicator);
1537 static int dissect_vbsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1538 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsGroupIndication);
1540 static int dissect_vgcsGroupIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1541 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsGroupIndication);
1543 static int dissect_camelSubscriptionInfoWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1544 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelSubscriptionInfoWithdraw);
1546 static int dissect_allGPRSData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1547 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allGPRSData);
1549 static int dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1550 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature);
1552 static int dissect_allLSAData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1553 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_allLSAData);
1555 static int dissect_gmlc_ListWithdraw_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1556 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_ListWithdraw);
1558 static int dissect_msNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1559 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msNotReachable);
1561 static int dissect_or_Interrogation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1562 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Interrogation);
1564 static int dissect_suppress_T_CSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1565 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_suppress_T_CSI);
1567 static int dissect_suppressionOfAnnouncement_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1568 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_suppressionOfAnnouncement);
1570 static int dissect_ccbs_Call_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1571 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Call);
1573 static int dissect_cugSubscriptionFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1574 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cugSubscriptionFlag);
1576 static int dissect_forwardingInterrogationRequired_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1577 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInterrogationRequired);
1579 static int dissect_ccbs_Possible_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1580 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Possible);
1582 static int dissect_keepCCBS_CallIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1583 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_keepCCBS_CallIndicator);
1585 static int dissect_assumedIdle_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1586 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_assumedIdle);
1588 static int dissect_camelBusy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1589 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelBusy);
1591 static int dissect_notProvidedFromVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1592 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromVLR);
1594 static int dissect_currentLocationRetrieved_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1595 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocationRetrieved);
1597 static int dissect_sai_Present_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1598 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sai_Present);
1600 static int dissect_notProvidedFromSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1601 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notProvidedFromSGSN);
1603 static int dissect_ps_Detached_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1604 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_Detached);
1606 static int dissect_ps_AttachedNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1607 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_AttachedNotReachableForPaging);
1609 static int dissect_ps_AttachedReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1610 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_AttachedReachableForPaging);
1612 static int dissect_pdp_ContextActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1613 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextActive);
1615 static int dissect_cug_OutgoingAccess(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1616 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_OutgoingAccess);
1618 static int dissect_orNotSupportedInGMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1619 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_orNotSupportedInGMSC);
1621 static int dissect_uusCFInteraction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1622 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uusCFInteraction);
1624 static int dissect_allInformationSent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1625 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allInformationSent);
1627 static int dissect_replaceB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1628 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_replaceB_Number);
1630 static int dissect_gprsSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1631 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSupportIndicator);
1633 static int dissect_gprsNodeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1634 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsNodeIndicator);
1636 static int dissect_noSM_RP_OA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1637 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_OA);
1639 static int dissect_noSM_RP_DA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1640 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noSM_RP_DA);
1642 static int dissect_moreMessagesToSend(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1643 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_moreMessagesToSend);
1645 static int dissect_deliveryOutcomeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1646 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_deliveryOutcomeIndicator);
1648 static int dissect_alertReasonIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1649 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReasonIndicator);
1651 static int dissect_locationInformationFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1652 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationFlag);
1654 static int dissect_subscriberStateFlag_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1655 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberStateFlag);
1657 static int dissect_currentLocation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1658 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_currentLocation);
1660 static int dissect_imei1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1661 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei1);
1663 static int dissect_ms_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1664 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_classmark);
1666 static int dissect_mnpRequestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1667 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpRequestedInfo);
1669 static int dissect_odb_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1670 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb);
1672 static int dissect_supportedVLR_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1673 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases_flg);
1675 static int dissect_supportedSGSN_CAMEL_Phases_flg_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1676 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases_flg);
1678 static int dissect_notificationToCSE(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1679 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1681 static int dissect_notificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1682 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToCSE);
1684 static int dissect_csi_Active_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1685 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csi_Active);
1687 static int dissect_tif_CSI_NotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1688 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tif_CSI_NotificationToCSE);
1690 static int dissect_csiActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1691 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_csiActive);
1693 static int dissect_uplinkFree_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1694 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkFree);
1696 static int dissect_uplinkRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1697 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequest);
1699 static int dissect_uplinkReleaseIndication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1700 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkReleaseIndication);
1702 static int dissect_releaseGroupCall_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1703 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_releaseGroupCall);
1705 static int dissect_uplinkRequestAck_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1706 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRequestAck);
1708 static int dissect_uplinkRejectCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1709 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkRejectCommand);
1711 static int dissect_uplinkSeizedCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1712 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkSeizedCommand);
1714 static int dissect_uplinkReleaseCommand_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1715 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uplinkReleaseCommand);
1717 static int dissect_privacyOverride_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1718 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_privacyOverride);
1720 static int dissect_verticalCoordinateRequest_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1721 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_verticalCoordinateRequest);
1723 static int dissect_ccbs_Busy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1724 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Busy);
1726 static int dissect_unauthorisedMessageOriginator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1727 return dissect_gsm_map_NULL(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorisedMessageOriginator);
1729 static int dissect_gprsConnectionSuspended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1730 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsConnectionSuspended);
1734 static const value_string gsm_map_T_istSupportIndicator_vals[] = {
1735 { 0, "basicISTSupported" },
1736 { 1, "istCommandSupported" },
1742 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_) {
1743 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1747 static int dissect_istSupportIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1748 return dissect_gsm_map_T_istSupportIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_istSupportIndicator);
1753 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_) {
1754 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1759 static int dissect_subscriberDataStored_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1760 return dissect_gsm_map_OCTET_STRING_SIZE_1_6(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberDataStored);
1764 static const value_string gsm_map_T_superChargerSupportedInServingNetworkEntity_vals[] = {
1765 { 0, "sendSubscriberData" },
1766 { 1, "subscriberDataStored" },
1770 static const ber_choice_t T_superChargerSupportedInServingNetworkEntity_choice[] = {
1771 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendSubscriberData_impl },
1772 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_subscriberDataStored_impl },
1773 { 0, 0, 0, 0, NULL }
1777 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_) {
1778 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1779 T_superChargerSupportedInServingNetworkEntity_choice, hf_index, ett_gsm_map_T_superChargerSupportedInServingNetworkEntity);
1783 static int dissect_superChargerSupportedInServingNetworkEntity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1784 return dissect_gsm_map_T_superChargerSupportedInServingNetworkEntity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_superChargerSupportedInServingNetworkEntity);
1787 static const asn_namedbit T_supportedLCS_CapabilitySets_bits[] = {
1788 { 0, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet1, -1, -1, NULL, NULL },
1789 { 1, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet2, -1, -1, NULL, NULL },
1790 { 2, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet3, -1, -1, NULL, NULL },
1791 { 3, &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet4, -1, -1, NULL, NULL },
1792 { 0, NULL, 0, 0, NULL, NULL }
1796 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_) {
1797 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1798 T_supportedLCS_CapabilitySets_bits, hf_index, ett_gsm_map_T_supportedLCS_CapabilitySets,
1803 static int dissect_supportedLCS_CapabilitySets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1804 return dissect_gsm_map_T_supportedLCS_CapabilitySets(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedLCS_CapabilitySets);
1807 static const asn_namedbit T_offeredCamel4CSIs_bits[] = {
1808 { 0, &hf_gsm_map_T_offeredCamel4CSIs_ocsi, -1, -1, NULL, NULL },
1809 { 1, &hf_gsm_map_T_offeredCamel4CSIs_dcsi, -1, -1, NULL, NULL },
1810 { 2, &hf_gsm_map_T_offeredCamel4CSIs_vtcsi, -1, -1, NULL, NULL },
1811 { 3, &hf_gsm_map_T_offeredCamel4CSIs_tcsi, -1, -1, NULL, NULL },
1812 { 4, &hf_gsm_map_T_offeredCamel4CSIs_mtsmscsi, -1, -1, NULL, NULL },
1813 { 5, &hf_gsm_map_T_offeredCamel4CSIs_mgcsi, -1, -1, NULL, NULL },
1814 { 6, &hf_gsm_map_T_offeredCamel4CSIs_psienhancements, -1, -1, NULL, NULL },
1815 { 0, NULL, 0, 0, NULL, NULL }
1819 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_) {
1820 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1821 T_offeredCamel4CSIs_bits, hf_index, ett_gsm_map_T_offeredCamel4CSIs,
1826 static int dissect_offeredCamel4CSIs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1827 return dissect_gsm_map_T_offeredCamel4CSIs(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIs);
1830 static const ber_sequence_t Vlr_Capability_sequence[] = {
1831 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
1832 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1833 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_solsaSupportIndicator_impl },
1834 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_istSupportIndicator_impl },
1835 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_superChargerSupportedInServingNetworkEntity },
1836 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
1837 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedLCS_CapabilitySets_impl },
1838 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIs_impl },
1843 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_) {
1844 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1845 Vlr_Capability_sequence, hf_index, ett_gsm_map_Vlr_Capability);
1849 static int dissect_vlr_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1850 return dissect_gsm_map_Vlr_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Capability);
1855 dissect_gsm_map_Imsi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1857 tvbuff_t *parameter_tvb;
1860 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1865 digit_str = unpack_digits(parameter_tvb, 0);
1867 proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 0, -1, digit_str);
1874 static int dissect_imsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1875 return dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
1877 static int dissect_imsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1878 return dissect_gsm_map_Imsi(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
1883 dissect_gsm_map_Lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1884 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1889 static int dissect_lmsi(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1890 return dissect_gsm_map_Lmsi(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
1892 static int dissect_lmsi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1893 return dissect_gsm_map_Lmsi(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lmsi);
1898 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_) {
1899 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1904 static int dissect_msc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1905 return dissect_gsm_map_Msc_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
1907 static int dissect_msc_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1908 return dissect_gsm_map_Msc_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msc_Number);
1913 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_) {
1914 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1919 static int dissect_vlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1920 return dissect_gsm_map_Vlr_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
1922 static int dissect_vlr_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1923 return dissect_gsm_map_Vlr_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_Number);
1925 static int dissect_vlr_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1926 return dissect_gsm_map_Vlr_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlr_number);
1931 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_) {
1932 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1937 static int dissect_v_gmlc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1938 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_v_gmlc_Address);
1940 static int dissect_rnc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1941 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rnc_Address);
1943 static int dissect_sgsn_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1944 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
1946 static int dissect_sgsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1947 return dissect_gsm_map_OCTET_STRING_SIZE_5_17(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Address);
1952 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_) {
1953 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1958 static int dissect_imeisv_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1959 return dissect_gsm_map_OCTET_STRING_SIZE_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imeisv);
1961 static int dissect_kc(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1962 return dissect_gsm_map_OCTET_STRING_SIZE_8(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_kc);
1964 static int dissect_geographicalInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1965 return dissect_gsm_map_OCTET_STRING_SIZE_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geographicalInformation);
1967 static int dissect_groupKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1968 return dissect_gsm_map_OCTET_STRING_SIZE_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKey);
1971 static const ber_sequence_t T_add_info_sequence[] = {
1972 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imeisv_impl },
1973 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_skipSubscriberDataUpdate_impl },
1978 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_) {
1979 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1980 T_add_info_sequence, hf_index, ett_gsm_map_T_add_info);
1984 static int dissect_add_info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1985 return dissect_gsm_map_T_add_info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_add_info);
1988 static const ber_sequence_t UpdateLocationArg_sequence[] = {
1989 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
1990 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
1991 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_vlr_Number },
1992 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
1993 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
1994 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
1995 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_informPreviousNetworkEntity_impl },
1996 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cs_LCS_NotSupportedByUE_impl },
1997 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_v_gmlc_Address_impl },
1998 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_add_info_impl },
2003 dissect_gsm_map_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2004 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2005 UpdateLocationArg_sequence, hf_index, ett_gsm_map_UpdateLocationArg);
2012 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_) {
2014 tvbuff_t *parameter_tvb;
2017 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2023 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
2024 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
2025 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
2027 digit_str = unpack_digits(parameter_tvb, 1);
2029 proto_tree_add_string(tree, hf_gsm_map_map_hlr_number_digits, parameter_tvb, 1, -1, digit_str);
2036 static int dissect_hlr_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2037 return dissect_gsm_map_Hlr_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_Number);
2040 static const ber_sequence_t UpdateLocationRes_sequence[] = {
2041 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
2042 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2047 dissect_gsm_map_UpdateLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2048 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2049 UpdateLocationRes_sequence, hf_index, ett_gsm_map_UpdateLocationRes);
2056 dissect_gsm_map_Teleservice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2057 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2062 static int dissect_teleservice(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2063 return dissect_gsm_map_Teleservice(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice);
2065 static int dissect_teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2066 return dissect_gsm_map_Teleservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleservice);
2068 static int dissect_teleserviceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2069 return dissect_gsm_map_Teleservice(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_teleserviceList_item);
2073 static const value_string gsm_map_CancellationType_vals[] = {
2074 { 0, "updateProcedure" },
2075 { 1, "subscriptionWithdraw" },
2081 dissect_gsm_map_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2082 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2086 static int dissect_cancellationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2087 return dissect_gsm_map_CancellationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cancellationType);
2090 static const ber_sequence_t T_imsi_WithLMSI_sequence[] = {
2091 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2092 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_lmsi },
2097 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_) {
2098 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2099 T_imsi_WithLMSI_sequence, hf_index, ett_gsm_map_T_imsi_WithLMSI);
2103 static int dissect_imsi_WithLMSI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2104 return dissect_gsm_map_T_imsi_WithLMSI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi_WithLMSI);
2108 static const value_string gsm_map_T_identity_vals[] = {
2110 { 1, "imsi-WithLMSI" },
2114 static const ber_choice_t T_identity_choice[] = {
2115 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2116 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_imsi_WithLMSI },
2117 { 0, 0, 0, 0, NULL }
2121 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_) {
2122 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2123 T_identity_choice, hf_index, ett_gsm_map_T_identity);
2127 static int dissect_identity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2128 return dissect_gsm_map_T_identity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_identity);
2131 static const ber_sequence_t CancelLocationArg_sequence[] = {
2132 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_identity },
2133 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cancellationType },
2134 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2139 dissect_gsm_map_CancelLocationArg(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 CancelLocationArg_sequence, hf_index, ett_gsm_map_CancelLocationArg);
2146 static const ber_sequence_t CancelLocationRes_sequence[] = {
2147 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2152 dissect_gsm_map_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2153 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2154 CancelLocationRes_sequence, hf_index, ett_gsm_map_CancelLocationRes);
2161 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_) {
2162 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2167 static int dissect_sgsn_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2168 return dissect_gsm_map_Sgsn_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
2170 static int dissect_sgsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2171 return dissect_gsm_map_Sgsn_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Number);
2174 static const ber_sequence_t PurgeMS_Arg_sequence[] = {
2175 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2176 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Number_impl },
2177 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
2178 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2183 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_) {
2184 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2185 PurgeMS_Arg_sequence, hf_index, ett_gsm_map_PurgeMS_Arg);
2190 static const ber_sequence_t PurgeMS_Res_sequence[] = {
2191 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeTMSI_impl },
2192 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_freezeP_TMSI_impl },
2193 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
2198 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_) {
2199 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2200 PurgeMS_Res_sequence, hf_index, ett_gsm_map_PurgeMS_Res);
2207 dissect_gsm_map_Tmsi(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2208 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2216 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_) {
2217 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2222 static int dissect_rand(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2223 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rand);
2225 static int dissect_ck(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2226 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ck);
2228 static int dissect_ik(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2229 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ik);
2231 static int dissect_autn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2232 return dissect_gsm_map_OCTET_STRING_SIZE_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_autn);
2237 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_) {
2238 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2243 static int dissect_sres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2244 return dissect_gsm_map_OCTET_STRING_SIZE_4(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sres);
2246 static int dissect_cug_Interlock(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2247 return dissect_gsm_map_OCTET_STRING_SIZE_4(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Interlock);
2249 static int dissect_teid_ForGnAndGp_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2250 return dissect_gsm_map_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForGnAndGp);
2252 static int dissect_teid_ForIu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2253 return dissect_gsm_map_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teid_ForIu);
2255 static int dissect_chargingId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2256 return dissect_gsm_map_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingId);
2259 static const ber_sequence_t T_authenticationSetList_item_sequence[] = {
2260 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
2261 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
2262 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
2267 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_) {
2268 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2269 T_authenticationSetList_item_sequence, hf_index, ett_gsm_map_T_authenticationSetList_item);
2273 static int dissect_authenticationSetList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2274 return dissect_gsm_map_T_authenticationSetList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_authenticationSetList_item);
2277 static const ber_sequence_t SendId_authenticationSetList_sequence_of[1] = {
2278 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_authenticationSetList_item },
2282 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_) {
2283 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2284 SendId_authenticationSetList_sequence_of, hf_index, ett_gsm_map_SendId_authenticationSetList);
2288 static int dissect_sendId_authenticationSetList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2289 return dissect_gsm_map_SendId_authenticationSetList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sendId_authenticationSetList);
2292 static const ber_sequence_t SendIdentificationRes_sequence[] = {
2293 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
2294 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sendId_authenticationSetList },
2299 dissect_gsm_map_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2300 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2301 SendIdentificationRes_sequence, hf_index, ett_gsm_map_SendIdentificationRes);
2308 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_) {
2309 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2314 static int dissect_targetCellId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2315 return dissect_gsm_map_OCTET_STRING_SIZE_5_7(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
2317 static int dissect_targetCellId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2318 return dissect_gsm_map_OCTET_STRING_SIZE_5_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetCellId);
2321 static const ber_sequence_t PrepareHO_Arg_sequence[] = {
2322 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_targetCellId },
2323 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
2324 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2329 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_) {
2330 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2331 PrepareHO_Arg_sequence, hf_index, ett_gsm_map_PrepareHO_Arg);
2338 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_) {
2339 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2344 static int dissect_targetRNCId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2345 return dissect_gsm_map_OCTET_STRING_SIZE_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_targetRNCId);
2347 static int dissect_cellIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2348 return dissect_gsm_map_OCTET_STRING_SIZE_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellIdFixedLength);
2350 static int dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2351 return dissect_gsm_map_OCTET_STRING_SIZE_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength);
2356 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_) {
2357 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2362 static int dissect_integrityProtectionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2363 return dissect_gsm_map_OCTET_STRING_SIZE_18_100(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionInfo);
2365 static int dissect_encryptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2366 return dissect_gsm_map_OCTET_STRING_SIZE_18_100(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionInfo);
2371 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_) {
2372 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2377 static int dissect_radioResourceInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2378 return dissect_gsm_map_OCTET_STRING_SIZE_3_13(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
2380 static int dissect_radioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2381 return dissect_gsm_map_OCTET_STRING_SIZE_3_13(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceInformation);
2386 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_) {
2387 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2392 static int dissect_allowedGSM_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2393 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedGSM_Algorithms);
2395 static int dissect_bssmap_ServiceHandover(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2396 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
2398 static int dissect_bssmap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2399 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandover);
2401 static int dissect_ranap_ServiceHandover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2402 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ranap_ServiceHandover);
2404 static int dissect_integrityProtectionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2405 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithm);
2407 static int dissect_encryptionAlgorithm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2408 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithm);
2410 static int dissect_chosenChannelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2411 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenChannelInfo);
2413 static int dissect_chosenSpeechVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2414 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenSpeechVersion);
2416 static int dissect_category_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2417 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_category);
2419 static int dissect_interCUG_Restrictions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2420 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_interCUG_Restrictions);
2422 static int dissect_lsaAttributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2423 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaAttributes);
2425 static int dissect_ss_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2426 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List_item);
2428 static int dissect_ss_EventList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2429 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventList_item);
2431 static int dissect_alertingPattern(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2432 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
2434 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2435 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_alertingPattern);
2437 static int dissect_uuIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2438 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uuIndicator);
2440 static int dissect_call_Direction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2441 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_call_Direction);
2443 static int dissect_ussd_DataCodingScheme(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2444 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_DataCodingScheme);
2446 static int dissect_T_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2447 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_T_CauseValueCriteria_item);
2449 static int dissect_O_CauseValueCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2450 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_CauseValueCriteria_item);
2452 static int dissect_MobilityTriggers_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2453 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_MobilityTriggers_item);
2455 static int dissect_ss_Event_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2456 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Event);
2458 static int dissect_cipheringAlgorithm(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2459 return dissect_gsm_map_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cipheringAlgorithm);
2461 static int dissect_lcs_Priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2462 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Priority);
2464 static int dissect_horizontal_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2465 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_horizontal_accuracy);
2467 static int dissect_vertical_accuracy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2468 return dissect_gsm_map_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vertical_accuracy);
2473 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_) {
2474 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2479 static int dissect_integrityProtectionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2480 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_integrityProtectionAlgorithms);
2482 static int dissect_encryptionAlgorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2483 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_encryptionAlgorithms);
2485 static int dissect_qos_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2486 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Requested);
2488 static int dissect_qos_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2489 return dissect_gsm_map_OCTET_STRING_SIZE_1_9(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Negotiated);
2492 static const ber_sequence_t T_allowedUMTS_Algorithms_sequence[] = {
2493 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithms_impl },
2494 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithms_impl },
2495 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2500 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_) {
2501 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2502 T_allowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_T_allowedUMTS_Algorithms);
2506 static int dissect_allowedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2507 return dissect_gsm_map_T_allowedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_allowedUMTS_Algorithms);
2513 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_) {
2514 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2518 static int dissect_rab_Id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2519 return dissect_gsm_map_INTEGER_1_255(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
2521 static int dissect_rab_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2522 return dissect_gsm_map_INTEGER_1_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_rab_Id);
2525 static const ber_sequence_t T_radioResourceList_item_sequence[] = {
2526 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_radioResourceInformation },
2527 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
2532 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_) {
2533 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2534 T_radioResourceList_item_sequence, hf_index, ett_gsm_map_T_radioResourceList_item);
2538 static int dissect_radioResourceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2539 return dissect_gsm_map_T_radioResourceList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList_item);
2542 static const ber_sequence_t T_radioResourceList_sequence_of[1] = {
2543 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_radioResourceList_item },
2547 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_) {
2548 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2549 T_radioResourceList_sequence_of, hf_index, ett_gsm_map_T_radioResourceList);
2553 static int dissect_radioResourceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2554 return dissect_gsm_map_T_radioResourceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_radioResourceList);
2557 static const ber_sequence_t T_bssmap_ServiceHandoverList_item_sequence[] = {
2558 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bssmap_ServiceHandover },
2559 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
2564 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_) {
2565 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2566 T_bssmap_ServiceHandoverList_item_sequence, hf_index, ett_gsm_map_T_bssmap_ServiceHandoverList_item);
2570 static int dissect_bssmap_ServiceHandoverList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2571 return dissect_gsm_map_T_bssmap_ServiceHandoverList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList_item);
2574 static const ber_sequence_t T_bssmap_ServiceHandoverList_sequence_of[1] = {
2575 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bssmap_ServiceHandoverList_item },
2579 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_) {
2580 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2581 T_bssmap_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_T_bssmap_ServiceHandoverList);
2585 static int dissect_bssmap_ServiceHandoverList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2586 return dissect_gsm_map_T_bssmap_ServiceHandoverList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bssmap_ServiceHandoverList);
2591 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_) {
2592 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2597 static int dissect_asciCallReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2598 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
2600 static int dissect_asciCallReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2601 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_asciCallReference);
2603 static int dissect_callReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2604 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReferenceNumber);
2606 static int dissect_mSNetworkCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2607 return dissect_gsm_map_OCTET_STRING_SIZE_1_8(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSNetworkCapability);
2612 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_) {
2613 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2618 static int dissect_geran_classmark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2619 return dissect_gsm_map_OCTET_STRING_SIZE_2_87(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geran_classmark);
2624 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_) {
2625 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2630 static int dissect_iuCurrentlyUsedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2631 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuCurrentlyUsedCodec);
2633 static int dissect_codec1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2634 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec1);
2636 static int dissect_codec2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2637 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec2);
2639 static int dissect_codec3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2640 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec3);
2642 static int dissect_codec4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2643 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec4);
2645 static int dissect_codec5_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2646 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec5);
2648 static int dissect_codec6_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2649 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec6);
2651 static int dissect_codec7_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2652 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec7);
2654 static int dissect_codec8_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2655 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_codec8);
2657 static int dissect_iuSelectedCodec_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2658 return dissect_gsm_map_OCTET_STRING_SIZE_1_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuSelectedCodec);
2661 static const ber_sequence_t T_geranCodecList_sequence[] = {
2662 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
2663 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
2664 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
2665 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
2666 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
2667 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
2668 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
2669 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
2670 { BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2675 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_) {
2676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2677 T_geranCodecList_sequence, hf_index, ett_gsm_map_T_geranCodecList);
2681 static int dissect_geranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2682 return dissect_gsm_map_T_geranCodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geranCodecList);
2685 static const ber_sequence_t T_utranCodecList_sequence[] = {
2686 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
2687 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
2688 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
2689 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
2690 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
2691 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
2692 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
2693 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
2694 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2695 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geranCodecList_impl },
2700 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_) {
2701 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2702 T_utranCodecList_sequence, hf_index, ett_gsm_map_T_utranCodecList);
2706 static int dissect_utranCodecList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2707 return dissect_gsm_map_T_utranCodecList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_utranCodecList);
2710 static const ber_sequence_t T_iuSupportedCodecsList_sequence[] = {
2711 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_utranCodecList_impl },
2712 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2717 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_) {
2718 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2719 T_iuSupportedCodecsList_sequence, hf_index, ett_gsm_map_T_iuSupportedCodecsList);
2723 static int dissect_iuSupportedCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2724 return dissect_gsm_map_T_iuSupportedCodecsList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuSupportedCodecsList);
2729 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_) {
2730 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2736 static int dissect_uesbi_IuA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2737 return dissect_gsm_map_BIT_STRING_SIZE_1_128(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuA);
2739 static int dissect_uesbi_IuB_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2740 return dissect_gsm_map_BIT_STRING_SIZE_1_128(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_IuB);
2743 static const ber_sequence_t T_uesbi_Iu_sequence[] = {
2744 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuA_impl },
2745 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_IuB_impl },
2750 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_) {
2751 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2752 T_uesbi_Iu_sequence, hf_index, ett_gsm_map_T_uesbi_Iu);
2756 static int dissect_uesbi_Iu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2757 return dissect_gsm_map_T_uesbi_Iu(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uesbi_Iu);
2760 static const ber_sequence_t PrepareHandoverV3Arg_sequence[] = {
2761 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetCellId_impl },
2762 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ho_NumberNotRequired },
2763 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_targetRNCId_impl },
2764 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
2765 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multipleBearerRequested_impl },
2766 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
2767 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionInfo_impl },
2768 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionInfo_impl },
2769 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceInformation_impl },
2770 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedGSM_Algorithms_impl },
2771 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allowedUMTS_Algorithms_impl },
2772 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_radioResourceList_impl },
2773 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2774 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_Id_impl },
2775 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandover_impl },
2776 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ranap_ServiceHandover_impl },
2777 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bssmap_ServiceHandoverList_impl },
2778 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asciCallReference_impl },
2779 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geran_classmark_impl },
2780 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuCurrentlyUsedCodec_impl },
2781 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuSupportedCodecsList_impl },
2782 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rab_ConfigurationIndicator_impl },
2783 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uesbi_Iu_impl },
2788 dissect_gsm_map_PrepareHandoverV3Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2789 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2790 PrepareHandoverV3Arg_sequence, hf_index, ett_gsm_map_PrepareHandoverV3Arg);
2797 dissect_gsm_map_HandoverNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2798 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2803 static int dissect_handoverNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2804 return dissect_gsm_map_HandoverNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
2806 static int dissect_handoverNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2807 return dissect_gsm_map_HandoverNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_handoverNumber);
2810 static const ber_sequence_t PrepareHO_Res_sequence[] = {
2811 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
2812 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2817 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_) {
2818 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2819 PrepareHO_Res_sequence, hf_index, ett_gsm_map_PrepareHO_Res);
2824 static const ber_sequence_t T_relocationNumberList_item_sequence[] = {
2825 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_handoverNumber },
2826 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_rab_Id },
2831 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_) {
2832 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2833 T_relocationNumberList_item_sequence, hf_index, ett_gsm_map_T_relocationNumberList_item);
2837 static int dissect_relocationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2838 return dissect_gsm_map_T_relocationNumberList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_relocationNumberList_item);
2841 static const ber_sequence_t T_relocationNumberList_sequence_of[1] = {
2842 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_relocationNumberList_item },
2846 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_) {
2847 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2848 T_relocationNumberList_sequence_of, hf_index, ett_gsm_map_T_relocationNumberList);
2852 static int dissect_relocationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2853 return dissect_gsm_map_T_relocationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_relocationNumberList);
2859 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_) {
2860 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2864 static int dissect_multicallBearerInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2865 return dissect_gsm_map_INTEGER_1_7(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_multicallBearerInfo);
2868 static const ber_sequence_t T_selectedUMTS_Algorithms_sequence[] = {
2869 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_integrityProtectionAlgorithm_impl },
2870 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryptionAlgorithm_impl },
2871 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2876 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_) {
2877 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2878 T_selectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_T_selectedUMTS_Algorithms);
2882 static int dissect_selectedUMTS_Algorithms_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2883 return dissect_gsm_map_T_selectedUMTS_Algorithms(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedUMTS_Algorithms);
2886 static const ber_sequence_t T_chosenRadioResourceInformation_sequence[] = {
2887 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannelInfo_impl },
2888 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenSpeechVersion_impl },
2893 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_) {
2894 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2895 T_chosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_T_chosenRadioResourceInformation);
2899 static int dissect_chosenRadioResourceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2900 return dissect_gsm_map_T_chosenRadioResourceInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chosenRadioResourceInformation);
2903 static const ber_sequence_t T_iuAvailableCodecsList_sequence[] = {
2904 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_codec1_impl },
2905 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec2_impl },
2906 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec3_impl },
2907 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec4_impl },
2908 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec5_impl },
2909 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec6_impl },
2910 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec7_impl },
2911 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_codec8_impl },
2912 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2917 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_) {
2918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2919 T_iuAvailableCodecsList_sequence, hf_index, ett_gsm_map_T_iuAvailableCodecsList);
2923 static int dissect_iuAvailableCodecsList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2924 return dissect_gsm_map_T_iuAvailableCodecsList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_iuAvailableCodecsList);
2927 static const ber_sequence_t PrepareHandoverV3Res_sequence[] = {
2928 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_handoverNumber_impl },
2929 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relocationNumberList_impl },
2930 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_an_APDU_impl },
2931 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_multicallBearerInfo_impl },
2932 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_multipleBearerNotSupported },
2933 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedUMTS_Algorithms_impl },
2934 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenRadioResourceInformation_impl },
2935 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2936 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuSelectedCodec_impl },
2937 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iuAvailableCodecsList_impl },
2942 dissect_gsm_map_PrepareHandoverV3Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2943 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2944 PrepareHandoverV3Res_sequence, hf_index, ett_gsm_map_PrepareHandoverV3Res);
2949 static const ber_sequence_t SendEndSignalV9Arg_sequence[] = {
2950 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_an_APDU },
2951 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
2956 dissect_gsm_map_SendEndSignalV9Arg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2957 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2958 SendEndSignalV9Arg_sequence, hf_index, ett_gsm_map_SendEndSignalV9Arg);
2965 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_) {
2966 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2971 static int dissect_targetMSC_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2972 return dissect_gsm_map_T_targetMSC_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMSC_Number);
2975 static const ber_sequence_t PrepareSubsequentHO_Arg_sequence[] = {
2976 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetCellId },
2977 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_targetMSC_Number },
2978 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bss_APDU },
2983 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_) {
2984 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2985 PrepareSubsequentHO_Arg_sequence, hf_index, ett_gsm_map_PrepareSubsequentHO_Arg);
2992 dissect_gsm_map_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2993 offset = dissect_gsm_map_Imsi(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3001 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_) {
3002 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3006 static int dissect_numberOfRequestedVectors(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3007 return dissect_gsm_map_INTEGER_1_5(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfRequestedVectors);
3009 static int dissect_numberOfForwarding_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3010 return dissect_gsm_map_INTEGER_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberOfForwarding);
3012 static int dissect_ccbs_Index_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3013 return dissect_gsm_map_INTEGER_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Index);
3018 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_) {
3019 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3024 static int dissect_auts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3025 return dissect_gsm_map_OCTET_STRING_SIZE_14(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_auts);
3028 static const ber_sequence_t T_re_synchronisationInfo_sequence[] = {
3029 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3030 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_auts },
3035 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_) {
3036 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3037 T_re_synchronisationInfo_sequence, hf_index, ett_gsm_map_T_re_synchronisationInfo);
3041 static int dissect_re_synchronisationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3042 return dissect_gsm_map_T_re_synchronisationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_re_synchronisationInfo);
3046 static const value_string gsm_map_T_requestingNodeType_vals[] = {
3054 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_) {
3055 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3059 static int dissect_requestingNodeType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3060 return dissect_gsm_map_T_requestingNodeType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingNodeType);
3065 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_) {
3066 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3071 static int dissect_requestingPLMN_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3072 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestingPLMN_Id);
3074 static int dissect_groupid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3075 return dissect_gsm_map_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupid);
3077 static int dissect_groupId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3078 return dissect_gsm_map_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupId);
3080 static int dissect_lsaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3081 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentity);
3083 static int dissect_naea_PreferredCIC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3084 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCIC);
3086 static int dissect_lsaIdentityList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3087 return dissect_gsm_map_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentityList_item);
3089 static int dissect_selectedLSA_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3090 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSA_Id);
3092 static int dissect_selectedLSAIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3093 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_selectedLSAIdentity);
3095 static int dissect_ms_Classmark2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3096 return dissect_gsm_map_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ms_Classmark2);
3099 static const ber_sequence_t SendAuthenticationInfoArgV3_sequence[] = {
3100 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
3101 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberOfRequestedVectors },
3102 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_segmentationProhibited },
3103 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_immediateResponsePreferred_impl },
3104 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_re_synchronisationInfo },
3105 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3106 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingNodeType_impl },
3107 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestingPLMN_Id_impl },
3112 dissect_gsm_map_SendAuthenticationInfoArgV3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3113 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3114 SendAuthenticationInfoArgV3_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoArgV3);
3119 static const ber_sequence_t SendAuthenticationInfoRes_item_sequence[] = {
3120 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3121 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
3122 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3127 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_) {
3128 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3129 SendAuthenticationInfoRes_item_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoRes_item);
3133 static int dissect_SendAuthenticationInfoRes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3134 return dissect_gsm_map_SendAuthenticationInfoRes_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes_item);
3137 static const ber_sequence_t SendAuthenticationInfoRes_sequence_of[1] = {
3138 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SendAuthenticationInfoRes_item },
3142 dissect_gsm_map_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3143 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3144 SendAuthenticationInfoRes_sequence_of, hf_index, ett_gsm_map_SendAuthenticationInfoRes);
3149 static const ber_sequence_t T_tripletList_item_sequence[] = {
3150 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3151 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sres },
3152 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_kc },
3157 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_) {
3158 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3159 T_tripletList_item_sequence, hf_index, ett_gsm_map_T_tripletList_item);
3163 static int dissect_tripletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3164 return dissect_gsm_map_T_tripletList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_tripletList_item);
3167 static const ber_sequence_t T_tripletList_sequence_of[1] = {
3168 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_tripletList_item },
3172 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_) {
3173 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3174 T_tripletList_sequence_of, hf_index, ett_gsm_map_T_tripletList);
3178 static int dissect_tripletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3179 return dissect_gsm_map_T_tripletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tripletList);
3184 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_) {
3185 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3190 static int dissect_xres(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3191 return dissect_gsm_map_OCTET_STRING_SIZE_4_16(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_xres);
3194 static const ber_sequence_t T_quintupletList_item_sequence[] = {
3195 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_rand },
3196 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_xres },
3197 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ck },
3198 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ik },
3199 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_autn },
3204 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_) {
3205 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3206 T_quintupletList_item_sequence, hf_index, ett_gsm_map_T_quintupletList_item);
3210 static int dissect_quintupletList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3211 return dissect_gsm_map_T_quintupletList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_quintupletList_item);
3214 static const ber_sequence_t T_quintupletList_sequence_of[1] = {
3215 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_quintupletList_item },
3219 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_) {
3220 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3221 T_quintupletList_sequence_of, hf_index, ett_gsm_map_T_quintupletList);
3225 static int dissect_quintupletList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3226 return dissect_gsm_map_T_quintupletList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_quintupletList);
3230 static const value_string gsm_map_T_authenticationSetList_vals[] = {
3231 { 0, "tripletList" },
3232 { 1, "quintupletList" },
3236 static const ber_choice_t T_authenticationSetList_choice[] = {
3237 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_tripletList_impl },
3238 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_quintupletList_impl },
3239 { 0, 0, 0, 0, NULL }
3243 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_) {
3244 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3245 T_authenticationSetList_choice, hf_index, ett_gsm_map_T_authenticationSetList);
3249 static int dissect_authenticationSetList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3250 return dissect_gsm_map_T_authenticationSetList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_authenticationSetList);
3253 static const ber_sequence_t SendAuthenticationInfoV3Res_sequence[] = {
3254 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_authenticationSetList },
3255 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3260 dissect_gsm_map_SendAuthenticationInfoV3Res(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3261 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3262 SendAuthenticationInfoV3Res_sequence, hf_index, ett_gsm_map_SendAuthenticationInfoV3Res);
3269 dissect_gsm_map_Imei(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3270 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3275 static int dissect_imei_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3276 return dissect_gsm_map_Imei(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_imei);
3281 dissect_gsm_map_CheckIMEIArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3282 offset = dissect_gsm_map_Imei(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3288 static const value_string gsm_map_EquipmentStatus_vals[] = {
3289 { 0, "whiteListed" },
3290 { 1, "blackListed" },
3291 { 2, "greyListed" },
3297 dissect_gsm_map_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3298 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3304 static const value_string gsm_map_OverrideCategory_vals[] = {
3305 { 0, "overrideEnabled" },
3306 { 1, "overrideDisabled" },
3312 dissect_gsm_map_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3313 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3317 static int dissect_overrideCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3318 return dissect_gsm_map_OverrideCategory(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_overrideCategory);
3322 static const value_string gsm_map_BasicService_vals[] = {
3323 { 2, "bearerService" },
3324 { 3, "teleservice" },
3328 static const ber_choice_t BasicService_choice[] = {
3329 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_bearerService_impl },
3330 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_teleservice_impl },
3331 { 0, 0, 0, 0, NULL }
3335 dissect_gsm_map_BasicService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3336 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3337 BasicService_choice, hf_index, ett_gsm_map_BasicService);
3341 static int dissect_BasicServiceGroupList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3342 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceGroupList_item);
3344 static int dissect_basicService(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3345 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService);
3347 static int dissect_basicServiceGroup(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3348 return dissect_gsm_map_BasicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroup);
3351 static const ber_sequence_t BasicServiceGroupList_sequence_of[1] = {
3352 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceGroupList_item },
3356 dissect_gsm_map_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3357 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3358 BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_BasicServiceGroupList);
3362 static int dissect_basicServiceGroupList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3363 return dissect_gsm_map_BasicServiceGroupList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroupList);
3365 static int dissect_basicServiceGroupList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3366 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceGroupList);
3368 static int dissect_basicServiceCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3369 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceCriteria);
3371 static int dissect_basicServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3372 return dissect_gsm_map_BasicServiceGroupList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceList);
3376 static const value_string gsm_map_IntraCUG_Options_vals[] = {
3377 { 0, "noCUG-Restrictions" },
3378 { 1, "cugIC-CallBarred" },
3379 { 2, "cugOG-CallBarred" },
3385 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_) {
3386 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3390 static int dissect_intraCUG_Options(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3391 return dissect_gsm_map_IntraCUG_Options(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_intraCUG_Options);
3394 static const asn_namedbit Odb_GeneralData_bits[] = {
3395 { 0, &hf_gsm_map_Odb_GeneralData_allOGCallsBarred, -1, -1, NULL, NULL },
3396 { 1, &hf_gsm_map_Odb_GeneralData_internationalOGCallsBarred, -1, -1, NULL, NULL },
3397 { 2, &hf_gsm_map_Odb_GeneralData_internationalOGCallsNotToHPLMNCountryBarred, -1, -1, NULL, NULL },
3398 { 3, &hf_gsm_map_Odb_GeneralData_premiumRateInformationOGCallsBarred, -1, -1, NULL, NULL },
3399 { 4, &hf_gsm_map_Odb_GeneralData_premiumRateEntertainementOGCallsBarred, -1, -1, NULL, NULL },
3400 { 5, &hf_gsm_map_Odb_GeneralData_ssAccessBarred, -1, -1, NULL, NULL },
3401 { 6, &hf_gsm_map_Odb_GeneralData_interzonalOGCallsBarred, -1, -1, NULL, NULL },
3402 { 7, &hf_gsm_map_Odb_GeneralData_interzonalOGCallsNotToHPLMNCountryBarred, -1, -1, NULL, NULL },
3403 { 8, &hf_gsm_map_Odb_GeneralData_interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred, -1, -1, NULL, NULL },
3404 { 9, &hf_gsm_map_Odb_GeneralData_allECTBarred, -1, -1, NULL, NULL },
3405 { 10, &hf_gsm_map_Odb_GeneralData_chargeableECTBarred, -1, -1, NULL, NULL },
3406 { 11, &hf_gsm_map_Odb_GeneralData_internationalECTBarred, -1, -1, NULL, NULL },
3407 { 12, &hf_gsm_map_Odb_GeneralData_interzonalECTBarred, -1, -1, NULL, NULL },
3408 { 13, &hf_gsm_map_Odb_GeneralData_doublyChargeableECTBarred, -1, -1, NULL, NULL },
3409 { 14, &hf_gsm_map_Odb_GeneralData_multipleECTBarred, -1, -1, NULL, NULL },
3410 { 15, &hf_gsm_map_Odb_GeneralData_allPacketOrientedServicesBarred, -1, -1, NULL, NULL },
3411 { 16, &hf_gsm_map_Odb_GeneralData_roamerAccessToHPLMN_AP_Barred, -1, -1, NULL, NULL },
3412 { 17, &hf_gsm_map_Odb_GeneralData_roamerAccessToVPLMN_AP_Barred, -1, -1, NULL, NULL },
3413 { 18, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNOG_CallsBarred, -1, -1, NULL, NULL },
3414 { 19, &hf_gsm_map_Odb_GeneralData_allIC_CallsBarred, -1, -1, NULL, NULL },
3415 { 20, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNIC_CallsBarred, -1, -1, NULL, NULL },
3416 { 21, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, -1, -1, NULL, NULL },
3417 { 22, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_Barred, -1, -1, NULL, NULL },
3418 { 23, &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_CountryBarred, -1, -1, NULL, NULL },
3419 { 24, &hf_gsm_map_Odb_GeneralData_registrationAllCF_Barred, -1, -1, NULL, NULL },
3420 { 25, &hf_gsm_map_Odb_GeneralData_registrationCFNotToHPLMN_Barred, -1, -1, NULL, NULL },
3421 { 26, &hf_gsm_map_Odb_GeneralData_registrationInterzonalCF_Barred, -1, -1, NULL, NULL },
3422 { 27, &hf_gsm_map_Odb_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, -1, -1, NULL, NULL },
3423 { 28, &hf_gsm_map_Odb_GeneralData_registrationInternationalCF_Barred, -1, -1, NULL, NULL },
3424 { 0, NULL, 0, 0, NULL, NULL }
3428 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_) {
3429 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3430 Odb_GeneralData_bits, hf_index, ett_gsm_map_Odb_GeneralData,
3435 static int dissect_odb_GeneralData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3436 return dissect_gsm_map_Odb_GeneralData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
3438 static int dissect_odb_GeneralData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3439 return dissect_gsm_map_Odb_GeneralData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_GeneralData);
3442 static const asn_namedbit Odb_HPLMN_Data_bits[] = {
3443 { 0, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType1, -1, -1, NULL, NULL },
3444 { 1, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType2, -1, -1, NULL, NULL },
3445 { 2, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType3, -1, -1, NULL, NULL },
3446 { 3, &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType4, -1, -1, NULL, NULL },
3447 { 0, NULL, 0, 0, NULL, NULL }
3451 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_) {
3452 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3453 Odb_HPLMN_Data_bits, hf_index, ett_gsm_map_Odb_HPLMN_Data,
3458 static int dissect_odb_HPLMN_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3459 return dissect_gsm_map_Odb_HPLMN_Data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_HPLMN_Data);
3463 static const value_string gsm_map_SubscriberStatus_vals[] = {
3464 { 0, "serviceGranted" },
3465 { 1, "operatorDeterminedBarring" },
3471 dissect_gsm_map_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3472 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3476 static int dissect_subscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3477 return dissect_gsm_map_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberStatus);
3481 static const value_string gsm_map_BcsmTriggerDetectionPoint_vals[] = {
3482 { 2, "collectedInfo" },
3483 { 4, "routeSelectFailure" },
3484 { 12, "termAttemptAuthorized" },
3486 { 14, "tNoAnswer" },
3492 dissect_gsm_map_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3493 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3497 static int dissect_bcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3498 return dissect_gsm_map_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bcsmTriggerDetectionPoint);
3500 static int dissect_o_BcsmTriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3501 return dissect_gsm_map_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmTriggerDetectionPoint);
3507 dissect_gsm_map_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3508 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3512 static int dissect_serviceKey(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3513 return dissect_gsm_map_ServiceKey(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
3515 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3516 return dissect_gsm_map_ServiceKey(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceKey);
3521 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_) {
3522 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3527 static int dissect_gsmSCFAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3528 return dissect_gsm_map_GsmSCF_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCFAddress);
3530 static int dissect_gsmSCF_Address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3531 return dissect_gsm_map_GsmSCF_Address(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
3533 static int dissect_gsmSCF_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3534 return dissect_gsm_map_GsmSCF_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gsmSCF_Address);
3538 static const value_string gsm_map_DefaultCallHandling_vals[] = {
3539 { 0, "continueCall" },
3540 { 1, "releaseCall" },
3546 dissect_gsm_map_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3547 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3551 static int dissect_defaultCallHandling(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3552 return dissect_gsm_map_DefaultCallHandling(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
3554 static int dissect_defaultCallHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3555 return dissect_gsm_map_DefaultCallHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultCallHandling);
3558 static const ber_sequence_t BcsmCamelTDPData_sequence[] = {
3559 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_bcsmTriggerDetectionPoint },
3560 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
3561 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCFAddress_impl },
3562 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_defaultCallHandling_impl },
3563 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3568 dissect_gsm_map_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3569 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3570 BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_BcsmCamelTDPData);
3574 static int dissect_BcsmCamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3575 return dissect_gsm_map_BcsmCamelTDPData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BcsmCamelTDPDataList_item);
3578 static const ber_sequence_t BcsmCamelTDPDataList_sequence_of[1] = {
3579 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BcsmCamelTDPDataList_item },
3583 dissect_gsm_map_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3584 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3585 BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_BcsmCamelTDPDataList);
3589 static int dissect_o_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3590 return dissect_gsm_map_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDPDataList);
3592 static int dissect_t_BcsmCamelTDPDataList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3593 return dissect_gsm_map_BcsmCamelTDPDataList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BcsmCamelTDPDataList);
3599 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_) {
3600 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3604 static int dissect_camelCapabilityHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3605 return dissect_gsm_map_INTEGER_1_16(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelCapabilityHandling);
3608 static const ber_sequence_t O_CSI_sequence[] = {
3609 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDPDataList },
3610 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3611 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
3616 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_) {
3617 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3618 O_CSI_sequence, hf_index, ett_gsm_map_O_CSI);
3622 static int dissect_o_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3623 return dissect_gsm_map_O_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CSI);
3628 dissect_gsm_map_Msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3630 tvbuff_t *parameter_tvb;
3633 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3639 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
3640 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
3641 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
3643 digit_str = unpack_digits(parameter_tvb, 1);
3645 proto_tree_add_string(tree, hf_gsm_map_misdn_digits, parameter_tvb, 1, -1, digit_str);
3652 static int dissect_msisdn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3653 return dissect_gsm_map_Msisdn(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
3655 static int dissect_msisdn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3656 return dissect_gsm_map_Msisdn(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_msisdn);
3661 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_) {
3662 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3667 static int dissect_bearerServiceList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3668 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_bearerServiceList_item);
3670 static int dissect_routeingNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3671 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routeingNumber);
3673 static int dissect_ext_BearerService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3674 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_BearerService);
3676 static int dissect_ext_Teleservice_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3677 return dissect_gsm_map_OCTET_STRING_SIZE_1_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ext_Teleservice);
3680 static const ber_sequence_t bearerServiceList_sequence_of[1] = {
3681 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bearerServiceList_item },
3685 dissect_gsm_map_bearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3686 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3687 bearerServiceList_sequence_of, hf_index, ett_gsm_map_bearerServiceList);
3691 static int dissect_bearerServiceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3692 return dissect_gsm_map_bearerServiceList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_bearerServiceList);
3695 static const ber_sequence_t SEQUENCE_SIZE_1_20_OF_Teleservice_sequence_of[1] = {
3696 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_teleserviceList_item },
3700 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_) {
3701 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3702 SEQUENCE_SIZE_1_20_OF_Teleservice_sequence_of, hf_index, ett_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice);
3706 static int dissect_teleserviceList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3707 return dissect_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_teleserviceList);
3712 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_) {
3713 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3718 static int dissect_ss_Code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3719 return dissect_gsm_map_Ss_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
3721 static int dissect_ss_Code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3722 return dissect_gsm_map_Ss_Code(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
3727 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_) {
3729 tvbuff_t *parameter_tvb;
3732 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3737 octet = tvb_get_guint8(parameter_tvb,0);
3739 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
3740 if ((octet & 0x01)== 1)
3741 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
3743 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
3744 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
3745 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
3751 static int dissect_ss_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3752 return dissect_gsm_map_Ss_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
3754 static int dissect_ss_Status_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3755 return dissect_gsm_map_Ss_Status(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Status);
3760 dissect_gsm_map_ForwardedToNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3762 tvbuff_t *parameter_tvb;
3765 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3771 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
3772 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
3773 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
3775 digit_str = unpack_digits(parameter_tvb, 1);
3777 proto_tree_add_string(tree, hf_gsm_map_map_ForwardedToNumber_digits, parameter_tvb, 1, -1, digit_str);
3782 static int dissect_forwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3783 return dissect_gsm_map_ForwardedToNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToNumber);
3788 dissect_gsm_map_ForwardedToSubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3789 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3794 static int dissect_forwardedToSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3795 return dissect_gsm_map_ForwardedToSubaddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardedToSubaddress);
3800 dissect_gsm_map_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3801 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3806 static int dissect_forwardingOptions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3807 return dissect_gsm_map_ForwardingOptions(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingOptions);
3813 dissect_gsm_map_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3814 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3818 static int dissect_noReplyConditionTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3819 return dissect_gsm_map_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noReplyConditionTime);
3824 dissect_gsm_map_LongForwardedToNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3825 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3830 static int dissect_longForwardedToNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3831 return dissect_gsm_map_LongForwardedToNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_longForwardedToNumber);
3834 static const ber_sequence_t ForwardingFeatureList_sequence[] = {
3835 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
3836 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
3837 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
3838 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
3839 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
3840 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
3841 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3842 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longForwardedToNumber_impl },
3847 dissect_gsm_map_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3848 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3849 ForwardingFeatureList_sequence, hf_index, ett_gsm_map_ForwardingFeatureList);
3853 static int dissect_forwardingFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3854 return dissect_gsm_map_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList_item);
3856 static int dissect_forwardingFeatureList1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3857 return dissect_gsm_map_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList1);
3860 static const ber_sequence_t SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList_sequence_of[1] = {
3861 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList_item },
3865 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_) {
3866 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3867 SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList);
3871 static int dissect_forwardingFeatureList_1_32(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3872 return dissect_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList_1_32);
3875 static const ber_sequence_t ForwardingInfo_sequence[] = {
3876 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
3877 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList_1_32 },
3878 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3883 dissect_gsm_map_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3884 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3885 ForwardingInfo_sequence, hf_index, ett_gsm_map_ForwardingInfo);
3889 static int dissect_forwardingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3890 return dissect_gsm_map_ForwardingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingInfo);
3893 static const ber_sequence_t CallBarringFeatureList_item_sequence[] = {
3894 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
3895 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
3896 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3901 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_) {
3902 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3903 CallBarringFeatureList_item_sequence, hf_index, ett_gsm_map_CallBarringFeatureList_item);
3907 static int dissect_CallBarringFeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3908 return dissect_gsm_map_CallBarringFeatureList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_CallBarringFeatureList_item);
3911 static const ber_sequence_t CallBarringFeatureList_sequence_of[1] = {
3912 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallBarringFeatureList_item },
3916 dissect_gsm_map_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3917 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3918 CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_CallBarringFeatureList);
3922 static int dissect_callBarringFeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3923 return dissect_gsm_map_CallBarringFeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringFeatureList);
3926 static const ber_sequence_t CallBarringInfo_sequence[] = {
3927 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
3928 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_callBarringFeatureList },
3929 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
3934 dissect_gsm_map_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3935 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3936 CallBarringInfo_sequence, hf_index, ett_gsm_map_CallBarringInfo);
3940 static int dissect_callBarringInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3941 return dissect_gsm_map_CallBarringInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringInfo);
3947 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_) {
3948 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3952 static int dissect_cug_Index(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3953 return dissect_gsm_map_INTEGER_0_32767(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Index);
3955 static int dissect_preferentialCUG_Indicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3956 return dissect_gsm_map_INTEGER_0_32767(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_preferentialCUG_Indicator);
3958 static int dissect_ageOfLocationInformation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3959 return dissect_gsm_map_INTEGER_0_32767(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationInformation);
3961 static int dissect_ageOfLocationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3962 return dissect_gsm_map_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationInformation);
3964 static int dissect_ageOfLocationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3965 return dissect_gsm_map_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ageOfLocationEstimate);
3968 static const ber_sequence_t T_cug_SubscriptionList_item_sequence[] = {
3969 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cug_Index },
3970 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
3971 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_intraCUG_Options },
3972 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
3973 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
3978 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_) {
3979 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3980 T_cug_SubscriptionList_item_sequence, hf_index, ett_gsm_map_T_cug_SubscriptionList_item);
3984 static int dissect_cug_SubscriptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3985 return dissect_gsm_map_T_cug_SubscriptionList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_SubscriptionList_item);
3988 static const ber_sequence_t T_cug_SubscriptionList_sequence_of[1] = {
3989 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_SubscriptionList_item },
3993 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_) {
3994 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3995 T_cug_SubscriptionList_sequence_of, hf_index, ett_gsm_map_T_cug_SubscriptionList);
3999 static int dissect_cug_SubscriptionList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4000 return dissect_gsm_map_T_cug_SubscriptionList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_SubscriptionList);
4003 static const ber_sequence_t T_cug_FeatureList_item_sequence[] = {
4004 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
4005 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_preferentialCUG_Indicator },
4006 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_interCUG_Restrictions },
4007 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4012 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_) {
4013 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4014 T_cug_FeatureList_item_sequence, hf_index, ett_gsm_map_T_cug_FeatureList_item);
4018 static int dissect_cug_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4019 return dissect_gsm_map_T_cug_FeatureList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_FeatureList_item);
4022 static const ber_sequence_t T_cug_FeatureList_sequence_of[1] = {
4023 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_FeatureList_item },
4027 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_) {
4028 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4029 T_cug_FeatureList_sequence_of, hf_index, ett_gsm_map_T_cug_FeatureList);
4033 static int dissect_cug_FeatureList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4034 return dissect_gsm_map_T_cug_FeatureList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_FeatureList);
4037 static const ber_sequence_t T_cug_Info_sequence[] = {
4038 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cug_SubscriptionList },
4039 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_FeatureList },
4040 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4045 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_) {
4046 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4047 T_cug_Info_sequence, hf_index, ett_gsm_map_T_cug_Info);
4051 static int dissect_cug_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4052 return dissect_gsm_map_T_cug_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_Info);
4056 static const value_string gsm_map_CliRestrictionOption_vals[] = {
4058 { 1, "temporaryDefaultRestricted" },
4059 { 2, "temporaryDefaultAllowed" },
4065 dissect_gsm_map_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4066 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4070 static int dissect_cliRestrictionOption_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4071 return dissect_gsm_map_CliRestrictionOption(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cliRestrictionOption);
4075 static const value_string gsm_map_Ss_SubscriptionOption_vals[] = {
4076 { 2, "cliRestrictionOption" },
4077 { 1, "overrideCategory" },
4081 static const ber_choice_t Ss_SubscriptionOption_choice[] = {
4082 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cliRestrictionOption_impl },
4083 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_overrideCategory_impl },
4084 { 0, 0, 0, 0, NULL }
4088 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_) {
4089 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4090 Ss_SubscriptionOption_choice, hf_index, ett_gsm_map_Ss_SubscriptionOption);
4094 static int dissect_ss_SubscriptionOption(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4095 return dissect_gsm_map_Ss_SubscriptionOption(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_SubscriptionOption);
4101 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_) {
4102 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4106 static int dissect_maximumentitledPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4107 return dissect_gsm_map_INTEGER_0_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_maximumentitledPriority);
4109 static int dissect_defaultPriority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4110 return dissect_gsm_map_INTEGER_0_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
4112 static int dissect_defaultPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4113 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultPriority);
4115 static int dissect_nsapi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4116 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_nsapi);
4118 static int dissect_maximumEntitledPriority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4119 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_maximumEntitledPriority);
4121 static int dissect_groupKeyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4122 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_groupKeyNumber);
4124 static int dissect_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4125 return dissect_gsm_map_INTEGER_0_15(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_priority);
4128 static const ber_sequence_t Ss_Data_sequence[] = {
4129 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4130 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
4131 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ss_SubscriptionOption },
4132 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_basicServiceGroupList },
4133 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
4134 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4139 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_) {
4140 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4141 Ss_Data_sequence, hf_index, ett_gsm_map_Ss_Data);
4145 static int dissect_ss_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4146 return dissect_gsm_map_Ss_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Data);
4149 static const ber_sequence_t T_emlpp_Info_sequence[] = {
4150 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_maximumentitledPriority },
4151 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_defaultPriority },
4152 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4157 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_) {
4158 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4159 T_emlpp_Info_sequence, hf_index, ett_gsm_map_T_emlpp_Info);
4163 static int dissect_emlpp_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4164 return dissect_gsm_map_T_emlpp_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_emlpp_Info);
4168 static const value_string gsm_map_T_provisionedSS_item_vals[] = {
4169 { 0, "forwardingInfo" },
4170 { 1, "callBarringInfo" },
4173 { 4, "emlpp-Info" },
4177 static const ber_choice_t T_provisionedSS_item_choice[] = {
4178 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfo_impl },
4179 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfo_impl },
4180 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cug_Info_impl },
4181 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ss_Data_impl },
4182 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_emlpp_Info_impl },
4183 { 0, 0, 0, 0, NULL }
4187 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_) {
4188 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4189 T_provisionedSS_item_choice, hf_index, ett_gsm_map_T_provisionedSS_item);
4193 static int dissect_provisionedSS_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4194 return dissect_gsm_map_T_provisionedSS_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_provisionedSS_item);
4197 static const ber_sequence_t T_provisionedSS_sequence_of[1] = {
4198 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_provisionedSS_item },
4202 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_) {
4203 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4204 T_provisionedSS_sequence_of, hf_index, ett_gsm_map_T_provisionedSS);
4208 static int dissect_provisionedSS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4209 return dissect_gsm_map_T_provisionedSS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_provisionedSS);
4212 static const ber_sequence_t Odb_data_sequence[] = {
4213 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_odb_GeneralData },
4214 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_odb_HPLMN_Data },
4215 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4220 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_) {
4221 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4222 Odb_data_sequence, hf_index, ett_gsm_map_Odb_data);
4226 static int dissect_odb_Data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4227 return dissect_gsm_map_Odb_data(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
4229 static int dissect_odb_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4230 return dissect_gsm_map_Odb_data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Data);
4232 static int dissect_odb_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4233 return dissect_gsm_map_Odb_data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_data);
4238 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_) {
4239 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4244 static int dissect_regionalSubscriptionData_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4245 return dissect_gsm_map_OCTET_STRING_SIZE_2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionData_item);
4247 static int dissect_pdp_Type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4248 return dissect_gsm_map_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Type);
4250 static int dissect_regionalSubscriptionIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4251 return dissect_gsm_map_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionIdentifier);
4253 static int dissect_chargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4254 return dissect_gsm_map_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_chargingCharacteristics);
4257 static const ber_sequence_t T_regionalSubscriptionData_sequence_of[1] = {
4258 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_regionalSubscriptionData_item },
4262 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_) {
4263 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4264 T_regionalSubscriptionData_sequence_of, hf_index, ett_gsm_map_T_regionalSubscriptionData);
4268 static int dissect_regionalSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4269 return dissect_gsm_map_T_regionalSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionData);
4272 static const ber_sequence_t T_vbsSubscriptionData_item_sequence[] = {
4273 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupid },
4274 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_broadcastInitEntitlement },
4275 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4280 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_) {
4281 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4282 T_vbsSubscriptionData_item_sequence, hf_index, ett_gsm_map_T_vbsSubscriptionData_item);
4286 static int dissect_vbsSubscriptionData_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4287 return dissect_gsm_map_T_vbsSubscriptionData_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vbsSubscriptionData_item);
4290 static const ber_sequence_t T_vbsSubscriptionData_sequence_of[1] = {
4291 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vbsSubscriptionData_item },
4295 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_) {
4296 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4297 T_vbsSubscriptionData_sequence_of, hf_index, ett_gsm_map_T_vbsSubscriptionData);
4301 static int dissect_vbsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4302 return dissect_gsm_map_T_vbsSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vbsSubscriptionData);
4305 static const ber_sequence_t T_vgcsSubscriptionData_item_sequence[] = {
4306 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupId },
4307 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4312 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_) {
4313 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4314 T_vgcsSubscriptionData_item_sequence, hf_index, ett_gsm_map_T_vgcsSubscriptionData_item);
4318 static int dissect_vgcsSubscriptionData_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4319 return dissect_gsm_map_T_vgcsSubscriptionData_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsSubscriptionData_item);
4322 static const ber_sequence_t T_vgcsSubscriptionData_sequence_of[1] = {
4323 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vgcsSubscriptionData_item },
4327 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_) {
4328 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4329 T_vgcsSubscriptionData_sequence_of, hf_index, ett_gsm_map_T_vgcsSubscriptionData);
4333 static int dissect_vgcsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4334 return dissect_gsm_map_T_vgcsSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vgcsSubscriptionData);
4337 static const ber_sequence_t T_ss_EventList_sequence_of[1] = {
4338 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_EventList_item },
4342 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_) {
4343 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4344 T_ss_EventList_sequence_of, hf_index, ett_gsm_map_T_ss_EventList);
4348 static int dissect_ss_EventList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4349 return dissect_gsm_map_T_ss_EventList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventList);
4352 static const ber_sequence_t Ss_CamelData_sequence[] = {
4353 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_EventList },
4354 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
4355 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4360 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_) {
4361 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4362 Ss_CamelData_sequence, hf_index, ett_gsm_map_Ss_CamelData);
4366 static int dissect_ss_CamelData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4367 return dissect_gsm_map_Ss_CamelData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CamelData);
4370 static const ber_sequence_t T_ss_CSI_sequence[] = {
4371 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_CamelData },
4372 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
4377 dissect_gsm_map_T_ss_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4378 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4379 T_ss_CSI_sequence, hf_index, ett_gsm_map_T_ss_CSI);
4383 static int dissect_ss_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4384 return dissect_gsm_map_T_ss_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CSI);
4388 static const value_string gsm_map_MatchType_vals[] = {
4389 { 0, "inhibiting" },
4396 dissect_gsm_map_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4397 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4401 static int dissect_matchType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4402 return dissect_gsm_map_MatchType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_matchType);
4407 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_) {
4408 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4413 static int dissect_destinationNumberList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4414 return dissect_gsm_map_T_destinationNumberList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberList_item);
4417 static const ber_sequence_t T_destinationNumberList_sequence_of[1] = {
4418 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_destinationNumberList_item },
4422 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_) {
4423 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4424 T_destinationNumberList_sequence_of, hf_index, ett_gsm_map_T_destinationNumberList);
4428 static int dissect_destinationNumberList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4429 return dissect_gsm_map_T_destinationNumberList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberList);
4435 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_) {
4436 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4440 static int dissect_destinationNumberLengthList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4441 return dissect_gsm_map_INTEGER_1_15(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberLengthList_item);
4444 static const ber_sequence_t T_destinationNumberLengthList_sequence_of[1] = {
4445 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_destinationNumberLengthList_item },
4449 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_) {
4450 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4451 T_destinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_T_destinationNumberLengthList);
4455 static int dissect_destinationNumberLengthList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4456 return dissect_gsm_map_T_destinationNumberLengthList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberLengthList);
4459 static const ber_sequence_t DestinationNumberCriteria_sequence[] = {
4460 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_matchType_impl },
4461 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberList_impl },
4462 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberLengthList_impl },
4467 dissect_gsm_map_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4468 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4469 DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_DestinationNumberCriteria);
4473 static int dissect_destinationNumberCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4474 return dissect_gsm_map_DestinationNumberCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_destinationNumberCriteria);
4478 static const value_string gsm_map_CallTypeCriteria_vals[] = {
4480 { 1, "notForwarded" },
4486 dissect_gsm_map_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4487 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4491 static int dissect_callTypeCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4492 return dissect_gsm_map_CallTypeCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callTypeCriteria);
4495 static const ber_sequence_t O_BcsmCamelTDP_CriteriaList_item_sequence[] = {
4496 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint },
4497 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
4498 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria_impl },
4499 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
4504 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_) {
4505 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4506 O_BcsmCamelTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_O_BcsmCamelTDP_CriteriaList_item);
4510 static int dissect_O_BcsmCamelTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4511 return dissect_gsm_map_O_BcsmCamelTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_O_BcsmCamelTDP_CriteriaList_item);
4514 static const ber_sequence_t O_BcsmCamelTDP_CriteriaList_sequence_of[1] = {
4515 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_O_BcsmCamelTDP_CriteriaList_item },
4519 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_) {
4520 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4521 O_BcsmCamelTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_O_BcsmCamelTDP_CriteriaList);
4525 static int dissect_o_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4526 return dissect_gsm_map_O_BcsmCamelTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDP_CriteriaList);
4529 static const ber_sequence_t T_vlrCamelSubscriptionInfo_sequence[] = {
4530 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
4531 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4532 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI_impl },
4533 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
4534 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
4539 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_) {
4540 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4541 T_vlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_T_vlrCamelSubscriptionInfo);
4545 static int dissect_vlrCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4546 return dissect_gsm_map_T_vlrCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vlrCamelSubscriptionInfo);
4549 static const ber_sequence_t Naea_PreferredCI_sequence[] = {
4550 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_naea_PreferredCIC_impl },
4551 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4556 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_) {
4557 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4558 Naea_PreferredCI_sequence, hf_index, ett_gsm_map_Naea_PreferredCI);
4562 static int dissect_naea_PreferredCI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4563 return dissect_gsm_map_Naea_PreferredCI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_naea_PreferredCI);
4569 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_) {
4570 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4574 static int dissect_pdp_ContextId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4575 return dissect_gsm_map_INTEGER_1_50(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextId);
4577 static int dissect_contextIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4578 return dissect_gsm_map_INTEGER_1_50(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_contextIdList_item);
4580 static int dissect_pdp_ContextIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4581 return dissect_gsm_map_INTEGER_1_50(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_ContextIdentifier);
4586 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_) {
4587 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4592 static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4593 return dissect_gsm_map_OCTET_STRING_SIZE_1_16(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_pdp_Address);
4598 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_) {
4599 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4604 static int dissect_qos_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4605 return dissect_gsm_map_Qos_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos_Subscribed);
4610 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_) {
4611 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4616 static int dissect_apn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4617 return dissect_gsm_map_OCTET_STRING_SIZE_2_63(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn);
4619 static int dissect_apn_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4620 return dissect_gsm_map_OCTET_STRING_SIZE_2_63(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_Subscribed);
4622 static int dissect_apn_InUse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4623 return dissect_gsm_map_OCTET_STRING_SIZE_2_63(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_apn_InUse);
4626 static const ber_sequence_t T_gprsDataList_item_sequence[] = {
4627 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pdp_ContextId },
4628 { BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
4629 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
4630 { BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
4631 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vplmnAddressAllowed_impl },
4632 { BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_apn_impl },
4633 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4638 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_) {
4639 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4640 T_gprsDataList_item_sequence, hf_index, ett_gsm_map_T_gprsDataList_item);
4644 static int dissect_gprsDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4645 return dissect_gsm_map_T_gprsDataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsDataList_item);
4648 static const ber_sequence_t T_gprsDataList_sequence_of[1] = {
4649 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprsDataList_item },
4653 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_) {
4654 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4655 T_gprsDataList_sequence_of, hf_index, ett_gsm_map_T_gprsDataList);
4659 static int dissect_gprsDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4660 return dissect_gsm_map_T_gprsDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsDataList);
4663 static const ber_sequence_t T_gprsSubscriptionData_sequence[] = {
4664 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
4665 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprsDataList_impl },
4666 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4671 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_) {
4672 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4673 T_gprsSubscriptionData_sequence, hf_index, ett_gsm_map_T_gprsSubscriptionData);
4677 static int dissect_gprsSubscriptionData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4678 return dissect_gsm_map_T_gprsSubscriptionData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionData);
4682 static const value_string gsm_map_T_networkAccessMode_vals[] = {
4683 { 0, "bothMSCAndSGSN" },
4691 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_) {
4692 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4696 static int dissect_networkAccessMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4697 return dissect_gsm_map_T_networkAccessMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkAccessMode);
4701 static const value_string gsm_map_T_lsaOnlyAccessIndicator_vals[] = {
4702 { 0, "accessOutsideLSAsAllowed" },
4703 { 1, "accessOutsideLSAsRestricted" },
4709 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_) {
4710 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4714 static int dissect_lsaOnlyAccessIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4715 return dissect_gsm_map_T_lsaOnlyAccessIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaOnlyAccessIndicator);
4718 static const ber_sequence_t T_lsaDataList_item_sequence[] = {
4719 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lsaIdentity_impl },
4720 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lsaAttributes_impl },
4721 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaActiveModeIndicator_impl },
4722 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4727 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_) {
4728 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4729 T_lsaDataList_item_sequence, hf_index, ett_gsm_map_T_lsaDataList_item);
4733 static int dissect_lsaDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4734 return dissect_gsm_map_T_lsaDataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaDataList_item);
4737 static const ber_sequence_t T_lsaDataList_sequence_of[1] = {
4738 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lsaDataList_item },
4742 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_) {
4743 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4744 T_lsaDataList_sequence_of, hf_index, ett_gsm_map_T_lsaDataList);
4748 static int dissect_lsaDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4749 return dissect_gsm_map_T_lsaDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaDataList);
4752 static const ber_sequence_t T_lsaInformation_sequence[] = {
4753 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_completeDataListIncluded },
4754 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaOnlyAccessIndicator_impl },
4755 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaDataList_impl },
4756 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4761 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_) {
4762 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4763 T_lsaInformation_sequence, hf_index, ett_gsm_map_T_lsaInformation);
4767 static int dissect_lsaInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4768 return dissect_gsm_map_T_lsaInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformation);
4773 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_) {
4774 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4779 static int dissect_gmlc_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4780 return dissect_gsm_map_T_gmlc_List_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_List_item);
4783 static const ber_sequence_t T_gmlc_List_sequence_of[1] = {
4784 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gmlc_List_item },
4788 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_) {
4789 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4790 T_gmlc_List_sequence_of, hf_index, ett_gsm_map_T_gmlc_List);
4794 static int dissect_gmlc_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4795 return dissect_gsm_map_T_gmlc_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_List);
4799 static const value_string gsm_map_NotificationToMSUser_vals[] = {
4800 { 0, "notifyLocationAllowed" },
4801 { 1, "notifyAndVerify-LocationAllowedIfNoResponse" },
4802 { 2, "notifyAndVerify-LocationNotAllowedIfNoResponse" },
4808 dissect_gsm_map_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4809 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4813 static int dissect_notificationToMSUser_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4814 return dissect_gsm_map_NotificationToMSUser(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_notificationToMSUser);
4819 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_) {
4820 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4825 static int dissect_externalAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4826 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalAddress);
4828 static int dissect_omc_Id_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4829 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_omc_Id);
4831 static int dissect_ss_EventSpecification_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4832 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification_item);
4834 static int dissect_locationEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4835 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
4837 static int dissect_locationEstimate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4838 return dissect_gsm_map_OCTET_STRING_SIZE_1_20(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimate);
4841 static const ber_sequence_t T_clientIdentity_sequence[] = {
4842 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalAddress_impl },
4843 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4848 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_) {
4849 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4850 T_clientIdentity_sequence, hf_index, ett_gsm_map_T_clientIdentity);
4854 static int dissect_clientIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4855 return dissect_gsm_map_T_clientIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_clientIdentity);
4859 static const value_string gsm_map_T_gmlc_Restriction_vals[] = {
4861 { 1, "home-Country" },
4867 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_) {
4868 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4872 static int dissect_gmlc_Restriction_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4873 return dissect_gsm_map_T_gmlc_Restriction(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmlc_Restriction);
4876 static const ber_sequence_t T_externalClientList_item_sequence[] = {
4877 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_clientIdentity },
4878 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_Restriction_impl },
4879 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
4880 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4885 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_) {
4886 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4887 T_externalClientList_item_sequence, hf_index, ett_gsm_map_T_externalClientList_item);
4891 static int dissect_externalClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4892 return dissect_gsm_map_T_externalClientList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_externalClientList_item);
4895 static const ber_sequence_t T_externalClientList_sequence_of[1] = {
4896 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_externalClientList_item },
4900 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_) {
4901 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4902 T_externalClientList_sequence_of, hf_index, ett_gsm_map_T_externalClientList);
4906 static int dissect_externalClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4907 return dissect_gsm_map_T_externalClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_externalClientList);
4911 static const value_string gsm_map_T_plmnClientList_item_vals[] = {
4912 { 0, "broadcastService" },
4913 { 1, "o-andM-HPLMN" },
4914 { 2, "o-andM-VPLMN" },
4915 { 3, "anonymousLocation" },
4916 { 4, "targetMSsubscribedService" },
4922 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_) {
4923 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4927 static int dissect_plmnClientList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4928 return dissect_gsm_map_T_plmnClientList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_plmnClientList_item);
4931 static const ber_sequence_t T_plmnClientList_sequence_of[1] = {
4932 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_plmnClientList_item },
4936 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_) {
4937 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4938 T_plmnClientList_sequence_of, hf_index, ett_gsm_map_T_plmnClientList);
4942 static int dissect_plmnClientList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4943 return dissect_gsm_map_T_plmnClientList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_plmnClientList);
4946 static const ber_sequence_t T_lcs_PrivacyExceptionList_item_sequence[] = {
4947 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4948 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
4949 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToMSUser_impl },
4950 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalClientList_impl },
4951 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_plmnClientList_impl },
4952 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4957 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_) {
4958 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4959 T_lcs_PrivacyExceptionList_item_sequence, hf_index, ett_gsm_map_T_lcs_PrivacyExceptionList_item);
4963 static int dissect_lcs_PrivacyExceptionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4964 return dissect_gsm_map_T_lcs_PrivacyExceptionList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyExceptionList_item);
4967 static const ber_sequence_t T_lcs_PrivacyExceptionList_sequence_of[1] = {
4968 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcs_PrivacyExceptionList_item },
4972 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_) {
4973 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4974 T_lcs_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_T_lcs_PrivacyExceptionList);
4978 static int dissect_lcs_PrivacyExceptionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4979 return dissect_gsm_map_T_lcs_PrivacyExceptionList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_PrivacyExceptionList);
4982 static const ber_sequence_t T_molr_List_item_sequence[] = {
4983 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
4984 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
4985 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
4990 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_) {
4991 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4992 T_molr_List_item_sequence, hf_index, ett_gsm_map_T_molr_List_item);
4996 static int dissect_molr_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4997 return dissect_gsm_map_T_molr_List_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_molr_List_item);
5000 static const ber_sequence_t T_molr_List_sequence_of[1] = {
5001 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_molr_List_item },
5005 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_) {
5006 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5007 T_molr_List_sequence_of, hf_index, ett_gsm_map_T_molr_List);
5011 static int dissect_molr_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5012 return dissect_gsm_map_T_molr_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_molr_List);
5015 static const ber_sequence_t T_lcsInformation_sequence[] = {
5016 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_List_impl },
5017 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_PrivacyExceptionList_impl },
5018 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_molr_List_impl },
5023 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_) {
5024 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5025 T_lcsInformation_sequence, hf_index, ett_gsm_map_T_lcsInformation);
5029 static int dissect_lcsInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5030 return dissect_gsm_map_T_lcsInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsInformation);
5033 static const ber_sequence_t InsertSubscriberDataArg_sequence[] = {
5034 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5035 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
5036 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_category_impl },
5037 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberStatus_impl },
5038 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerServiceList_impl },
5039 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
5040 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_provisionedSS_impl },
5041 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Data_impl },
5042 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
5043 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionData_impl },
5044 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsSubscriptionData_impl },
5045 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsSubscriptionData_impl },
5046 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlrCamelSubscriptionInfo_impl },
5047 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5048 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
5049 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSubscriptionData_impl },
5050 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsupportedFeature_impl },
5051 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkAccessMode_impl },
5052 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lsaInformation_impl },
5053 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmu_Indicator_impl },
5054 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsInformation_impl },
5059 dissect_gsm_map_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5060 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5061 InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_InsertSubscriberDataArg);
5066 static const ber_sequence_t ss_List_sequence_of[1] = {
5067 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_List_item },
5071 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_) {
5072 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5073 ss_List_sequence_of, hf_index, ett_gsm_map_ss_List);
5077 static int dissect_ss_List_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5078 return dissect_gsm_map_ss_List(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_List);
5082 static const value_string gsm_map_RegionalSubscriptionResponse_vals[] = {
5083 { 0, "networkNodeAreaRestricted" },
5084 { 1, "tooManyZoneCodes" },
5085 { 2, "zoneCodesConflict" },
5086 { 3, "regionalSubscNotSupported" },
5092 dissect_gsm_map_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5093 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5097 static int dissect_regionalSubscriptionResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5098 return dissect_gsm_map_RegionalSubscriptionResponse(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_regionalSubscriptionResponse);
5101 static const ber_sequence_t InsertSubscriberDataRes_sequence[] = {
5102 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teleserviceList_impl },
5103 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bearerServiceList_impl },
5104 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
5105 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_GeneralData_impl },
5106 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
5107 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
5108 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5113 dissect_gsm_map_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5114 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5115 InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_InsertSubscriberDataRes);
5120 static const ber_sequence_t T_contextIdList_sequence_of[1] = {
5121 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_contextIdList_item },
5125 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_) {
5126 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5127 T_contextIdList_sequence_of, hf_index, ett_gsm_map_T_contextIdList);
5131 static int dissect_contextIdList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5132 return dissect_gsm_map_T_contextIdList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_contextIdList);
5136 static const value_string gsm_map_T_gprsSubscriptionDataWithdraw_vals[] = {
5137 { 0, "allGPRSData" },
5138 { 1, "contextIdList" },
5142 static const ber_choice_t T_gprsSubscriptionDataWithdraw_choice[] = {
5143 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allGPRSData },
5144 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contextIdList },
5145 { 0, 0, 0, 0, NULL }
5149 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_) {
5150 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5151 T_gprsSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_T_gprsSubscriptionDataWithdraw);
5155 static int dissect_gprsSubscriptionDataWithdraw(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5156 return dissect_gsm_map_T_gprsSubscriptionDataWithdraw(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprsSubscriptionDataWithdraw);
5159 static const ber_sequence_t T_lsaIdentityList_sequence_of[1] = {
5160 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_lsaIdentityList_item },
5164 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_) {
5165 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5166 T_lsaIdentityList_sequence_of, hf_index, ett_gsm_map_T_lsaIdentityList);
5170 static int dissect_lsaIdentityList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5171 return dissect_gsm_map_T_lsaIdentityList(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaIdentityList);
5175 static const value_string gsm_map_T_lsaInformationWithdraw_vals[] = {
5176 { 0, "allLSAData" },
5177 { 1, "lsaIdentityList" },
5181 static const ber_choice_t T_lsaInformationWithdraw_choice[] = {
5182 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allLSAData },
5183 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lsaIdentityList },
5184 { 0, 0, 0, 0, NULL }
5188 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_) {
5189 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5190 T_lsaInformationWithdraw_choice, hf_index, ett_gsm_map_T_lsaInformationWithdraw);
5194 static int dissect_lsaInformationWithdraw(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5195 return dissect_gsm_map_T_lsaInformationWithdraw(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lsaInformationWithdraw);
5198 static const ber_sequence_t DeleteSubscriberDataArg_sequence[] = {
5199 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5200 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceList_impl },
5201 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
5202 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictionDueToUnsupportedFeature_impl },
5203 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionIdentifier_impl },
5204 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vbsGroupIndication_impl },
5205 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vgcsGroupIndication_impl },
5206 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelSubscriptionInfoWithdraw_impl },
5207 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5208 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_gprsSubscriptionDataWithdraw },
5209 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_roamingRestrictedInSgsnDueToUnsuppportedFeature_impl },
5210 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_lsaInformationWithdraw },
5211 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmlc_ListWithdraw_impl },
5216 dissect_gsm_map_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5217 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5218 DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataArg);
5223 static const ber_sequence_t DeleteSubscriberDataRes_sequence[] = {
5224 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_regionalSubscriptionResponse_impl },
5225 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5230 dissect_gsm_map_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5231 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5232 DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_DeleteSubscriberDataRes);
5239 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_) {
5240 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5245 static int dissect_hlr_List_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5246 return dissect_gsm_map_OCTET_STRING_SIZE_3_8(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_List_item);
5249 static const ber_sequence_t T_hlr_List_sequence_of[1] = {
5250 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_List_item },
5254 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_) {
5255 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5256 T_hlr_List_sequence_of, hf_index, ett_gsm_map_T_hlr_List);
5260 static int dissect_hlr_List(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5261 return dissect_gsm_map_T_hlr_List(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_hlr_List);
5264 static const ber_sequence_t ResetArg_sequence[] = {
5265 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
5266 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_hlr_List },
5271 dissect_gsm_map_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5272 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5273 ResetArg_sequence, hf_index, ett_gsm_map_ResetArg);
5278 static const ber_sequence_t RestoreDataArg_sequence[] = {
5279 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
5280 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
5281 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5282 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_Capability_impl },
5287 dissect_gsm_map_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5288 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5289 RestoreDataArg_sequence, hf_index, ett_gsm_map_RestoreDataArg);
5294 static const ber_sequence_t RestoreDataRes_sequence[] = {
5295 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
5296 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_msNotReachable },
5297 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5302 dissect_gsm_map_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5303 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5304 RestoreDataRes_sequence, hf_index, ett_gsm_map_RestoreDataRes);
5311 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_) {
5312 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5317 static int dissect_traceReference_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5318 return dissect_gsm_map_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceReference);
5320 static int dissect_transactionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5321 return dissect_gsm_map_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_transactionId);
5327 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_) {
5328 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5332 static int dissect_traceType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5333 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_traceType);
5335 static int dissect_absentSubscriberDiagnosticSM(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5336 return dissect_gsm_map_INTEGER_0_255(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
5338 static int dissect_absentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5339 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberDiagnosticSM);
5341 static int dissect_additionalAbsentSubscriberDiagnosticSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5342 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalAbsentSubscriberDiagnosticSM);
5344 static int dissect_mobileNotReachableReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5345 return dissect_gsm_map_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mobileNotReachableReason);
5348 static const ber_sequence_t ActivateTraceModeArg_sequence[] = {
5349 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5350 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
5351 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_traceType_impl },
5352 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_omc_Id_impl },
5353 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5358 dissect_gsm_map_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5359 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5360 ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_ActivateTraceModeArg);
5365 static const ber_sequence_t ActivateTraceModeRes_sequence[] = {
5366 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5371 dissect_gsm_map_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5372 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5373 ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_ActivateTraceModeRes);
5378 static const ber_sequence_t DeactivateTraceModeArg_sequence[] = {
5379 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
5380 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_traceReference_impl },
5381 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5386 dissect_gsm_map_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5387 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5388 DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_DeactivateTraceModeArg);
5393 static const ber_sequence_t DeactivateTraceModeRes_sequence[] = {
5394 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5399 dissect_gsm_map_DeactivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5400 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5401 DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_DeactivateTraceModeRes);
5406 static const ber_sequence_t Cug_CheckInfo_sequence[] = {
5407 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cug_Interlock },
5408 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_OutgoingAccess },
5409 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5414 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_) {
5415 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5416 Cug_CheckInfo_sequence, hf_index, ett_gsm_map_Cug_CheckInfo);
5420 static int dissect_cug_CheckInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5421 return dissect_gsm_map_Cug_CheckInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_cug_CheckInfo);
5425 static const value_string gsm_map_T_interrogationType_vals[] = {
5427 { 1, "forwarding" },
5433 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_) {
5434 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5438 static int dissect_interrogationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5439 return dissect_gsm_map_T_interrogationType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_interrogationType);
5445 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_) {
5446 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5450 static int dissect_or_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5451 return dissect_gsm_map_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_or_Capability);
5453 static int dissect_supportedCCBS_Phase_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5454 return dissect_gsm_map_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedCCBS_Phase);
5459 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_) {
5461 tvbuff_t *parameter_tvb;
5464 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5470 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
5471 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
5472 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
5474 digit_str = unpack_digits(parameter_tvb, 1);
5476 proto_tree_add_string(tree, hf_gsm_map_map_gmsc_address_digits, parameter_tvb, 1, -1, digit_str);
5483 static int dissect_gmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5484 return dissect_gsm_map_Gmsc_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmsc_Address);
5488 static const value_string gsm_map_T_forwardingReason_vals[] = {
5489 { 0, "notReachable" },
5497 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_) {
5498 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5502 static int dissect_forwardingReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5503 return dissect_gsm_map_T_forwardingReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingReason);
5506 static const ber_sequence_t T_camelInfo_sequence[] = {
5507 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_supportedCamelPhases },
5508 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_suppress_T_CSI },
5509 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5514 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_) {
5515 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5516 T_camelInfo_sequence, hf_index, ett_gsm_map_T_camelInfo);
5520 static int dissect_camelInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5521 return dissect_gsm_map_T_camelInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelInfo);
5525 static const value_string gsm_map_T_ext_ProtocolId_vals[] = {
5526 { 1, "ets-300356" },
5532 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_) {
5533 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5537 static int dissect_ext_ProtocolId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5538 return dissect_gsm_map_T_ext_ProtocolId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_ProtocolId);
5543 dissect_gsm_map_ExtSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5544 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5549 static int dissect_ext_signalInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5550 return dissect_gsm_map_ExtSignalInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ext_signalInfo);
5553 static const ber_sequence_t AdditionalSignalInfo_sequence[] = {
5554 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ext_ProtocolId },
5555 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ext_signalInfo },
5556 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5561 dissect_gsm_map_AdditionalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5562 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5563 AdditionalSignalInfo_sequence, hf_index, ett_gsm_map_AdditionalSignalInfo);
5567 static int dissect_additionalSignalInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5568 return dissect_gsm_map_AdditionalSignalInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSignalInfo);
5571 static const ber_sequence_t SendRoutingInfoArg_sequence[] = {
5572 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
5573 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
5574 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfForwarding_impl },
5575 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_interrogationType_impl },
5576 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
5577 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Capability_impl },
5578 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gmsc_Address_impl },
5579 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
5580 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingReason_impl },
5581 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
5582 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
5583 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelInfo_impl },
5584 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
5585 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5586 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
5587 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
5588 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCCBS_Phase_impl },
5589 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
5594 dissect_gsm_map_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5595 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5596 SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoArg);
5603 dissect_gsm_map_RoamingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5605 tvbuff_t *parameter_tvb;
5608 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5614 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
5615 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
5616 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
5618 digit_str = unpack_digits(parameter_tvb, 1);
5620 proto_tree_add_string(tree, hf_gsm_map_map_RoamingNumber_digits, parameter_tvb, 1, -1, digit_str);
5625 static int dissect_roamingNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5626 return dissect_gsm_map_RoamingNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNumber);
5629 static const ber_sequence_t ForwardingData_sequence[] = {
5630 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
5631 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
5632 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingOptions_impl },
5633 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5638 dissect_gsm_map_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5639 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5640 ForwardingData_sequence, hf_index, ett_gsm_map_ForwardingData);
5644 static int dissect_forwardingData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5645 return dissect_gsm_map_ForwardingData(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
5647 static int dissect_forwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5648 return dissect_gsm_map_ForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingData);
5652 static const value_string gsm_map_T_routingInfo_vals[] = {
5653 { 0, "roamingNumber" },
5654 { 1, "forwardingData" },
5658 static const ber_choice_t T_routingInfo_choice[] = {
5659 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
5660 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingData },
5661 { 0, 0, 0, 0, NULL }
5665 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_) {
5666 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5667 T_routingInfo_choice, hf_index, ett_gsm_map_T_routingInfo);
5671 static int dissect_routingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5672 return dissect_gsm_map_T_routingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_routingInfo);
5675 static const ber_sequence_t T_t_CSI_sequence[] = {
5676 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
5677 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
5678 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
5683 dissect_gsm_map_T_t_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5684 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5685 T_t_CSI_sequence, hf_index, ett_gsm_map_T_t_CSI);
5689 static int dissect_t_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5690 return dissect_gsm_map_T_t_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CSI);
5693 static const ber_sequence_t T_gmscCamelSubscriptionInfo_sequence[] = {
5694 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI_impl },
5695 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
5696 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5697 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList_impl },
5702 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_) {
5703 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5704 T_gmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_T_gmscCamelSubscriptionInfo);
5708 static int dissect_gmscCamelSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5709 return dissect_gsm_map_T_gmscCamelSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gmscCamelSubscriptionInfo);
5712 static const ber_sequence_t T_camelRoutingInfo_sequence[] = {
5713 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_forwardingData },
5714 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gmscCamelSubscriptionInfo_impl },
5715 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5720 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_) {
5721 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5722 T_camelRoutingInfo_sequence, hf_index, ett_gsm_map_T_camelRoutingInfo);
5726 static int dissect_camelRoutingInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5727 return dissect_gsm_map_T_camelRoutingInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camelRoutingInfo);
5731 static const value_string gsm_map_T_extendedRoutingInfo_vals[] = {
5732 { 0, "routingInfo" },
5733 { 1, "camelRoutingInfo" },
5737 static const ber_choice_t T_extendedRoutingInfo_choice[] = {
5738 { 0, BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_routingInfo },
5739 { 1, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_camelRoutingInfo_impl },
5740 { 0, 0, 0, 0, NULL }
5744 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_) {
5745 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5746 T_extendedRoutingInfo_choice, hf_index, ett_gsm_map_T_extendedRoutingInfo);
5750 static int dissect_extendedRoutingInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5751 return dissect_gsm_map_T_extendedRoutingInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extendedRoutingInfo);
5756 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_) {
5757 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5762 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5763 return dissect_gsm_map_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationNumber);
5768 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_) {
5769 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5774 static int dissect_laiFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5775 return dissect_gsm_map_OCTET_STRING_SIZE_5(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_laiFixedLength);
5779 static const value_string gsm_map_T_cellIdOrLAI_vals[] = {
5780 { 0, "cellIdFixedLength" },
5781 { 1, "laiFixedLength" },
5785 static const ber_choice_t T_cellIdOrLAI_choice[] = {
5786 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellIdFixedLength_impl },
5787 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
5788 { 0, 0, 0, 0, NULL }
5792 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_) {
5793 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5794 T_cellIdOrLAI_choice, hf_index, ett_gsm_map_T_cellIdOrLAI);
5798 static int dissect_cellIdOrLAI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5799 return dissect_gsm_map_T_cellIdOrLAI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cellIdOrLAI);
5804 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_) {
5805 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5810 static int dissect_geodeticInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5811 return dissect_gsm_map_OCTET_STRING_SIZE_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_geodeticInformation);
5814 static const ber_sequence_t LocationInformation_sequence[] = {
5815 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ageOfLocationInformation },
5816 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
5817 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vlr_number_impl },
5818 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
5819 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_cellIdOrLAI },
5820 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5821 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSA_Id_impl },
5822 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
5823 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geodeticInformation_impl },
5824 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocationRetrieved_impl },
5825 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
5830 dissect_gsm_map_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5831 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5832 LocationInformation_sequence, hf_index, ett_gsm_map_LocationInformation);
5836 static int dissect_locationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5837 return dissect_gsm_map_LocationInformation(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformation);
5841 static const value_string gsm_map_SubscriberState_vals[] = {
5842 { 0, "assumedIdle" },
5844 { 2, "notProvidedFromVLR" },
5848 static const ber_choice_t SubscriberState_choice[] = {
5849 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assumedIdle_impl },
5850 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_camelBusy_impl },
5851 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_notProvidedFromVLR_impl },
5852 { 0, 0, 0, 0, NULL }
5856 dissect_gsm_map_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5857 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5858 SubscriberState_choice, hf_index, ett_gsm_map_SubscriberState);
5862 static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5863 return dissect_gsm_map_SubscriberState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberState);
5867 static const value_string gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI_vals[] = {
5868 { 0, "cellGlobalIdOrServiceAreaIdFixedLength" },
5869 { 1, "laiFixedLength" },
5873 static const ber_choice_t T_cellGlobalIdOrServiceAreaIdOrLAI_choice[] = {
5874 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellGlobalIdOrServiceAreaIdFixedLength_impl },
5875 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
5876 { 0, 0, 0, 0, NULL }
5880 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_) {
5881 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5882 T_cellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI);
5886 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5887 return dissect_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI);
5892 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_) {
5893 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5898 static int dissect_routeingAreaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5899 return dissect_gsm_map_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_routeingAreaIdentity);
5902 static const ber_sequence_t T_locationInformationGPRS_sequence[] = {
5903 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_cellGlobalIdOrServiceAreaIdOrLAI },
5904 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingAreaIdentity_impl },
5905 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
5906 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
5907 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSAIdentity_impl },
5908 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5909 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sai_Present_impl },
5910 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geodeticInformation_impl },
5911 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocationRetrieved_impl },
5912 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationInformation_impl },
5917 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_) {
5918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5919 T_locationInformationGPRS_sequence, hf_index, ett_gsm_map_T_locationInformationGPRS);
5923 static int dissect_locationInformationGPRS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5924 return dissect_gsm_map_T_locationInformationGPRS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInformationGPRS);
5929 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_) {
5930 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5935 static int dissect_ggsn_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5936 return dissect_gsm_map_Ggsn_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Address);
5941 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_) {
5942 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5947 static int dissect_qos2_Subscribed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5948 return dissect_gsm_map_OCTET_STRING_SIZE_1_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Subscribed);
5950 static int dissect_qos2_Requested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5951 return dissect_gsm_map_OCTET_STRING_SIZE_1_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Requested);
5953 static int dissect_qos2_Negotiated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5954 return dissect_gsm_map_OCTET_STRING_SIZE_1_3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_qos2_Negotiated);
5957 static const ber_sequence_t T_ps_PDP_ActiveNotReachableForPaging_item_sequence[] = {
5958 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pdp_ContextIdentifier_impl },
5959 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ContextActive_impl },
5960 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
5961 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
5962 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_Subscribed_impl },
5963 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_InUse_impl },
5964 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nsapi_impl },
5965 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_transactionId_impl },
5966 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForGnAndGp_impl },
5967 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForIu_impl },
5968 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
5969 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
5970 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Requested_impl },
5971 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Negotiated_impl },
5972 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingId_impl },
5973 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
5974 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rnc_Address_impl },
5975 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5976 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Subscribed_impl },
5977 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Requested_impl },
5978 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Negotiated_impl },
5983 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_) {
5984 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5985 T_ps_PDP_ActiveNotReachableForPaging_item_sequence, hf_index, ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item);
5989 static int dissect_ps_PDP_ActiveNotReachableForPaging_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5990 return dissect_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveNotReachableForPaging_item);
5993 static const ber_sequence_t T_ps_PDP_ActiveNotReachableForPaging_sequence_of[1] = {
5994 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ps_PDP_ActiveNotReachableForPaging_item },
5998 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_) {
5999 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6000 T_ps_PDP_ActiveNotReachableForPaging_sequence_of, hf_index, ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging);
6004 static int dissect_ps_PDP_ActiveNotReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6005 return dissect_gsm_map_T_ps_PDP_ActiveNotReachableForPaging(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveNotReachableForPaging);
6008 static const ber_sequence_t T_ps_PDP_ActiveReachableForPaging_item_sequence[] = {
6009 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pdp_ContextIdentifier_impl },
6010 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_ContextActive_impl },
6011 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pdp_Type_impl },
6012 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdp_Address_impl },
6013 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_Subscribed_impl },
6014 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_apn_InUse_impl },
6015 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nsapi_impl },
6016 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_transactionId_impl },
6017 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForGnAndGp_impl },
6018 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teid_ForIu_impl },
6019 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
6020 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Subscribed_impl },
6021 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Requested_impl },
6022 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos_Negotiated_impl },
6023 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingId_impl },
6024 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingCharacteristics_impl },
6025 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rnc_Address_impl },
6026 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6027 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Subscribed_impl },
6028 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Requested_impl },
6029 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qos2_Negotiated_impl },
6034 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_) {
6035 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6036 T_ps_PDP_ActiveReachableForPaging_item_sequence, hf_index, ett_gsm_map_T_ps_PDP_ActiveReachableForPaging_item);
6040 static int dissect_ps_PDP_ActiveReachableForPaging_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6041 return dissect_gsm_map_T_ps_PDP_ActiveReachableForPaging_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveReachableForPaging_item);
6044 static const ber_sequence_t T_ps_PDP_ActiveReachableForPaging_sequence_of[1] = {
6045 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ps_PDP_ActiveReachableForPaging_item },
6049 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_) {
6050 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6051 T_ps_PDP_ActiveReachableForPaging_sequence_of, hf_index, ett_gsm_map_T_ps_PDP_ActiveReachableForPaging);
6055 static int dissect_ps_PDP_ActiveReachableForPaging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6056 return dissect_gsm_map_T_ps_PDP_ActiveReachableForPaging(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ps_PDP_ActiveReachableForPaging);
6060 static const value_string gsm_map_T_netDetNotReachable_vals[] = {
6062 { 1, "imsiDetached" },
6063 { 2, "restrictedArea" },
6064 { 3, "notRegistered" },
6070 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_) {
6071 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6075 static int dissect_netDetNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6076 return dissect_gsm_map_T_netDetNotReachable(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_netDetNotReachable);
6080 static const value_string gsm_map_T_ps_SubscriberState_vals[] = {
6081 { 0, "notProvidedFromSGSN" },
6082 { 1, "ps-Detached" },
6083 { 2, "ps-AttachedNotReachableForPaging" },
6084 { 3, "ps-AttachedReachableForPaging" },
6085 { 4, "ps-PDP-ActiveNotReachableForPaging" },
6086 { 5, "ps-PDP-ActiveReachableForPaging" },
6087 { 6, "netDetNotReachable" },
6091 static const ber_choice_t T_ps_SubscriberState_choice[] = {
6092 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_notProvidedFromSGSN_impl },
6093 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ps_Detached_impl },
6094 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ps_AttachedNotReachableForPaging_impl },
6095 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ps_AttachedReachableForPaging_impl },
6096 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveNotReachableForPaging_impl },
6097 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ps_PDP_ActiveReachableForPaging_impl },
6098 { 6, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_netDetNotReachable },
6099 { 0, 0, 0, 0, NULL }
6103 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_) {
6104 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6105 T_ps_SubscriberState_choice, hf_index, ett_gsm_map_T_ps_SubscriberState);
6109 static int dissect_ps_SubscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6110 return dissect_gsm_map_T_ps_SubscriberState(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ps_SubscriberState);
6115 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_) {
6116 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6121 static int dissect_mSRadioAccessCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6122 return dissect_gsm_map_OCTET_STRING_SIZE_1_50(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mSRadioAccessCapability);
6125 static const ber_sequence_t T_gprs_MS_Class_sequence[] = {
6126 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mSNetworkCapability_impl },
6127 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mSRadioAccessCapability_impl },
6132 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_) {
6133 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6134 T_gprs_MS_Class_sequence, hf_index, ett_gsm_map_T_gprs_MS_Class);
6138 static int dissect_gprs_MS_Class_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6139 return dissect_gsm_map_T_gprs_MS_Class(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_MS_Class);
6143 static const value_string gsm_map_NumberPortabilityStatus_vals[] = {
6144 { 0, "notKnownToBePorted" },
6145 { 1, "ownNumberPortedOut" },
6146 { 2, "foreignNumberPortedToForeignNetwork" },
6147 { 4, "ownNumberNotPortedOut" },
6148 { 5, "foreignNumberPortedIn" },
6154 dissect_gsm_map_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6155 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6159 static int dissect_numberPortabilityStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6160 return dissect_gsm_map_NumberPortabilityStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_numberPortabilityStatus);
6163 static const ber_sequence_t T_mnpInfoRes_sequence[] = {
6164 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingNumber_impl },
6165 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6166 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6167 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
6168 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6173 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_) {
6174 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6175 T_mnpInfoRes_sequence, hf_index, ett_gsm_map_T_mnpInfoRes);
6179 static int dissect_mnpInfoRes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6180 return dissect_gsm_map_T_mnpInfoRes(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mnpInfoRes);
6183 static const ber_sequence_t SubscriberInfo_sequence[] = {
6184 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
6185 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_subscriberState },
6186 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6187 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
6188 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_ps_SubscriberState },
6189 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
6190 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_Classmark2_impl },
6191 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_MS_Class_impl },
6192 { BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mnpInfoRes_impl },
6197 dissect_gsm_map_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6198 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6199 SubscriberInfo_sequence, hf_index, ett_gsm_map_SubscriberInfo);
6203 static int dissect_subscriberInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6204 return dissect_gsm_map_SubscriberInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
6206 static int dissect_subscriberInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6207 return dissect_gsm_map_SubscriberInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberInfo);
6212 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_) {
6213 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6218 static int dissect_vmsc_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6219 return dissect_gsm_map_T_vmsc_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vmsc_Address);
6222 static const ber_sequence_t T_ccbs_Indicators_sequence[] = {
6223 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
6224 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_keepCCBS_CallIndicator_impl },
6225 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6230 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_) {
6231 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6232 T_ccbs_Indicators_sequence, hf_index, ett_gsm_map_T_ccbs_Indicators);
6236 static int dissect_ccbs_Indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6237 return dissect_gsm_map_T_ccbs_Indicators(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Indicators);
6240 static const ber_sequence_t SendRoutingInfoRes_sequence[] = {
6241 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6242 { -1/*choice*/ , -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extendedRoutingInfo },
6243 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
6244 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cugSubscriptionFlag_impl },
6245 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberInfo_impl },
6246 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_List_impl },
6247 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicService },
6248 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingInterrogationRequired_impl },
6249 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vmsc_Address_impl },
6250 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6251 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naea_PreferredCI_impl },
6252 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Indicators_impl },
6253 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6254 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberPortabilityStatus_impl },
6259 dissect_gsm_map_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6260 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6261 SendRoutingInfoRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoRes);
6267 static const value_string gsm_map_NetDetNotReachable_vals[] = {
6269 { 1, "imsiDetached" },
6270 { 2, "restrictedArea" },
6271 { 3, "notRegistered" },
6277 dissect_gsm_map_NetDetNotReachable(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6278 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6283 static const ber_sequence_t ProvideRoamingNumberArg_sequence[] = {
6284 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6285 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
6286 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6287 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
6288 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
6289 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
6290 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
6291 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmsc_Address_impl },
6292 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
6293 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Interrogation_impl },
6294 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6295 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
6296 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Call_impl },
6297 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhasesInGMSC_impl },
6298 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSignalInfo_impl },
6299 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_orNotSupportedInGMSC_impl },
6304 dissect_gsm_map_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6305 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6306 ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberArg);
6311 static const ber_sequence_t ProvideRoamingNumberRes_sequence[] = {
6312 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_roamingNumber },
6313 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6318 dissect_gsm_map_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6319 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6320 ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ProvideRoamingNumberRes);
6327 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_) {
6328 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6333 static int dissect_uui_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6334 return dissect_gsm_map_OCTET_STRING_SIZE_1_131(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uui);
6337 static const ber_sequence_t T_uu_Data_sequence[] = {
6338 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uuIndicator_impl },
6339 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uui_impl },
6340 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uusCFInteraction_impl },
6341 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6346 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_) {
6347 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6348 T_uu_Data_sequence, hf_index, ett_gsm_map_T_uu_Data);
6352 static int dissect_uu_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6353 return dissect_gsm_map_T_uu_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_uu_Data);
6356 static const ber_sequence_t ResumeCallHandlingArg_sequence[] = {
6357 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
6358 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
6359 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingData_impl },
6360 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6361 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_CheckInfo_impl },
6362 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
6363 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6364 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
6365 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6366 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uu_Data_impl },
6367 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_allInformationSent_impl },
6372 dissect_gsm_map_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6373 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6374 ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ResumeCallHandlingArg);
6379 static const ber_sequence_t ResumeCallHandlingRes_sequence[] = {
6380 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
6385 dissect_gsm_map_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6386 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6387 ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ResumeCallHandlingRes);
6394 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_) {
6395 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6400 static int dissect_b_Subscriber_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6401 return dissect_gsm_map_T_b_Subscriber_Address(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_Subscriber_Address);
6404 static const ber_sequence_t ProvideSIWFSNumberArg_sequence[] = {
6405 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_BearerCapability_impl },
6406 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_isdn_BearerCapability_impl },
6407 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_call_Direction_impl },
6408 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_b_Subscriber_Address_impl },
6409 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
6410 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lowerLayerCompatibility_impl },
6411 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
6412 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6417 dissect_gsm_map_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6418 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6419 ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberArg);
6426 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_) {
6427 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6432 static int dissect_sIWFSNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6433 return dissect_gsm_map_T_sIWFSNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sIWFSNumber);
6436 static const ber_sequence_t ProvideSIWFSNumberRes_sequence[] = {
6437 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sIWFSNumber_impl },
6438 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6443 dissect_gsm_map_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6444 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6445 ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_map_ProvideSIWFSNumberRes);
6450 static const ber_sequence_t SIWFSSignallingModifyArg_sequence[] = {
6451 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_channelType_impl },
6452 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
6453 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6458 dissect_gsm_map_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6459 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6460 SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyArg);
6465 static const ber_sequence_t SIWFSSignallingModifyRes_sequence[] = {
6466 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chosenChannel_impl },
6467 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6472 dissect_gsm_map_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6473 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6474 SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_map_SIWFSSignallingModifyRes);
6480 static const value_string gsm_map_Ccbs_Monitoring_vals[] = {
6481 { 0, "stopMonitoring" },
6482 { 1, "startMonitoring" },
6488 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_) {
6489 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6493 static int dissect_ccbs_Monitoring_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6494 return dissect_gsm_map_Ccbs_Monitoring(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Monitoring);
6497 static const ber_sequence_t SetReportingStateArg_sequence[] = {
6498 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6499 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
6500 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Monitoring_impl },
6501 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6506 dissect_gsm_map_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6507 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6508 SetReportingStateArg_sequence, hf_index, ett_gsm_map_SetReportingStateArg);
6514 static const value_string gsm_map_Ccbs_SubscriberStatus_vals[] = {
6515 { 0, "ccbsNotIdle" },
6517 { 2, "ccbsNotReachable" },
6523 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_) {
6524 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6528 static int dissect_ccbs_SubscriberStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6529 return dissect_gsm_map_Ccbs_SubscriberStatus(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_SubscriberStatus);
6532 static const ber_sequence_t SetReportingStateRes_sequence[] = {
6533 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
6534 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6539 dissect_gsm_map_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6540 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6541 SetReportingStateRes_sequence, hf_index, ett_gsm_map_SetReportingStateRes);
6547 static const value_string gsm_map_MonitoringMode_vals[] = {
6555 dissect_gsm_map_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6556 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6560 static int dissect_monitoringMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6561 return dissect_gsm_map_MonitoringMode(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_monitoringMode);
6565 static const value_string gsm_map_CallOutcome_vals[] = {
6574 dissect_gsm_map_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6575 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6579 static int dissect_callOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6580 return dissect_gsm_map_CallOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callOutcome);
6583 static const ber_sequence_t T_eventReportData_sequence[] = {
6584 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_SubscriberStatus_impl },
6585 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6590 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_) {
6591 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6592 T_eventReportData_sequence, hf_index, ett_gsm_map_T_eventReportData);
6596 static int dissect_eventReportData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6597 return dissect_gsm_map_T_eventReportData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_eventReportData);
6600 static const ber_sequence_t T_callReportdata_sequence[] = {
6601 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitoringMode_impl },
6602 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callOutcome_impl },
6603 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6608 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_) {
6609 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6610 T_callReportdata_sequence, hf_index, ett_gsm_map_T_callReportdata);
6614 static int dissect_callReportdata_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6615 return dissect_gsm_map_T_callReportdata(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callReportdata);
6618 static const ber_sequence_t StatusReportArg_sequence[] = {
6619 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6620 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventReportData_impl },
6621 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReportdata_impl },
6622 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6627 dissect_gsm_map_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6628 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6629 StatusReportArg_sequence, hf_index, ett_gsm_map_StatusReportArg);
6634 static const ber_sequence_t StatusReportRes_sequence[] = {
6635 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6640 dissect_gsm_map_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6641 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6642 StatusReportRes_sequence, hf_index, ett_gsm_map_StatusReportRes);
6648 static const value_string gsm_map_Ruf_Outcome_vals[] = {
6651 { 2, "noResponseFromFreeMS" },
6652 { 3, "noResponseFromBusyMS" },
6653 { 4, "udubFromFreeMS" },
6654 { 5, "udubFromBusyMS" },
6660 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_) {
6661 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6665 static int dissect_ruf_Outcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6666 return dissect_gsm_map_Ruf_Outcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ruf_Outcome);
6671 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_) {
6672 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6677 static int dissect_b_subscriberNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6678 return dissect_gsm_map_B_subscriberNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberNumber);
6683 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_) {
6684 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6689 static int dissect_b_subscriberSubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6690 return dissect_gsm_map_OCTET_STRING_SIZE_1_21(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_b_subscriberSubaddress);
6693 static const ber_sequence_t Ccbs_Feature_sequence[] = {
6694 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
6695 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberNumber_impl },
6696 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberSubaddress_impl },
6697 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
6702 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_) {
6703 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6704 Ccbs_Feature_sequence, hf_index, ett_gsm_map_Ccbs_Feature);
6708 static int dissect_ccbs_Feature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6709 return dissect_gsm_map_Ccbs_Feature(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Feature);
6714 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_) {
6715 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6720 static int dissect_translatedB_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6721 return dissect_gsm_map_TranslatedB_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_translatedB_Number);
6724 static const ber_sequence_t RemoteUserFreeArg_sequence[] = {
6725 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
6726 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callInfo_impl },
6727 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
6728 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_translatedB_Number_impl },
6729 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_replaceB_Number_impl },
6730 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
6731 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6736 dissect_gsm_map_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6737 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6738 RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_RemoteUserFreeArg);
6743 static const ber_sequence_t RemoteUserFreeRes_sequence[] = {
6744 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ruf_Outcome_impl },
6745 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
6750 dissect_gsm_map_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6751 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6752 RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_RemoteUserFreeRes);
6757 static const ber_sequence_t RegisterSS_Arg_sequence[] = {
6758 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
6759 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
6760 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
6761 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
6762 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime_impl },
6763 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
6768 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_) {
6769 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6770 RegisterSS_Arg_sequence, hf_index, ett_gsm_map_RegisterSS_Arg);
6776 static const value_string gsm_map_Ss_Info_vals[] = {
6777 { 0, "forwardingInfo" },
6778 { 1, "callBarringInfo" },
6783 static const ber_choice_t Ss_Info_choice[] = {
6784 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_forwardingInfo_impl },
6785 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callBarringInfo_impl },
6786 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ss_Data_impl },
6787 { 0, 0, 0, 0, NULL }
6791 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_) {
6792 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6793 Ss_Info_choice, hf_index, ett_gsm_map_Ss_Info);
6798 static const ber_sequence_t Ss_ForBS_sequence[] = {
6799 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
6800 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
6805 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_) {
6806 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6807 Ss_ForBS_sequence, hf_index, ett_gsm_map_Ss_ForBS);
6812 static const ber_sequence_t SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList_sequence_of[1] = {
6813 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList_item },
6817 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_) {
6818 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6819 SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList);
6823 static int dissect_forwardingFeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6824 return dissect_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_forwardingFeatureList);
6827 static const ber_sequence_t T_ccbs_FeatureList_item_sequence[] = {
6828 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
6829 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberNumber_impl },
6830 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_b_subscriberSubaddress_impl },
6831 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_basicServiceGroup },
6836 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_) {
6837 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6838 T_ccbs_FeatureList_item_sequence, hf_index, ett_gsm_map_T_ccbs_FeatureList_item);
6842 static int dissect_ccbs_FeatureList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6843 return dissect_gsm_map_T_ccbs_FeatureList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_FeatureList_item);
6846 static const ber_sequence_t T_ccbs_FeatureList_sequence_of[1] = {
6847 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ccbs_FeatureList_item },
6851 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_) {
6852 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6853 T_ccbs_FeatureList_sequence_of, hf_index, ett_gsm_map_T_ccbs_FeatureList);
6857 static int dissect_ccbs_FeatureList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6858 return dissect_gsm_map_T_ccbs_FeatureList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_FeatureList);
6861 static const ber_sequence_t T_genericServiceInfo_sequence[] = {
6862 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Status },
6863 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cliRestrictionOption_impl },
6864 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumEntitledPriority_impl },
6865 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_defaultPriority_impl },
6866 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_FeatureList_impl },
6871 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_) {
6872 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6873 T_genericServiceInfo_sequence, hf_index, ett_gsm_map_T_genericServiceInfo);
6877 static int dissect_genericServiceInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6878 return dissect_gsm_map_T_genericServiceInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_genericServiceInfo);
6882 static const value_string gsm_map_InterrogateSS_Res_vals[] = {
6884 { 2, "basicServiceGroupList" },
6885 { 3, "forwardingFeatureList" },
6886 { 4, "genericServiceInfo" },
6890 static const ber_choice_t InterrogateSS_Res_choice[] = {
6891 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
6892 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_basicServiceGroupList_impl },
6893 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_forwardingFeatureList_impl },
6894 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_genericServiceInfo_impl },
6895 { 0, 0, 0, 0, NULL }
6899 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_) {
6900 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6901 InterrogateSS_Res_choice, hf_index, ett_gsm_map_InterrogateSS_Res);
6908 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_) {
6909 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6914 static int dissect_ussd_String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6915 return dissect_gsm_map_OCTET_STRING_SIZE_1_160(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ussd_String);
6918 static const ber_sequence_t Ussd_Arg_sequence[] = {
6919 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
6920 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
6921 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertingPattern },
6922 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
6927 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_) {
6928 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6929 Ussd_Arg_sequence, hf_index, ett_gsm_map_Ussd_Arg);
6934 static const ber_sequence_t Ussd_Res_sequence[] = {
6935 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_DataCodingScheme },
6936 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ussd_String },
6941 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_) {
6942 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6943 Ussd_Res_sequence, hf_index, ett_gsm_map_Ussd_Res);
6950 dissect_gsm_map_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6951 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6952 pinfo, tree, tvb, offset, hf_index,
6959 static const value_string gsm_map_GetPasswordArg_vals[] = {
6961 { 1, "enterNewPW" },
6962 { 2, "enterNewPW-Again" },
6968 dissect_gsm_map_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6969 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
6976 dissect_gsm_map_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6977 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6978 pinfo, tree, tvb, offset, hf_index,
6984 static const asn_namedbit ServiceIndicator_bits[] = {
6985 { 0, &hf_gsm_map_ServiceIndicator_clirInvoked, -1, -1, NULL, NULL },
6986 { 1, &hf_gsm_map_ServiceIndicator_camelInvoked, -1, -1, NULL, NULL },
6987 { 0, NULL, 0, 0, NULL, NULL }
6991 dissect_gsm_map_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6992 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
6993 ServiceIndicator_bits, hf_index, ett_gsm_map_ServiceIndicator,
6998 static int dissect_serviceIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6999 return dissect_gsm_map_ServiceIndicator(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceIndicator);
7002 static const ber_sequence_t T_ccbs_Data_sequence[] = {
7003 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
7004 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_translatedB_Number_impl },
7005 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceIndicator_impl },
7006 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_callInfo_impl },
7007 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_networkSignalInfo_impl },
7012 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_) {
7013 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7014 T_ccbs_Data_sequence, hf_index, ett_gsm_map_T_ccbs_Data);
7018 static int dissect_ccbs_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7019 return dissect_gsm_map_T_ccbs_Data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ccbs_Data);
7022 static const ber_sequence_t RegisterCC_EntryArg_sequence[] = {
7023 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7024 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Data_impl },
7029 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_) {
7030 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7031 RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_RegisterCC_EntryArg);
7036 static const ber_sequence_t RegisterCC_EntryRes_sequence[] = {
7037 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Feature_impl },
7042 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_) {
7043 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7044 RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_RegisterCC_EntryRes);
7049 static const ber_sequence_t EraseCC_EntryArg_sequence[] = {
7050 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7051 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Index_impl },
7056 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_) {
7057 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7058 EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_EraseCC_EntryArg);
7063 static const ber_sequence_t EraseCC_EntryRes_sequence[] = {
7064 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
7065 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
7070 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_) {
7071 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7072 EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_EraseCC_EntryRes);
7079 dissect_gsm_map_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7080 offset = dissect_ber_boolean(pinfo, tree, tvb, offset, hf_index);
7084 static int dissect_sm_RP_PRI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7085 return dissect_gsm_map_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_PRI);
7090 dissect_gsm_map_ServiceCentreAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7092 tvbuff_t *parameter_tvb;
7095 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7100 proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
7101 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
7102 proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
7104 digit_str = unpack_digits(parameter_tvb, 1);
7106 proto_tree_add_string(tree, hf_gsm_map_servicecentreaddress_digits, parameter_tvb, 1, -1, digit_str);
7113 static int dissect_serviceCentreAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7114 return dissect_gsm_map_ServiceCentreAddress(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
7116 static int dissect_serviceCentreAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7117 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddress);
7119 static int dissect_serviceCentreAddressOA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7120 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressOA);
7122 static int dissect_serviceCentreAddressDA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7123 return dissect_gsm_map_ServiceCentreAddress(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_serviceCentreAddressDA);
7129 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_) {
7130 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7134 static int dissect_sm_RP_MTI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7135 return dissect_gsm_map_INTEGER_0_10(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_MTI);
7140 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_) {
7141 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7146 static int dissect_sm_RP_SMEA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7147 return dissect_gsm_map_OCTET_STRING_SIZE_1_12(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_SMEA);
7150 static const ber_sequence_t RoutingInfoForSMArg_sequence[] = {
7151 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7152 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sm_RP_PRI_impl },
7153 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddress_impl },
7154 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7155 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
7156 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_MTI_impl },
7157 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sm_RP_SMEA_impl },
7162 dissect_gsm_map_RoutingInfoForSMArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7163 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7164 RoutingInfoForSMArg_sequence, hf_index, ett_gsm_map_RoutingInfoForSMArg);
7171 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_) {
7172 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7177 static int dissect_networkNode_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7178 return dissect_gsm_map_T_networkNode_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_networkNode_Number);
7182 static const value_string gsm_map_T_additional_Number_vals[] = {
7183 { 0, "msc-Number" },
7184 { 1, "sgsn-Number" },
7188 static const ber_choice_t T_additional_Number_choice[] = {
7189 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_msc_Number_impl },
7190 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
7191 { 0, 0, 0, 0, NULL }
7195 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_) {
7196 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7197 T_additional_Number_choice, hf_index, ett_gsm_map_T_additional_Number);
7201 static int dissect_additional_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7202 return dissect_gsm_map_T_additional_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_additional_Number);
7205 static const ber_sequence_t T_locationInfoWithLMSI_sequence[] = {
7206 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_networkNode_Number_impl },
7207 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lmsi },
7208 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7209 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsNodeIndicator_impl },
7210 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_additional_Number },
7215 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_) {
7216 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7217 T_locationInfoWithLMSI_sequence, hf_index, ett_gsm_map_T_locationInfoWithLMSI);
7221 static int dissect_locationInfoWithLMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7222 return dissect_gsm_map_T_locationInfoWithLMSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationInfoWithLMSI);
7225 static const ber_sequence_t RoutingInfoForSMRes_sequence[] = {
7226 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
7227 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationInfoWithLMSI_impl },
7228 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7233 dissect_gsm_map_RoutingInfoForSMRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7234 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7235 RoutingInfoForSMRes_sequence, hf_index, ett_gsm_map_RoutingInfoForSMRes);
7241 static const value_string gsm_map_Sm_RP_DA_vals[] = {
7244 { 4, "serviceCentreAddressDA" },
7245 { 5, "noSM-RP-DA" },
7249 static const ber_choice_t Sm_RP_DA_choice[] = {
7250 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7251 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
7252 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressDA_impl },
7253 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_DA_impl },
7254 { 0, 0, 0, 0, NULL }
7258 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_) {
7259 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7260 Sm_RP_DA_choice, hf_index, ett_gsm_map_Sm_RP_DA);
7264 static int dissect_sm_RP_DA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7265 return dissect_gsm_map_Sm_RP_DA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_DA);
7269 static const value_string gsm_map_Sm_RP_OA_vals[] = {
7271 { 4, "serviceCentreAddressOA" },
7272 { 5, "noSM-RP-OA" },
7276 static const ber_choice_t Sm_RP_OA_choice[] = {
7277 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7278 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_serviceCentreAddressOA_impl },
7279 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_noSM_RP_OA_impl },
7280 { 0, 0, 0, 0, NULL }
7284 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_) {
7285 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7286 Sm_RP_OA_choice, hf_index, ett_gsm_map_Sm_RP_OA);
7290 static int dissect_sm_RP_OA(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7291 return dissect_gsm_map_Sm_RP_OA(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_OA);
7296 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_) {
7300 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7303 * dissect the embedded TPDU message
7308 dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
7312 static int dissect_sm_RP_UI(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7313 return dissect_gsm_map_Sm_RP_UI(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_RP_UI);
7316 static const ber_sequence_t Mo_forwardSM_Arg_sequence[] = {
7317 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
7318 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
7319 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7320 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7321 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
7326 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_) {
7327 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7328 Mo_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Arg);
7333 static const ber_sequence_t Mo_forwardSM_Res_sequence[] = {
7334 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7335 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7340 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_) {
7341 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7342 Mo_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mo_forwardSM_Res);
7347 static const ber_sequence_t Mt_forwardSM_Arg_sequence[] = {
7348 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_DA },
7349 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_sm_RP_OA },
7350 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7351 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_moreMessagesToSend },
7352 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7357 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_) {
7358 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7359 Mt_forwardSM_Arg_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Arg);
7364 static const ber_sequence_t Mt_forwardSM_Res_sequence[] = {
7365 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sm_RP_UI },
7366 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7371 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_) {
7372 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7373 Mt_forwardSM_Res_sequence, hf_index, ett_gsm_map_Mt_forwardSM_Res);
7380 dissect_gsm_map_StoredMSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7381 offset = dissect_gsm_map_Msisdn(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7385 static int dissect_storedMSISDN(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7386 return dissect_gsm_map_StoredMSISDN(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_storedMSISDN);
7390 static const value_string gsm_map_Sm_DeliveryOutcome_vals[] = {
7391 { 0, "memoryCapacityExceeded" },
7392 { 1, "absentSubscriber" },
7393 { 2, "successfulTransfer" },
7399 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_) {
7400 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7404 static int dissect_sm_DeliveryOutcome(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7405 return dissect_gsm_map_Sm_DeliveryOutcome(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_DeliveryOutcome);
7407 static int dissect_additionalSM_DeliveryOutcome_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7408 return dissect_gsm_map_Sm_DeliveryOutcome(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalSM_DeliveryOutcome);
7411 static const ber_sequence_t ReportSM_DeliveryStatusArg_sequence[] = {
7412 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
7413 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
7414 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_DeliveryOutcome },
7415 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberDiagnosticSM_impl },
7416 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7417 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprsSupportIndicator_impl },
7418 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deliveryOutcomeIndicator_impl },
7419 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalSM_DeliveryOutcome_impl },
7420 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
7425 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_) {
7426 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7427 ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusArg);
7432 static const ber_sequence_t ReportSM_DeliveryStatusRes_sequence[] = {
7433 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
7434 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7439 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_) {
7440 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7441 ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_ReportSM_DeliveryStatusRes);
7446 static const asn_namedbit T_mw_Status_bits[] = {
7447 { 0, &hf_gsm_map_T_mw_Status_scAddressNotIncluded, -1, -1, NULL, NULL },
7448 { 1, &hf_gsm_map_T_mw_Status_mnrfSet, -1, -1, NULL, NULL },
7449 { 2, &hf_gsm_map_T_mw_Status_mcefSet, -1, -1, NULL, NULL },
7450 { 3, &hf_gsm_map_T_mw_Status_mnrgSet, -1, -1, NULL, NULL },
7451 { 0, NULL, 0, 0, NULL, NULL }
7455 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_) {
7456 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7457 T_mw_Status_bits, hf_index, ett_gsm_map_T_mw_Status,
7462 static int dissect_mw_Status(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7463 return dissect_gsm_map_T_mw_Status(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mw_Status);
7466 static const ber_sequence_t InformServiceCentreArg_sequence[] = {
7467 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_storedMSISDN },
7468 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_mw_Status },
7469 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7474 dissect_gsm_map_InformServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7475 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7476 InformServiceCentreArg_sequence, hf_index, ett_gsm_map_InformServiceCentreArg);
7481 static const ber_sequence_t AlertServiceCentreArg_sequence[] = {
7482 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msisdn },
7483 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_serviceCentreAddress },
7488 dissect_gsm_map_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7489 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7490 AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_AlertServiceCentreArg);
7496 static const value_string gsm_map_T_alertReason_vals[] = {
7498 { 1, "memoryAvailable" },
7504 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_) {
7505 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7509 static int dissect_alertReason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7510 return dissect_gsm_map_T_alertReason(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_alertReason);
7513 static const ber_sequence_t ReadyForSM_Arg_sequence[] = {
7514 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7515 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_alertReason },
7516 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_alertReasonIndicator },
7517 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7522 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_) {
7523 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7524 ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_ReadyForSM_Arg);
7529 static const ber_sequence_t ReadyForSM_Res_sequence[] = {
7530 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7535 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_) {
7536 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7537 ReadyForSM_Res_sequence, hf_index, ett_gsm_map_ReadyForSM_Res);
7543 static const value_string gsm_map_T_requestedDomain_vals[] = {
7551 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_) {
7552 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7556 static int dissect_requestedDomain_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7557 return dissect_gsm_map_T_requestedDomain(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedDomain);
7560 static const ber_sequence_t RequestedInfo_sequence[] = {
7561 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationFlag_impl },
7562 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscriberStateFlag_impl },
7563 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7564 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentLocation_impl },
7565 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedDomain_impl },
7566 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei1_impl },
7567 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_classmark_impl },
7568 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mnpRequestedInfo_impl },
7573 dissect_gsm_map_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7574 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7575 RequestedInfo_sequence, hf_index, ett_gsm_map_RequestedInfo);
7579 static int dissect_requestedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7580 return dissect_gsm_map_RequestedInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedInfo);
7583 static const ber_sequence_t ProvideSubscriberInfoArg_sequence[] = {
7584 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7585 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
7586 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
7587 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7592 dissect_gsm_map_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7593 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7594 ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoArg);
7599 static const ber_sequence_t ProvideSubscriberInfoRes_sequence[] = {
7600 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
7601 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7606 dissect_gsm_map_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7607 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7608 ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ProvideSubscriberInfoRes);
7614 static const value_string gsm_map_SubscriberIdentity_vals[] = {
7620 static const ber_choice_t SubscriberIdentity_choice[] = {
7621 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
7622 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
7623 { 0, 0, 0, 0, NULL }
7627 dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7628 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7629 SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity);
7633 static int dissect_subscriberIdentity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7634 return dissect_gsm_map_SubscriberIdentity(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_subscriberIdentity);
7637 static const ber_sequence_t AnyTimeInterrogationArg_sequence[] = {
7638 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
7639 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInfo_impl },
7640 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
7641 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7646 dissect_gsm_map_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7647 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7648 AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationArg);
7653 static const ber_sequence_t AnyTimeInterrogationRes_sequence[] = {
7654 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subscriberInfo },
7655 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7660 dissect_gsm_map_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7661 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7662 AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeInterrogationRes);
7667 static const ber_sequence_t T_requestedSS_Info_sequence[] = {
7668 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_Code },
7669 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
7670 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
7675 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_) {
7676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7677 T_requestedSS_Info_sequence, hf_index, ett_gsm_map_T_requestedSS_Info);
7681 static int dissect_requestedSS_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7682 return dissect_gsm_map_T_requestedSS_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSS_Info);
7686 static const value_string gsm_map_T_requestedCAMEL_SubscriptionInfo_vals[] = {
7692 { 5, "mo-sms-CSI" },
7701 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_) {
7702 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7706 static int dissect_requestedCAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7707 return dissect_gsm_map_T_requestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCAMEL_SubscriptionInfo);
7711 static const value_string gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = {
7712 { 0, "mt-sms-CSI" },
7722 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_) {
7723 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7727 static int dissect_additionalRequestedCAMEL_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7728 return dissect_gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo);
7731 static const ber_sequence_t T_requestedSubscriptionInfo_sequence[] = {
7732 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedSS_Info_impl },
7733 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_impl },
7734 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestedCAMEL_SubscriptionInfo_impl },
7735 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_flg_impl },
7736 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_flg_impl },
7737 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_extensionContainer },
7738 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalRequestedCAMEL_SubscriptionInfo_impl },
7743 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_) {
7744 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7745 T_requestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_T_requestedSubscriptionInfo);
7749 static int dissect_requestedSubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7750 return dissect_gsm_map_T_requestedSubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedSubscriptionInfo);
7753 static const ber_sequence_t AnyTimeSubscriptionInterrogationArg_sequence[] = {
7754 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
7755 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedSubscriptionInfo_impl },
7756 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
7757 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7758 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
7763 dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7764 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7765 AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationArg);
7770 static const ber_sequence_t T_callForwardingData_sequence[] = {
7771 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_forwardingFeatureList1 },
7772 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
7773 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7778 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_) {
7779 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7780 T_callForwardingData_sequence, hf_index, ett_gsm_map_T_callForwardingData);
7784 static int dissect_callForwardingData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7785 return dissect_gsm_map_T_callForwardingData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callForwardingData);
7790 dissect_gsm_map_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7791 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
7792 pinfo, tree, tvb, offset, hf_index,
7797 static int dissect_password(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7798 return dissect_gsm_map_NumericString(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_password);
7800 static int dissect_password_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7801 return dissect_gsm_map_NumericString(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_password);
7807 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_) {
7808 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7812 static int dissect_wrongPasswordAttemptsCounter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7813 return dissect_gsm_map_INTEGER_0_4(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
7815 static int dissect_wrongPasswordAttemptsCounter_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7816 return dissect_gsm_map_INTEGER_0_4(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_wrongPasswordAttemptsCounter);
7819 static const ber_sequence_t T_callBarringData_sequence[] = {
7820 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_callBarringFeatureList },
7821 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_password },
7822 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_wrongPasswordAttemptsCounter },
7823 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
7824 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7829 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_) {
7830 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7831 T_callBarringData_sequence, hf_index, ett_gsm_map_T_callBarringData);
7835 static int dissect_callBarringData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7836 return dissect_gsm_map_T_callBarringData(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringData);
7839 static const ber_sequence_t T_odb_Info_sequence[] = {
7840 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_odb_Data },
7841 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notificationToCSE },
7842 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7847 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_) {
7848 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7849 T_odb_Info_sequence, hf_index, ett_gsm_map_T_odb_Info);
7853 static int dissect_odb_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7854 return dissect_gsm_map_T_odb_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_odb_Info);
7858 static const value_string gsm_map_T_o_BcsmTriggerDetectionPoint_vals[] = {
7859 { 2, "collectedInfo" },
7860 { 4, "routeSelectFailure" },
7866 dissect_gsm_map_T_o_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7867 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
7871 static int dissect_o_BcsmTriggerDetectionPoint1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7872 return dissect_gsm_map_T_o_BcsmTriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmTriggerDetectionPoint1);
7876 static const value_string gsm_map_BasicServiceCriteria_item_vals[] = {
7877 { 2, "ext-BearerService" },
7878 { 3, "ext-Teleservice" },
7882 static const ber_choice_t BasicServiceCriteria_item_choice[] = {
7883 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
7884 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
7885 { 0, 0, 0, 0, NULL }
7889 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_) {
7890 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7891 BasicServiceCriteria_item_choice, hf_index, ett_gsm_map_BasicServiceCriteria_item);
7895 static int dissect_BasicServiceCriteria_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7896 return dissect_gsm_map_BasicServiceCriteria_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_BasicServiceCriteria_item);
7899 static const ber_sequence_t BasicServiceCriteria_sequence_of[1] = {
7900 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_BasicServiceCriteria_item },
7904 dissect_gsm_map_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7905 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7906 BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_BasicServiceCriteria);
7910 static int dissect_basicServiceCriteria1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7911 return dissect_gsm_map_BasicServiceCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_basicServiceCriteria1);
7914 static const ber_sequence_t O_CauseValueCriteria_sequence_of[1] = {
7915 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_O_CauseValueCriteria_item },
7919 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_) {
7920 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7921 O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_O_CauseValueCriteria);
7925 static int dissect_o_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7926 return dissect_gsm_map_O_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_CauseValueCriteria);
7929 static const ber_sequence_t T_o_BcsmCamelTDP_CriteriaList_item_sequence[] = {
7930 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint1 },
7931 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
7932 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria1_impl },
7933 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
7934 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CauseValueCriteria_impl },
7935 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
7940 dissect_gsm_map_T_o_BcsmCamelTDP_CriteriaList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7941 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7942 T_o_BcsmCamelTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_o_BcsmCamelTDP_CriteriaList_item);
7946 static int dissect_o_BcsmCamelTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7947 return dissect_gsm_map_T_o_BcsmCamelTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDP_CriteriaList_item);
7950 static const ber_sequence_t T_o_BcsmCamelTDP_CriteriaList_sequence_of[1] = {
7951 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDP_CriteriaList_item },
7955 dissect_gsm_map_T_o_BcsmCamelTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7956 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7957 T_o_BcsmCamelTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_o_BcsmCamelTDP_CriteriaList);
7961 static int dissect_o_BcsmCamelTDP_CriteriaList1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7962 return dissect_gsm_map_T_o_BcsmCamelTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmCamelTDP_CriteriaList1);
7967 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_) {
7968 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7973 static int dissect_dialledNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7974 return dissect_gsm_map_T_dialledNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_dialledNumber);
7977 static const ber_sequence_t Dp_AnalysedInfoCriteriaList_item_sequence[] = {
7978 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dialledNumber },
7979 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
7980 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsmSCF_Address },
7981 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_defaultCallHandling },
7982 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
7987 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_) {
7988 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7989 Dp_AnalysedInfoCriteriaList_item_sequence, hf_index, ett_gsm_map_Dp_AnalysedInfoCriteriaList_item);
7993 static int dissect_Dp_AnalysedInfoCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7994 return dissect_gsm_map_Dp_AnalysedInfoCriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Dp_AnalysedInfoCriteriaList_item);
7997 static const ber_sequence_t Dp_AnalysedInfoCriteriaList_sequence_of[1] = {
7998 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Dp_AnalysedInfoCriteriaList_item },
8002 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_) {
8003 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8004 Dp_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_Dp_AnalysedInfoCriteriaList);
8008 static int dissect_dp_AnalysedInfoCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8009 return dissect_gsm_map_Dp_AnalysedInfoCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_dp_AnalysedInfoCriteriaList);
8012 static const ber_sequence_t T_d_CSI_sequence[] = {
8013 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dp_AnalysedInfoCriteriaList_impl },
8014 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8015 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8016 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8017 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8022 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_) {
8023 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8024 T_d_CSI_sequence, hf_index, ett_gsm_map_T_d_CSI);
8028 static int dissect_d_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8029 return dissect_gsm_map_T_d_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_CSI);
8032 static const ber_sequence_t T_t_CSI1_sequence[] = {
8033 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
8034 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8035 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8036 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8037 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8042 dissect_gsm_map_T_t_CSI1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8043 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8044 T_t_CSI1_sequence, hf_index, ett_gsm_map_T_t_CSI1);
8048 static int dissect_t_CSI1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8049 return dissect_gsm_map_T_t_CSI1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CSI1);
8053 static const value_string gsm_map_T_t_BCSM_TriggerDetectionPoint_vals[] = {
8054 { 12, "termAttemptAuthorized" },
8056 { 14, "tNoAnswer" },
8062 dissect_gsm_map_T_t_BCSM_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8063 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8067 static int dissect_t_BCSM_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8068 return dissect_gsm_map_T_t_BCSM_TriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_TriggerDetectionPoint);
8071 static const ber_sequence_t T_CauseValueCriteria_sequence_of[1] = {
8072 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_T_CauseValueCriteria_item },
8076 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_) {
8077 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8078 T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_T_CauseValueCriteria);
8082 static int dissect_t_CauseValueCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8083 return dissect_gsm_map_T_CauseValueCriteria(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_CauseValueCriteria);
8086 static const ber_sequence_t T_t_BCSM_CAMEL_TDP_CriteriaList_item_sequence[] = {
8087 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint },
8088 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria1_impl },
8089 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
8094 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_) {
8095 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8096 T_t_BCSM_CAMEL_TDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item);
8100 static int dissect_t_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8101 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);
8104 static const ber_sequence_t T_t_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
8105 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_item },
8109 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_) {
8110 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8111 T_t_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList);
8115 static int dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8116 return dissect_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList);
8119 static const ber_sequence_t T_vt_CSI_sequence[] = {
8120 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
8121 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8122 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8123 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8124 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8129 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_) {
8130 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8131 T_vt_CSI_sequence, hf_index, ett_gsm_map_T_vt_CSI);
8135 static int dissect_vt_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8136 return dissect_gsm_map_T_vt_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_CSI);
8140 static const value_string gsm_map_T_t_BCSM_TriggerDetectionPoint1_vals[] = {
8141 { 12, "termAttemptAuthorized" },
8143 { 14, "tNoAnswer" },
8149 dissect_gsm_map_T_t_BCSM_TriggerDetectionPoint1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8150 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8154 static int dissect_t_BCSM_TriggerDetectionPoint1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8155 return dissect_gsm_map_T_t_BCSM_TriggerDetectionPoint1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_TriggerDetectionPoint1);
8158 static const ber_sequence_t T_vt_BCSM_CAMEL_TDP_CriteriaList_item_sequence[] = {
8159 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint1 },
8160 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria1_impl },
8161 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
8166 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_) {
8167 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8168 T_vt_BCSM_CAMEL_TDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item);
8172 static int dissect_vt_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8173 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);
8176 static const ber_sequence_t T_vt_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
8177 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vt_BCSM_CAMEL_TDP_CriteriaList_item },
8181 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_) {
8182 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8183 T_vt_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList);
8187 static int dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8188 return dissect_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList);
8192 static const value_string gsm_map_T_gprs_TriggerDetectionPoint_vals[] = {
8194 { 2, "attachChangeOfPosition" },
8195 { 11, "pdp-ContextEstablishment" },
8196 { 12, "pdp-ContextEstablishmentAcknowledgement" },
8197 { 14, "pdp-ContextChangeOfPosition" },
8203 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_) {
8204 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8208 static int dissect_gprs_TriggerDetectionPoint_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8209 return dissect_gsm_map_T_gprs_TriggerDetectionPoint(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_TriggerDetectionPoint);
8213 static const value_string gsm_map_T_defaultSessionHandling_vals[] = {
8214 { 0, "continueTransaction" },
8215 { 1, "releaseTransaction" },
8221 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_) {
8222 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8226 static int dissect_defaultSessionHandling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8227 return dissect_gsm_map_T_defaultSessionHandling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSessionHandling);
8230 static const ber_sequence_t T_gprs_CamelTDPDataList_item_sequence[] = {
8231 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprs_TriggerDetectionPoint_impl },
8232 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
8233 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8234 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSessionHandling_impl },
8235 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8240 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_) {
8241 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8242 T_gprs_CamelTDPDataList_item_sequence, hf_index, ett_gsm_map_T_gprs_CamelTDPDataList_item);
8246 static int dissect_gprs_CamelTDPDataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8247 return dissect_gsm_map_T_gprs_CamelTDPDataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CamelTDPDataList_item);
8250 static const ber_sequence_t T_gprs_CamelTDPDataList_sequence_of[1] = {
8251 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprs_CamelTDPDataList_item },
8255 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_) {
8256 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8257 T_gprs_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_T_gprs_CamelTDPDataList);
8261 static int dissect_gprs_CamelTDPDataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8262 return dissect_gsm_map_T_gprs_CamelTDPDataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CamelTDPDataList);
8265 static const ber_sequence_t T_gprs_CSI_sequence[] = {
8266 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CamelTDPDataList_impl },
8267 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8268 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8269 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8270 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8275 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_) {
8276 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8277 T_gprs_CSI_sequence, hf_index, ett_gsm_map_T_gprs_CSI);
8281 static int dissect_gprs_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8282 return dissect_gsm_map_T_gprs_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_gprs_CSI);
8286 static const value_string gsm_map_T_sms_TriggerDetectionPoint1_vals[] = {
8287 { 1, "sms-CollectedInfo" },
8288 { 2, "sms-DeliveryRequest" },
8294 dissect_gsm_map_T_sms_TriggerDetectionPoint1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8295 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8299 static int dissect_sms_TriggerDetectionPoint1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8300 return dissect_gsm_map_T_sms_TriggerDetectionPoint1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint1);
8304 static const value_string gsm_map_T_defaultSMS_Handling_vals[] = {
8305 { 0, "continueTransaction" },
8306 { 1, "releaseTransaction" },
8312 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_) {
8313 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8317 static int dissect_defaultSMS_Handling_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8318 return dissect_gsm_map_T_defaultSMS_Handling(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_defaultSMS_Handling);
8321 static const ber_sequence_t Sms_CAMEL_TDP_DataList_item_sequence[] = {
8322 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sms_TriggerDetectionPoint1_impl },
8323 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
8324 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8325 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_defaultSMS_Handling_impl },
8326 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8331 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_) {
8332 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8333 Sms_CAMEL_TDP_DataList_item_sequence, hf_index, ett_gsm_map_Sms_CAMEL_TDP_DataList_item);
8337 static int dissect_Sms_CAMEL_TDP_DataList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8338 return dissect_gsm_map_Sms_CAMEL_TDP_DataList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_Sms_CAMEL_TDP_DataList_item);
8341 static const ber_sequence_t Sms_CAMEL_TDP_DataList_sequence_of[1] = {
8342 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Sms_CAMEL_TDP_DataList_item },
8346 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_) {
8347 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8348 Sms_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_Sms_CAMEL_TDP_DataList);
8352 static int dissect_sms_CAMEL_TDP_DataList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8353 return dissect_gsm_map_Sms_CAMEL_TDP_DataList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sms_CAMEL_TDP_DataList);
8356 static const ber_sequence_t T_mo_sms_CSI_sequence[] = {
8357 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sms_CAMEL_TDP_DataList_impl },
8358 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8359 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8360 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8361 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8366 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_) {
8367 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8368 T_mo_sms_CSI_sequence, hf_index, ett_gsm_map_T_mo_sms_CSI);
8372 static int dissect_mo_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8373 return dissect_gsm_map_T_mo_sms_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mo_sms_CSI);
8376 static const ber_sequence_t T_ss_CSI1_sequence[] = {
8377 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ss_CamelData },
8378 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8379 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8380 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8385 dissect_gsm_map_T_ss_CSI1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8386 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8387 T_ss_CSI1_sequence, hf_index, ett_gsm_map_T_ss_CSI1);
8391 static int dissect_ss_CSI1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8392 return dissect_gsm_map_T_ss_CSI1(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_CSI1);
8395 static const ber_sequence_t MobilityTriggers_sequence_of[1] = {
8396 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_MobilityTriggers_item },
8400 dissect_gsm_map_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8401 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8402 MobilityTriggers_sequence_of, hf_index, ett_gsm_map_MobilityTriggers);
8406 static int dissect_mobilityTriggers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8407 return dissect_gsm_map_MobilityTriggers(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mobilityTriggers);
8410 static const ber_sequence_t T_m_CSI_sequence[] = {
8411 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
8412 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
8413 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8414 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8415 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8416 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8421 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_) {
8422 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8423 T_m_CSI_sequence, hf_index, ett_gsm_map_T_m_CSI);
8427 static int dissect_m_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8428 return dissect_gsm_map_T_m_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_m_CSI);
8431 static const asn_namedbit T_specificCSIDeletedList_bits[] = {
8432 { 0, &hf_gsm_map_T_specificCSIDeletedList_o_csi, -1, -1, NULL, NULL },
8433 { 1, &hf_gsm_map_T_specificCSIDeletedList_ss_csi, -1, -1, NULL, NULL },
8434 { 2, &hf_gsm_map_T_specificCSIDeletedList_tif_csi, -1, -1, NULL, NULL },
8435 { 3, &hf_gsm_map_T_specificCSIDeletedList_d_csi, -1, -1, NULL, NULL },
8436 { 4, &hf_gsm_map_T_specificCSIDeletedList_vt_csi, -1, -1, NULL, NULL },
8437 { 5, &hf_gsm_map_T_specificCSIDeletedList_mo_sms_csi, -1, -1, NULL, NULL },
8438 { 6, &hf_gsm_map_T_specificCSIDeletedList_m_csi, -1, -1, NULL, NULL },
8439 { 7, &hf_gsm_map_T_specificCSIDeletedList_gprs_csi, -1, -1, NULL, NULL },
8440 { 8, &hf_gsm_map_T_specificCSIDeletedList_t_csi, -1, -1, NULL, NULL },
8441 { 9, &hf_gsm_map_T_specificCSIDeletedList_mt_sms_csi, -1, -1, NULL, NULL },
8442 { 10, &hf_gsm_map_T_specificCSIDeletedList_mg_csi, -1, -1, NULL, NULL },
8443 { 11, &hf_gsm_map_T_specificCSIDeletedList_o_IM_CSI, -1, -1, NULL, NULL },
8444 { 12, &hf_gsm_map_T_specificCSIDeletedList_d_IM_CSI, -1, -1, NULL, NULL },
8445 { 13, &hf_gsm_map_T_specificCSIDeletedList_vt_IM_CSI, -1, -1, NULL, NULL },
8446 { 0, NULL, 0, 0, NULL, NULL }
8450 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_) {
8451 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8452 T_specificCSIDeletedList_bits, hf_index, ett_gsm_map_T_specificCSIDeletedList,
8457 static int dissect_specificCSIDeletedList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8458 return dissect_gsm_map_T_specificCSIDeletedList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_specificCSIDeletedList);
8461 static const ber_sequence_t T_mt_sms_CSI_sequence[] = {
8462 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sms_CAMEL_TDP_DataList_impl },
8463 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8464 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8465 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8466 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8471 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_) {
8472 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8473 T_mt_sms_CSI_sequence, hf_index, ett_gsm_map_T_mt_sms_CSI);
8477 static int dissect_mt_sms_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8478 return dissect_gsm_map_T_mt_sms_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_sms_CSI);
8482 static const value_string gsm_map_T_sms_TriggerDetectionPoint_vals[] = {
8483 { 1, "sms-CollectedInfo" },
8484 { 2, "sms-DeliveryRequest" },
8490 dissect_gsm_map_T_sms_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8491 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8495 static int dissect_sms_TriggerDetectionPoint(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8496 return dissect_gsm_map_T_sms_TriggerDetectionPoint(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sms_TriggerDetectionPoint);
8500 static const value_string gsm_map_T_tpdu_TypeCriterion_item_vals[] = {
8501 { 0, "sms-DELIVER" },
8502 { 1, "sms-SUBMIT-REPORT" },
8503 { 2, "sms-STATUS-REPORT" },
8509 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_) {
8510 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8514 static int dissect_tpdu_TypeCriterion_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8515 return dissect_gsm_map_T_tpdu_TypeCriterion_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_tpdu_TypeCriterion_item);
8518 static const ber_sequence_t T_tpdu_TypeCriterion_sequence_of[1] = {
8519 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_tpdu_TypeCriterion_item },
8523 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_) {
8524 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8525 T_tpdu_TypeCriterion_sequence_of, hf_index, ett_gsm_map_T_tpdu_TypeCriterion);
8529 static int dissect_tpdu_TypeCriterion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8530 return dissect_gsm_map_T_tpdu_TypeCriterion(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_tpdu_TypeCriterion);
8533 static const ber_sequence_t T_mt_smsCAMELTDP_CriteriaList_item_sequence[] = {
8534 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sms_TriggerDetectionPoint },
8535 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tpdu_TypeCriterion_impl },
8540 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_) {
8541 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8542 T_mt_smsCAMELTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item);
8546 static int dissect_mt_smsCAMELTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8547 return dissect_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mt_smsCAMELTDP_CriteriaList_item);
8550 static const ber_sequence_t T_mt_smsCAMELTDP_CriteriaList_sequence_of[1] = {
8551 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mt_smsCAMELTDP_CriteriaList_item },
8555 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_) {
8556 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8557 T_mt_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList);
8561 static int dissect_mt_smsCAMELTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8562 return dissect_gsm_map_T_mt_smsCAMELTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mt_smsCAMELTDP_CriteriaList);
8565 static const ber_sequence_t T_mg_csi_sequence[] = {
8566 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mobilityTriggers },
8567 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serviceKey },
8568 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
8569 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8570 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8571 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8576 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_) {
8577 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8578 T_mg_csi_sequence, hf_index, ett_gsm_map_T_mg_csi);
8582 static int dissect_mg_csi_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8583 return dissect_gsm_map_T_mg_csi(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mg_csi);
8586 static const ber_sequence_t T_o_IM_CSI_sequence[] = {
8587 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_BcsmCamelTDPDataList },
8588 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8589 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8590 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8591 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csiActive_impl },
8596 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_) {
8597 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8598 T_o_IM_CSI_sequence, hf_index, ett_gsm_map_T_o_IM_CSI);
8602 static int dissect_o_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8603 return dissect_gsm_map_T_o_IM_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_CSI);
8607 static const value_string gsm_map_T_o_BcsmTriggerDetectionPoint1_vals[] = {
8608 { 2, "collectedInfo" },
8609 { 4, "routeSelectFailure" },
8615 dissect_gsm_map_T_o_BcsmTriggerDetectionPoint1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8616 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8620 static int dissect_o_BcsmTriggerDetectionPoint2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8621 return dissect_gsm_map_T_o_BcsmTriggerDetectionPoint1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_BcsmTriggerDetectionPoint2);
8624 static const ber_sequence_t T_o_IM_BcsmCamelTDP_CriteriaList_item_sequence[] = {
8625 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_o_BcsmTriggerDetectionPoint2 },
8626 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberCriteria_impl },
8627 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria1_impl },
8628 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callTypeCriteria_impl },
8629 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CauseValueCriteria_impl },
8630 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8635 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_) {
8636 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8637 T_o_IM_BcsmCamelTDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item);
8641 static int dissect_o_IM_BcsmCamelTDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8642 return dissect_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList_item);
8645 static const ber_sequence_t T_o_IM_BcsmCamelTDP_CriteriaList_sequence_of[1] = {
8646 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_o_IM_BcsmCamelTDP_CriteriaList_item },
8650 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_) {
8651 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8652 T_o_IM_BcsmCamelTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList);
8656 static int dissect_o_IM_BcsmCamelTDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8657 return dissect_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList);
8660 static const ber_sequence_t T_d_IM_CSI_sequence[] = {
8661 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dp_AnalysedInfoCriteriaList_impl },
8662 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8663 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8664 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8665 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8670 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_) {
8671 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8672 T_d_IM_CSI_sequence, hf_index, ett_gsm_map_T_d_IM_CSI);
8676 static int dissect_d_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8677 return dissect_gsm_map_T_d_IM_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_d_IM_CSI);
8680 static const ber_sequence_t T_vt_IM_CSI_sequence[] = {
8681 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_t_BcsmCamelTDPDataList },
8682 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
8683 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camelCapabilityHandling_impl },
8684 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationToCSE_impl },
8685 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_csi_Active_impl },
8690 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_) {
8691 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8692 T_vt_IM_CSI_sequence, hf_index, ett_gsm_map_T_vt_IM_CSI);
8696 static int dissect_vt_IM_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8697 return dissect_gsm_map_T_vt_IM_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_vt_IM_CSI);
8701 static const value_string gsm_map_T_t_BCSM_TriggerDetectionPoint2_vals[] = {
8702 { 12, "termAttemptAuthorized" },
8704 { 14, "tNoAnswer" },
8710 dissect_gsm_map_T_t_BCSM_TriggerDetectionPoint2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8711 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8715 static int dissect_t_BCSM_TriggerDetectionPoint2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8716 return dissect_gsm_map_T_t_BCSM_TriggerDetectionPoint2(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_t_BCSM_TriggerDetectionPoint2);
8719 static const ber_sequence_t T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item_sequence[] = {
8720 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_t_BCSM_TriggerDetectionPoint2 },
8721 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_basicServiceCriteria1_impl },
8722 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_t_CauseValueCriteria_impl },
8727 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_) {
8728 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8729 T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item_sequence, hf_index, ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item);
8733 static int dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8734 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);
8737 static const ber_sequence_t T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
8738 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item },
8742 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_) {
8743 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
8744 T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList);
8748 static int dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8749 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);
8752 static const ber_sequence_t T_camel_SubscriptionInfo_sequence[] = {
8753 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_CSI_impl },
8754 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_BcsmCamelTDP_CriteriaList1_impl },
8755 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_CSI_impl },
8756 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_CSI1_impl },
8757 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_t_BCSM_CAMEL_TDP_CriteriaList_impl },
8758 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_CSI_impl },
8759 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_BCSM_CAMEL_TDP_CriteriaList_impl },
8760 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_impl },
8761 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tif_CSI_NotificationToCSE_impl },
8762 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprs_CSI_impl },
8763 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mo_sms_CSI_impl },
8764 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_CSI1_impl },
8765 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_m_CSI_impl },
8766 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8767 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificCSIDeletedList_impl },
8768 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_sms_CSI_impl },
8769 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mt_smsCAMELTDP_CriteriaList_impl },
8770 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mg_csi_impl },
8771 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_CSI_impl },
8772 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_o_IM_BcsmCamelTDP_CriteriaList_impl },
8773 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_d_IM_CSI_impl },
8774 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_CSI_impl },
8775 { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vt_IM_BCSM_CAMEL_TDP_CriteriaList_impl },
8780 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_) {
8781 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8782 T_camel_SubscriptionInfo_sequence, hf_index, ett_gsm_map_T_camel_SubscriptionInfo);
8786 static int dissect_camel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8787 return dissect_gsm_map_T_camel_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_camel_SubscriptionInfo);
8790 static const asn_namedbit T_supportedVLR_CAMEL_Phases_bits[] = {
8791 { 0, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase1, -1, -1, NULL, NULL },
8792 { 1, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase2, -1, -1, NULL, NULL },
8793 { 2, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase3, -1, -1, NULL, NULL },
8794 { 3, &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase4, -1, -1, NULL, NULL },
8795 { 0, NULL, 0, 0, NULL, NULL }
8799 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_) {
8800 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8801 T_supportedVLR_CAMEL_Phases_bits, hf_index, ett_gsm_map_T_supportedVLR_CAMEL_Phases,
8806 static int dissect_supportedVLR_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8807 return dissect_gsm_map_T_supportedVLR_CAMEL_Phases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedVLR_CAMEL_Phases);
8810 static const asn_namedbit T_supportedSGSN_CAMEL_Phases_bits[] = {
8811 { 0, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase1, -1, -1, NULL, NULL },
8812 { 1, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase2, -1, -1, NULL, NULL },
8813 { 2, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase3, -1, -1, NULL, NULL },
8814 { 3, &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase4, -1, -1, NULL, NULL },
8815 { 0, NULL, 0, 0, NULL, NULL }
8819 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_) {
8820 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8821 T_supportedSGSN_CAMEL_Phases_bits, hf_index, ett_gsm_map_T_supportedSGSN_CAMEL_Phases,
8826 static int dissect_supportedSGSN_CAMEL_Phases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8827 return dissect_gsm_map_T_supportedSGSN_CAMEL_Phases(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_supportedSGSN_CAMEL_Phases);
8830 static const asn_namedbit T_offeredCamel4CSIsInVLR_bits[] = {
8831 { 0, &hf_gsm_map_T_offeredCamel4CSIsInVLR_o_csi, -1, -1, NULL, NULL },
8832 { 1, &hf_gsm_map_T_offeredCamel4CSIsInVLR_d_csi, -1, -1, NULL, NULL },
8833 { 2, &hf_gsm_map_T_offeredCamel4CSIsInVLR_vt_csi, -1, -1, NULL, NULL },
8834 { 3, &hf_gsm_map_T_offeredCamel4CSIsInVLR_t_csi, -1, -1, NULL, NULL },
8835 { 4, &hf_gsm_map_T_offeredCamel4CSIsInVLR_mt_sms_csi, -1, -1, NULL, NULL },
8836 { 5, &hf_gsm_map_T_offeredCamel4CSIsInVLR_mg_csi, -1, -1, NULL, NULL },
8837 { 6, &hf_gsm_map_T_offeredCamel4CSIsInVLR_psi_enhancements, -1, -1, NULL, NULL },
8838 { 0, NULL, 0, 0, NULL, NULL }
8842 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_) {
8843 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8844 T_offeredCamel4CSIsInVLR_bits, hf_index, ett_gsm_map_T_offeredCamel4CSIsInVLR,
8849 static int dissect_offeredCamel4CSIsInVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8850 return dissect_gsm_map_T_offeredCamel4CSIsInVLR(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInVLR);
8853 static const asn_namedbit T_offeredCamel4CSIsInSGSN_bits[] = {
8854 { 0, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_o_csi, -1, -1, NULL, NULL },
8855 { 1, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_d_csi, -1, -1, NULL, NULL },
8856 { 2, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_vt_csi, -1, -1, NULL, NULL },
8857 { 3, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_t_csi, -1, -1, NULL, NULL },
8858 { 4, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mt_sms_csi, -1, -1, NULL, NULL },
8859 { 5, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mg_csi, -1, -1, NULL, NULL },
8860 { 6, &hf_gsm_map_T_offeredCamel4CSIsInSGSN_psi_enhancements, -1, -1, NULL, NULL },
8861 { 0, NULL, 0, 0, NULL, NULL }
8865 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_) {
8866 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8867 T_offeredCamel4CSIsInSGSN_bits, hf_index, ett_gsm_map_T_offeredCamel4CSIsInSGSN,
8872 static int dissect_offeredCamel4CSIsInSGSN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8873 return dissect_gsm_map_T_offeredCamel4CSIsInSGSN(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_offeredCamel4CSIsInSGSN);
8876 static const ber_sequence_t AnyTimeSubscriptionInterrogationRes_sequence[] = {
8877 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callForwardingData_impl },
8878 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callBarringData_impl },
8879 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_Info_impl },
8880 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_SubscriptionInfo_impl },
8881 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedVLR_CAMEL_Phases_impl },
8882 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedSGSN_CAMEL_Phases_impl },
8883 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8884 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInVLR_impl },
8885 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4CSIsInSGSN_impl },
8890 dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8891 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8892 AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_AnyTimeSubscriptionInterrogationRes);
8898 static const value_string gsm_map_T_basicService_vals[] = {
8899 { 2, "ext-BearerService" },
8900 { 3, "ext-Teleservice" },
8904 static const ber_choice_t T_basicService_choice[] = {
8905 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
8906 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
8907 { 0, 0, 0, 0, NULL }
8911 dissect_gsm_map_T_basicService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8912 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8913 T_basicService_choice, hf_index, ett_gsm_map_T_basicService);
8917 static int dissect_basicService1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8918 return dissect_gsm_map_T_basicService(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService1);
8924 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_) {
8925 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8929 static int dissect_noReplyConditionTime1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8930 return dissect_gsm_map_INTEGER_1_100(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_noReplyConditionTime1);
8934 static const value_string gsm_map_ModifyNotificationToCSE_vals[] = {
8935 { 0, "deactivate" },
8942 dissect_gsm_map_ModifyNotificationToCSE(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8943 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
8947 static int dissect_modifyNotificationToCSE_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8948 return dissect_gsm_map_ModifyNotificationToCSE(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyNotificationToCSE);
8951 static const ber_sequence_t T_modificationRequestFor_CF_Info_sequence[] = {
8952 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
8953 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_basicService1 },
8954 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
8955 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToNumber_impl },
8956 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedToSubaddress_impl },
8957 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_noReplyConditionTime1_impl },
8958 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
8959 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
8964 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_) {
8965 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8966 T_modificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_CF_Info);
8970 static int dissect_modificationRequestFor_CF_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8971 return dissect_gsm_map_T_modificationRequestFor_CF_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CF_Info);
8975 static const value_string gsm_map_T_basicService1_vals[] = {
8976 { 2, "ext-BearerService" },
8977 { 3, "ext-Teleservice" },
8981 static const ber_choice_t T_basicService1_choice[] = {
8982 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ext_BearerService_impl },
8983 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ext_Teleservice_impl },
8984 { 0, 0, 0, 0, NULL }
8988 dissect_gsm_map_T_basicService1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
8989 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8990 T_basicService1_choice, hf_index, ett_gsm_map_T_basicService1);
8994 static int dissect_basicService2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8995 return dissect_gsm_map_T_basicService1(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_basicService2);
8998 static const ber_sequence_t T_modificationRequestFor_CB_Info_sequence[] = {
8999 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
9000 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_basicService2 },
9001 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
9002 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_password_impl },
9003 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_wrongPasswordAttemptsCounter_impl },
9004 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
9005 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9010 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_) {
9011 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9012 T_modificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_CB_Info);
9016 static int dissect_modificationRequestFor_CB_Info_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9017 return dissect_gsm_map_T_modificationRequestFor_CB_Info(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CB_Info);
9021 static const value_string gsm_map_T_requestedCamel_SubscriptionInfo_vals[] = {
9027 { 5, "mo-sms-CSI" },
9036 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_) {
9037 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9041 static int dissect_requestedCamel_SubscriptionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9042 return dissect_gsm_map_T_requestedCamel_SubscriptionInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_requestedCamel_SubscriptionInfo);
9046 static const value_string gsm_map_T_modifyCSI_State_vals[] = {
9047 { 0, "deactivate" },
9054 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_) {
9055 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9059 static int dissect_modifyCSI_State_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9060 return dissect_gsm_map_T_modifyCSI_State(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modifyCSI_State);
9063 static const ber_sequence_t T_modificationRequestFor_CSI_sequence[] = {
9064 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedCamel_SubscriptionInfo_impl },
9065 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
9066 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyCSI_State_impl },
9067 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9068 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalRequestedCAMEL_SubscriptionInfo_impl },
9073 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_) {
9074 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9075 T_modificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_CSI);
9079 static int dissect_modificationRequestFor_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9080 return dissect_gsm_map_T_modificationRequestFor_CSI(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_CSI);
9083 static const ber_sequence_t T_modificationRequestFor_ODB_data_sequence[] = {
9084 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_odb_data_impl },
9085 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyNotificationToCSE_impl },
9086 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9091 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_) {
9092 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9093 T_modificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_T_modificationRequestFor_ODB_data);
9097 static int dissect_modificationRequestFor_ODB_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9098 return dissect_gsm_map_T_modificationRequestFor_ODB_data(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_modificationRequestFor_ODB_data);
9101 static const ber_sequence_t AnyTimeModificationArg_sequence[] = {
9102 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_subscriberIdentity },
9103 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsmSCF_Address_impl },
9104 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CF_Info_impl },
9105 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CB_Info_impl },
9106 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_CSI_impl },
9107 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9108 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_longFTN_Supported_impl },
9109 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modificationRequestFor_ODB_data_impl },
9114 dissect_gsm_map_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9115 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9116 AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_AnyTimeModificationArg);
9121 static const ber_sequence_t T_ss_EventSpecification_sequence_of[1] = {
9122 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ss_EventSpecification_item },
9126 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_) {
9127 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
9128 T_ss_EventSpecification_sequence_of, hf_index, ett_gsm_map_T_ss_EventSpecification);
9132 static int dissect_ss_EventSpecification_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9133 return dissect_gsm_map_T_ss_EventSpecification(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ss_EventSpecification);
9136 static const ber_sequence_t Ss_InvocationNotificationArg_sequence[] = {
9137 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9138 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9139 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ss_Event_impl },
9140 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_EventSpecification_impl },
9141 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9146 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_) {
9147 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9148 Ss_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationArg);
9153 static const ber_sequence_t Ss_InvocationNotificationRes_sequence[] = {
9154 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9159 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_) {
9160 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9161 Ss_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_Ss_InvocationNotificationRes);
9168 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_) {
9169 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9174 static int dissect_codec_Info(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9175 return dissect_gsm_map_OCTET_STRING_SIZE_5_10(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_codec_Info);
9178 static const ber_sequence_t PrepareGroupCallArg_sequence[] = {
9179 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_teleservice },
9180 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_asciCallReference },
9181 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_codec_Info },
9182 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_cipheringAlgorithm },
9183 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKeyNumber_impl },
9184 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_groupKey_impl },
9185 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
9186 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkFree_impl },
9187 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9192 dissect_gsm_map_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9193 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9194 PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_PrepareGroupCallArg);
9201 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_) {
9202 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9207 static int dissect_groupCallNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9208 return dissect_gsm_map_T_groupCallNumber(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_groupCallNumber);
9211 static const ber_sequence_t PrepareGroupCallRes_sequence[] = {
9212 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_groupCallNumber },
9213 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9218 dissect_gsm_map_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9219 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9220 PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_PrepareGroupCallRes);
9225 static const ber_sequence_t SendGroupCallEndSignalArg_sequence[] = {
9226 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
9227 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9232 dissect_gsm_map_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9233 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9234 SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalArg);
9239 static const ber_sequence_t SendGroupCallEndSignalRes_sequence[] = {
9240 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9245 dissect_gsm_map_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9246 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9247 SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_SendGroupCallEndSignalRes);
9252 static const ber_sequence_t ProcessGroupCallSignallingArg_sequence[] = {
9253 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequest_impl },
9254 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
9255 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseGroupCall_impl },
9256 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9261 dissect_gsm_map_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9262 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9263 ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ProcessGroupCallSignallingArg);
9268 static const ber_sequence_t ForwardGroupCallSignallingArg_sequence[] = {
9269 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_imsi },
9270 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRequestAck_impl },
9271 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseIndication_impl },
9272 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkRejectCommand_impl },
9273 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkSeizedCommand_impl },
9274 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uplinkReleaseCommand_impl },
9275 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9280 dissect_gsm_map_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9281 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9282 ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_ForwardGroupCallSignallingArg);
9287 static const ber_sequence_t T_sgsn_Capability_sequence[] = {
9288 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_solsaSupportIndicator },
9289 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9294 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_) {
9295 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9296 T_sgsn_Capability_sequence, hf_index, ett_gsm_map_T_sgsn_Capability);
9300 static int dissect_sgsn_Capability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9301 return dissect_gsm_map_T_sgsn_Capability(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_sgsn_Capability);
9304 static const ber_sequence_t UpdateGprsLocationArg_sequence[] = {
9305 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_imsi },
9306 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Number },
9307 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_sgsn_Address },
9308 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9309 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Capability_impl },
9314 dissect_gsm_map_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9315 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9316 UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_UpdateGprsLocationArg);
9321 static const ber_sequence_t UpdateGprsLocationRes_sequence[] = {
9322 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_hlr_Number },
9323 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9328 dissect_gsm_map_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9329 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9330 UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_UpdateGprsLocationRes);
9337 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_) {
9338 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9343 static int dissect_ggsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9344 return dissect_gsm_map_Ggsn_Number(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_ggsn_Number);
9347 static const ber_sequence_t SendRoutingInfoForGprsArg_sequence[] = {
9348 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9349 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9350 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
9351 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9356 dissect_gsm_map_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9357 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9358 SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsArg);
9363 static const ber_sequence_t SendRoutingInfoForGprsRes_sequence[] = {
9364 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
9365 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9366 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mobileNotReachableReason_impl },
9367 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9372 dissect_gsm_map_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9373 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9374 SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_SendRoutingInfoForGprsRes);
9379 static const ber_sequence_t FailureReportArg_sequence[] = {
9380 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9381 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ggsn_Number_impl },
9382 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9383 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9388 dissect_gsm_map_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9389 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9390 FailureReportArg_sequence, hf_index, ett_gsm_map_FailureReportArg);
9395 static const ber_sequence_t FailureReportRes_sequence[] = {
9396 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9397 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9402 dissect_gsm_map_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9403 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9404 FailureReportRes_sequence, hf_index, ett_gsm_map_FailureReportRes);
9409 static const ber_sequence_t NoteMsPresentForGprsArg_sequence[] = {
9410 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9411 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sgsn_Address_impl },
9412 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ggsn_Address_impl },
9413 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9418 dissect_gsm_map_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9419 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9420 NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsArg);
9425 static const ber_sequence_t NoteMsPresentForGprsRes_sequence[] = {
9426 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9431 dissect_gsm_map_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9432 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9433 NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_NoteMsPresentForGprsRes);
9439 static const value_string gsm_map_LcsClientType_vals[] = {
9440 { 0, "emergencyServices" },
9441 { 1, "valueAddedServices" },
9442 { 2, "plmnOperatorServices" },
9443 { 3, "lawfulInterceptServices" },
9449 dissect_gsm_map_LcsClientType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9450 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9454 static int dissect_lcsClientType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9455 return dissect_gsm_map_LcsClientType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientType);
9458 static const ber_sequence_t LcsClientExternalID_sequence[] = {
9459 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_externalAddress_impl },
9460 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9465 dissect_gsm_map_LcsClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9466 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9467 LcsClientExternalID_sequence, hf_index, ett_gsm_map_LcsClientExternalID);
9471 static int dissect_lcsClientExternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9472 return dissect_gsm_map_LcsClientExternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientExternalID);
9476 static const value_string gsm_map_LcsClientInternalID_vals[] = {
9477 { 0, "broadcastService" },
9478 { 1, "o-andM-HPLMN" },
9479 { 2, "o-andM-VPLMN" },
9480 { 3, "anonymousLocation" },
9481 { 4, "targetMSsubscribedService" },
9487 dissect_gsm_map_LcsClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9488 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9492 static int dissect_lcsClientInternalID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9493 return dissect_gsm_map_LcsClientInternalID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientInternalID);
9496 static const ber_sequence_t LcsClientName_sequence[] = {
9497 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dataCodingScheme_impl },
9498 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_nameString_impl },
9503 dissect_gsm_map_LcsClientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9504 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9505 LcsClientName_sequence, hf_index, ett_gsm_map_LcsClientName);
9509 static int dissect_lcsClientName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9510 return dissect_gsm_map_LcsClientName(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsClientName);
9513 static const ber_sequence_t Lcs_ClientID_sequence[] = {
9514 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lcsClientType_impl },
9515 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientExternalID_impl },
9516 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientDialedByMS_impl },
9517 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientInternalID_impl },
9518 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcsClientName_impl },
9523 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_) {
9524 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9525 Lcs_ClientID_sequence, hf_index, ett_gsm_map_Lcs_ClientID);
9529 static int dissect_lcs_ClientID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9530 return dissect_gsm_map_Lcs_ClientID(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
9532 static int dissect_lcs_ClientID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9533 return dissect_gsm_map_Lcs_ClientID(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_ClientID);
9537 static const value_string gsm_map_Lcs_Event_vals[] = {
9538 { 0, "emergencyCallOrigination" },
9539 { 1, "emergencyCallRelease" },
9546 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_) {
9547 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9551 static int dissect_lcs_Event(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9552 return dissect_gsm_map_Lcs_Event(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_Event);
9555 static const ber_sequence_t LcsLocationInfo_sequence[] = {
9556 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_msc_Number },
9557 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
9558 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9563 dissect_gsm_map_LcsLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9564 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9565 LcsLocationInfo_sequence, hf_index, ett_gsm_map_LcsLocationInfo);
9569 static int dissect_lcsLocationInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9570 return dissect_gsm_map_LcsLocationInfo(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
9572 static int dissect_lcsLocationInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9573 return dissect_gsm_map_LcsLocationInfo(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcsLocationInfo);
9577 static const value_string gsm_map_T_locationEstimateType_vals[] = {
9578 { 0, "currentLocation" },
9579 { 1, "currentOrLastKnownLocation" },
9580 { 2, "initialLocation" },
9586 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_) {
9587 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9591 static int dissect_locationEstimateType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9592 return dissect_gsm_map_T_locationEstimateType(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_locationEstimateType);
9595 static const ber_sequence_t T_locationType_sequence[] = {
9596 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_locationEstimateType_impl },
9601 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_) {
9602 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9603 T_locationType_sequence, hf_index, ett_gsm_map_T_locationType);
9607 static int dissect_locationType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9608 return dissect_gsm_map_T_locationType(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_locationType);
9613 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_) {
9614 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9619 static int dissect_mlc_Number(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9620 return dissect_gsm_map_T_mlc_Number(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_mlc_Number);
9624 static const value_string gsm_map_T_responseTimeCategory_vals[] = {
9626 { 1, "delaytolerant" },
9632 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_) {
9633 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9637 static int dissect_responseTimeCategory(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9638 return dissect_gsm_map_T_responseTimeCategory(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_responseTimeCategory);
9641 static const ber_sequence_t T_responseTime_sequence[] = {
9642 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_responseTimeCategory },
9647 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_) {
9648 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9649 T_responseTime_sequence, hf_index, ett_gsm_map_T_responseTime);
9653 static int dissect_responseTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9654 return dissect_gsm_map_T_responseTime(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_responseTime);
9657 static const ber_sequence_t T_lcs_QoS_sequence[] = {
9658 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_horizontal_accuracy_impl },
9659 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_verticalCoordinateRequest_impl },
9660 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_vertical_accuracy_impl },
9661 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseTime_impl },
9662 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9667 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_) {
9668 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9669 T_lcs_QoS_sequence, hf_index, ett_gsm_map_T_lcs_QoS);
9673 static int dissect_lcs_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9674 return dissect_gsm_map_T_lcs_QoS(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_lcs_QoS);
9677 static const ber_sequence_t ProvideSubscriberLocation_Arg_sequence[] = {
9678 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_locationType },
9679 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_mlc_Number },
9680 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_ClientID_impl },
9681 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privacyOverride_impl },
9682 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9683 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9684 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lmsi_impl },
9685 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
9686 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_Priority_impl },
9687 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lcs_QoS_impl },
9688 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9693 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_) {
9694 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9695 ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Arg);
9700 static const ber_sequence_t ProvideSubscriberLocation_Res_sequence[] = {
9701 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_locationEstimate },
9702 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
9703 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9708 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_) {
9709 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9710 ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_ProvideSubscriberLocation_Res);
9716 static const value_string gsm_map_TargetMS_vals[] = {
9722 static const ber_choice_t TargetMS_choice[] = {
9723 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9724 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9725 { 0, 0, 0, 0, NULL }
9729 dissect_gsm_map_TargetMS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9730 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9731 TargetMS_choice, hf_index, ett_gsm_map_TargetMS);
9735 static int dissect_targetMS(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9736 return dissect_gsm_map_TargetMS(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_targetMS);
9741 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_) {
9742 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9747 static int dissect_mlcNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9748 return dissect_gsm_map_T_mlcNumber(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_mlcNumber);
9751 static const ber_sequence_t RoutingInfoForLCS_Arg_sequence[] = {
9752 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mlcNumber_impl },
9753 { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_targetMS },
9754 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9759 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_) {
9760 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9761 RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Arg);
9766 static const ber_sequence_t RoutingInfoForLCS_Res_sequence[] = {
9767 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_targetMS },
9768 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_lcsLocationInfo_impl },
9769 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9774 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_) {
9775 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9776 RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_RoutingInfoForLCS_Res);
9783 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_) {
9784 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9789 static int dissect_na_ESRD_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9790 return dissect_gsm_map_T_na_ESRD(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRD);
9795 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_) {
9796 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
9801 static int dissect_na_ESRK_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9802 return dissect_gsm_map_T_na_ESRK(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_na_ESRK);
9805 static const ber_sequence_t SubscriberLocationReport_Arg_sequence[] = {
9806 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_lcs_Event },
9807 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcs_ClientID },
9808 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_lcsLocationInfo },
9809 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_msisdn_impl },
9810 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imsi_impl },
9811 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_imei_impl },
9812 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRD_impl },
9813 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_na_ESRK_impl },
9814 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationEstimate_impl },
9815 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ageOfLocationEstimate_impl },
9816 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
9821 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_) {
9822 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9823 SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Arg);
9828 static const ber_sequence_t SubscriberLocationReport_Res_sequence[] = {
9829 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9834 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_) {
9835 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9836 SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_SubscriberLocationReport_Res);
9842 static const value_string gsm_map_NetworkResource_vals[] = {
9847 { 4, "controllingMSC" },
9856 dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9857 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9861 static int dissect_networkResource(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9862 return dissect_gsm_map_NetworkResource(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_networkResource);
9865 static const ber_sequence_t T_extensibleSystemFailureParam_sequence[] = {
9866 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_networkResource },
9867 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9872 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_) {
9873 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9874 T_extensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_T_extensibleSystemFailureParam);
9878 static int dissect_extensibleSystemFailureParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9879 return dissect_gsm_map_T_extensibleSystemFailureParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleSystemFailureParam);
9883 static const value_string gsm_map_SystemFailureParam_vals[] = {
9884 { 0, "networkResource" },
9885 { 1, "extensibleSystemFailureParam" },
9889 static const ber_choice_t SystemFailureParam_choice[] = {
9890 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_networkResource },
9891 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleSystemFailureParam },
9892 { 0, 0, 0, 0, NULL }
9896 dissect_gsm_map_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9897 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
9898 SystemFailureParam_choice, hf_index, ett_gsm_map_SystemFailureParam);
9903 static const ber_sequence_t DataMissingParam_sequence[] = {
9904 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9909 dissect_gsm_map_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9910 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9911 DataMissingParam_sequence, hf_index, ett_gsm_map_DataMissingParam);
9916 static const ber_sequence_t UnexpectedDataParam_sequence[] = {
9917 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9922 dissect_gsm_map_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9923 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9924 UnexpectedDataParam_sequence, hf_index, ett_gsm_map_UnexpectedDataParam);
9929 static const ber_sequence_t FacilityNotSupParam_sequence[] = {
9930 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9935 dissect_gsm_map_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9936 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9937 FacilityNotSupParam_sequence, hf_index, ett_gsm_map_FacilityNotSupParam);
9942 static const ber_sequence_t IncompatibleTerminalParam_sequence[] = {
9943 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9948 dissect_gsm_map_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9949 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9950 IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_IncompatibleTerminalParam);
9955 static const ber_sequence_t ResourceLimitationParam_sequence[] = {
9956 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9961 dissect_gsm_map_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9962 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9963 ResourceLimitationParam_sequence, hf_index, ett_gsm_map_ResourceLimitationParam);
9969 static const value_string gsm_map_T_unknownSubscriberDiagnostic_vals[] = {
9970 { 0, "imsiUnknown" },
9971 { 1, "gprsSubscriptionUnknown" },
9977 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_) {
9978 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
9982 static int dissect_unknownSubscriberDiagnostic(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
9983 return dissect_gsm_map_T_unknownSubscriberDiagnostic(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_unknownSubscriberDiagnostic);
9986 static const ber_sequence_t UnknownSubscriberParam_sequence[] = {
9987 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
9988 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_unknownSubscriberDiagnostic },
9993 dissect_gsm_map_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
9994 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
9995 UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_UnknownSubscriberParam);
10000 static const ber_sequence_t NumberChangedParam_sequence[] = {
10001 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10006 dissect_gsm_map_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10007 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10008 NumberChangedParam_sequence, hf_index, ett_gsm_map_NumberChangedParam);
10013 static const ber_sequence_t UnidentifiedSubParam_sequence[] = {
10014 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10019 dissect_gsm_map_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10020 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10021 UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_UnidentifiedSubParam);
10027 static const value_string gsm_map_T_roamingNotAllowedCause_vals[] = {
10028 { 0, "plmnRoamingNotAllowed" },
10029 { 3, "operatorDeterminedBarring" },
10035 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_) {
10036 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10040 static int dissect_roamingNotAllowedCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10041 return dissect_gsm_map_T_roamingNotAllowedCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_roamingNotAllowedCause);
10044 static const ber_sequence_t RoamingNotAllowedParam_sequence[] = {
10045 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_roamingNotAllowedCause },
10046 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10051 dissect_gsm_map_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10052 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10053 RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_RoamingNotAllowedParam);
10058 static const ber_sequence_t IllegalSubscriberParam_sequence[] = {
10059 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10064 dissect_gsm_map_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10065 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10066 IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_IllegalSubscriberParam);
10071 static const ber_sequence_t IllegalEquipmentParam_sequence[] = {
10072 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10077 dissect_gsm_map_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10078 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10079 IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_IllegalEquipmentParam);
10084 static const ber_sequence_t BearerServNotProvParam_sequence[] = {
10085 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10090 dissect_gsm_map_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10091 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10092 BearerServNotProvParam_sequence, hf_index, ett_gsm_map_BearerServNotProvParam);
10097 static const ber_sequence_t TeleservNotProvParam_sequence[] = {
10098 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10103 dissect_gsm_map_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10104 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10105 TeleservNotProvParam_sequence, hf_index, ett_gsm_map_TeleservNotProvParam);
10110 static const ber_sequence_t TracingBufferFullParam_sequence[] = {
10111 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10116 dissect_gsm_map_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10117 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10118 TracingBufferFullParam_sequence, hf_index, ett_gsm_map_TracingBufferFullParam);
10123 static const ber_sequence_t NoRoamingNbParam_sequence[] = {
10124 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10129 dissect_gsm_map_NoRoamingNbParam(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 NoRoamingNbParam_sequence, hf_index, ett_gsm_map_NoRoamingNbParam);
10137 static const value_string gsm_map_T_absentSubscriberReason_vals[] = {
10138 { 0, "imsiDetach" },
10139 { 1, "restrictedArea" },
10140 { 2, "noPageResponse" },
10146 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_) {
10147 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10151 static int dissect_absentSubscriberReason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10152 return dissect_gsm_map_T_absentSubscriberReason(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_absentSubscriberReason);
10155 static const ber_sequence_t AbsentSubscriberParam_sequence[] = {
10156 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10157 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_absentSubscriberReason_impl },
10162 dissect_gsm_map_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10163 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10164 AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_AbsentSubscriberParam);
10169 static const ber_sequence_t BusySubscriberParam_sequence[] = {
10170 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10171 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Possible_impl },
10172 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ccbs_Busy_impl },
10177 dissect_gsm_map_BusySubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10178 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10179 BusySubscriberParam_sequence, hf_index, ett_gsm_map_BusySubscriberParam);
10184 static const ber_sequence_t NoSubscriberReplyParam_sequence[] = {
10185 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10190 dissect_gsm_map_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10191 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10192 NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_NoSubscriberReplyParam);
10198 static const value_string gsm_map_CallBarringCause_vals[] = {
10199 { 0, "barringServiceActive" },
10200 { 1, "operatorBarring" },
10206 dissect_gsm_map_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10207 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10211 static int dissect_callBarringCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10212 return dissect_gsm_map_CallBarringCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_callBarringCause);
10215 static const ber_sequence_t T_extensibleCallBarredParam_sequence[] = {
10216 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
10217 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10218 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorisedMessageOriginator_impl },
10223 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_) {
10224 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10225 T_extensibleCallBarredParam_sequence, hf_index, ett_gsm_map_T_extensibleCallBarredParam);
10229 static int dissect_extensibleCallBarredParam(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10230 return dissect_gsm_map_T_extensibleCallBarredParam(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_extensibleCallBarredParam);
10234 static const value_string gsm_map_CallBarredParam_vals[] = {
10235 { 0, "callBarringCause" },
10236 { 1, "extensibleCallBarredParam" },
10240 static const ber_choice_t CallBarredParam_choice[] = {
10241 { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_callBarringCause },
10242 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensibleCallBarredParam },
10243 { 0, 0, 0, 0, NULL }
10247 dissect_gsm_map_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10248 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
10249 CallBarredParam_choice, hf_index, ett_gsm_map_CallBarredParam);
10254 static const ber_sequence_t ForwardingFailedParam_sequence[] = {
10255 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10260 dissect_gsm_map_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10261 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10262 ForwardingFailedParam_sequence, hf_index, ett_gsm_map_ForwardingFailedParam);
10267 static const ber_sequence_t Or_NotAllowedParam_sequence[] = {
10268 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10273 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_) {
10274 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10275 Or_NotAllowedParam_sequence, hf_index, ett_gsm_map_Or_NotAllowedParam);
10280 static const ber_sequence_t ForwardingViolationParam_sequence[] = {
10281 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10286 dissect_gsm_map_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10287 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10288 ForwardingViolationParam_sequence, hf_index, ett_gsm_map_ForwardingViolationParam);
10294 static const value_string gsm_map_T_cug_RejectCause_vals[] = {
10295 { 0, "incomingCallsBarredWithinCUG" },
10296 { 1, "subscriberNotMemberOfCUG" },
10297 { 5, "requestedBasicServiceViolatesCUG-Constraints" },
10298 { 7, "calledPartySS-InteractionViolation" },
10304 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_) {
10305 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10309 static int dissect_cug_RejectCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10310 return dissect_gsm_map_T_cug_RejectCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_cug_RejectCause);
10313 static const ber_sequence_t Cug_RejectParam_sequence[] = {
10314 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cug_RejectCause },
10315 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10320 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_) {
10321 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10322 Cug_RejectParam_sequence, hf_index, ett_gsm_map_Cug_RejectParam);
10327 static const ber_sequence_t Ati_NotAllowedParam_sequence[] = {
10328 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10333 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_) {
10334 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10335 Ati_NotAllowedParam_sequence, hf_index, ett_gsm_map_Ati_NotAllowedParam);
10340 static const ber_sequence_t NoGroupCallNbParam_sequence[] = {
10341 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10346 dissect_gsm_map_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10347 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10348 NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_NoGroupCallNbParam);
10353 static const ber_sequence_t Ss_IncompatibilityCause_sequence[] = {
10354 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Code_impl },
10355 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_basicService },
10356 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ss_Status_impl },
10361 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_) {
10362 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10363 Ss_IncompatibilityCause_sequence, hf_index, ett_gsm_map_Ss_IncompatibilityCause);
10369 static const value_string gsm_map_Pw_RegistrationFailureCause_vals[] = {
10370 { 0, "undetermined" },
10371 { 1, "invalidFormat" },
10372 { 2, "newPasswordsMismatch" },
10378 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_) {
10379 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10384 static const ber_sequence_t ShortTermDenialParam_sequence[] = {
10389 dissect_gsm_map_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10390 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10391 ShortTermDenialParam_sequence, hf_index, ett_gsm_map_ShortTermDenialParam);
10396 static const ber_sequence_t LongTermDenialParam_sequence[] = {
10401 dissect_gsm_map_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10402 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10403 LongTermDenialParam_sequence, hf_index, ett_gsm_map_LongTermDenialParam);
10408 static const ber_sequence_t SubBusyForMT_SMS_Param_sequence[] = {
10409 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10410 { BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gprsConnectionSuspended },
10415 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_) {
10416 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10417 SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_SubBusyForMT_SMS_Param);
10423 static const value_string gsm_map_T_sm_EnumeratedDeliveryFailureCause_vals[] = {
10424 { 0, "memoryCapacityExceeded" },
10425 { 1, "equipmentProtocolError" },
10426 { 2, "equipmentNotSM-Equipped" },
10427 { 3, "unknownServiceCentre" },
10428 { 4, "sc-Congestion" },
10429 { 5, "invalidSME-Address" },
10430 { 6, "subscriberNotSC-Subscriber" },
10436 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_) {
10437 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10441 static int dissect_sm_EnumeratedDeliveryFailureCause(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10442 return dissect_gsm_map_T_sm_EnumeratedDeliveryFailureCause(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_sm_EnumeratedDeliveryFailureCause);
10447 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_) {
10448 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
10453 static int dissect_diagnosticInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10454 return dissect_gsm_map_OCTET_STRING_SIZE_1_200(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_diagnosticInfo);
10457 static const ber_sequence_t Sm_DeliveryFailureCause_sequence[] = {
10458 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_sm_EnumeratedDeliveryFailureCause },
10459 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnosticInfo },
10460 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10465 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_) {
10466 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10467 Sm_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_Sm_DeliveryFailureCause);
10472 static const ber_sequence_t MessageWaitListFullParam_sequence[] = {
10473 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10478 dissect_gsm_map_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
10479 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10480 MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_MessageWaitListFullParam);
10485 static const ber_sequence_t AbsentSubscriberSM_Param_sequence[] = {
10486 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_absentSubscriberDiagnosticSM },
10487 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10488 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalAbsentSubscriberDiagnosticSM_impl },
10493 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_) {
10494 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10495 AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_AbsentSubscriberSM_Param);
10500 static const ber_sequence_t UnauthorizedRequestingNetwork_Param_sequence[] = {
10501 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10506 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_) {
10507 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10508 UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_UnauthorizedRequestingNetwork_Param);
10514 static const value_string gsm_map_T_unauthorizedLCSClient_Diagnostic_vals[] = {
10515 { 0, "noAdditionalInformation" },
10516 { 1, "clientNotInMSPrivacyExceptionList" },
10517 { 2, "callToClientNotSetup" },
10518 { 3, "privacyOverrideNotApplicable" },
10519 { 4, "disallowedByLocalRegulatoryRequirements" },
10525 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_) {
10526 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10530 static int dissect_unauthorizedLCSClient_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10531 return dissect_gsm_map_T_unauthorizedLCSClient_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_unauthorizedLCSClient_Diagnostic);
10534 static const ber_sequence_t UnauthorizedLCSClient_Param_sequence[] = {
10535 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unauthorizedLCSClient_Diagnostic_impl },
10536 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10541 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_) {
10542 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10543 UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_UnauthorizedLCSClient_Param);
10549 static const value_string gsm_map_T_positionMethodFailure_Diagnostic_vals[] = {
10550 { 0, "congestion" },
10551 { 1, "insufficientResources" },
10552 { 2, "insufficientMeasurementData" },
10553 { 3, "inconsistentMeasurementData" },
10554 { 4, "locationProcedureNotCompleted" },
10555 { 5, "locationProcedureNotSupportedByTargetMS" },
10556 { 6, "qoSNotAttainable" },
10557 { 7, "positionMethodNotAvailableInNetwork" },
10558 { 8, "positionMethodNotAvailableInLocationArea" },
10564 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_) {
10565 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
10569 static int dissect_positionMethodFailure_Diagnostic_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10570 return dissect_gsm_map_T_positionMethodFailure_Diagnostic(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_positionMethodFailure_Diagnostic);
10573 static const ber_sequence_t PositionMethodFailure_Param_sequence[] = {
10574 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_positionMethodFailure_Diagnostic_impl },
10575 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
10580 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_) {
10581 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10582 PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_PositionMethodFailure_Param);
10587 static const ber_sequence_t UnknownOrUnreachableLCSClient_Param_sequence[] = {
10588 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensionContainer },
10593 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_) {
10594 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
10595 UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_UnknownOrUnreachableLCSClient_Param);
10601 /*--- End of included file: packet-gsm_map-fn.c ---*/
10604 /* Stuff included from the "old" packet-gsm_map.c for tapping purposes */
10606 my_match_strval(guint32 val, const value_string *vs, gint *idx)
10610 while (vs[i].strptr) {
10611 if (vs[i].value == val)
10614 return(vs[i].strptr);
10623 /* End includes from old" packet-gsm_map.c */
10625 const value_string gsm_map_opr_code_strings[] = {
10626 { 2, "updateLocation" },
10627 { 3, "cancelLocation" },
10628 { 4, "provideRoamingNumber" },
10629 { 6, "resumeCallHandling" },
10630 { 7, "insertSubscriberData" },
10631 { 8, "deleteSubscriberData" },
10632 { 9, "sendParameters" }, /* map-ac infoRetrieval (14) version1 (1)*/
10633 { 10, "registerSS" },
10635 { 12, "activateSS" },
10636 { 13, "deactivateSS" },
10637 { 14, "interrogateSS" },
10638 { 17, "registerPassword" },
10639 { 18, "getPassword" },
10640 { 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */
10641 { 22, "sendRoutingInfo" },
10642 { 23, "updateGprsLocation" },
10643 { 24, "sendRoutingInfoForGprs" },
10644 { 25, "failureReport" },
10645 { 26, "noteMsPresentForGprs" },
10646 { 28, "performHandover" }, /* map-ac handoverControl (11) version1 (1)*/
10647 { 29, "sendEndSignal" },
10648 { 30, "performSubsequentHandover" }, /* map-ac handoverControl (11) version1 (1) */
10649 { 31, "provideSIWFSNumber" },
10650 { 32, "sIWFSSignallingModify" },
10651 { 33, "processAccessSignalling" },
10652 { 34, "forwardAccessSignalling" },
10653 { 35, "noteInternalHandover" }, /* map-ac handoverControl (11) version1 (1) */
10655 { 38, "forwardCheckSS-Indication" },
10656 { 39, "prepareGroupCall" },
10657 { 40, "sendGroupCallEndSignal" },
10658 { 41, "processGroupCallSignalling" },
10659 { 42, "forwardGroupCallSignalling" },
10660 { 43, "checkIMEI" },
10661 { 44, "mt-forwardSM" },
10662 { 45, "sendRoutingInfoForSM" },
10663 { 46, "mo-forwardSM" },
10664 { 47, "reportSM-DeliveryStatus" },
10665 { 48, "noteSubscriberPresent" }, /* map-ac mwdMngt (24) version1 (1) */
10666 { 49, "alertServiceCentreWithoutResult" }, /* map-ac shortMsgAlert (23) version1 (1) */
10667 { 50, "activateTraceMode" },
10668 { 51, "deactivateTraceMode" },
10669 { 52, "traceSubscriberActivity" }, /* map-ac handoverControl (11) version1 (1) */
10670 { 54, "beginSubscriberActivity" }, /* map-ac networkFunctionalSs (18) version1 (1) */
10671 { 55, "sendIdentification" },
10672 { 56, "sendAuthenticationInfo" },
10673 { 57, "restoreData" },
10674 { 58, "sendIMSI" },
10675 { 59, "processUnstructuredSS-Request" },
10676 { 60, "unstructuredSS-Request" },
10677 { 61, "unstructuredSS-Notify" },
10678 { 63, "informServiceCentre" },
10679 { 64, "alertServiceCentre" },
10680 { 66, "readyForSM" },
10682 { 68, "prepareHandover" },
10683 { 69, "prepareSubsequentHandover" },
10684 { 70, "provideSubscriberInfo" },
10685 { 71, "anyTimeInterrogation" },
10686 { 72, "ss-InvocationNotification" },
10687 { 73, "setReportingState" },
10688 { 74, "statusReport" },
10689 { 75, "remoteUserFree" },
10690 { 76, "registerCC-Entry" },
10691 { 77, "eraseCC-Entry" },
10692 { 83, "provideSubscriberLocation" },
10693 { 85, "sendRoutingInfoForLCS" },
10694 { 86, "subscriberLocationReport" },
10697 static const value_string gsm_map_err_code_string_vals[] = {
10698 { 1, "Unknown Subscriber" },
10699 { 3, "Unknown MSC" },
10700 { 5, "Unidentified Subscriber" },
10701 { 6, "Absent Subscriber SM" },
10702 { 7, "Unknown Equipment" },
10703 { 8, "Roaming Not Allowed" },
10704 { 9, "Illegal Subscriber" },
10705 { 10, "Bearer Service Not Provisioned" },
10706 { 11, "Teleservice Not Provisioned" },
10707 { 12, "Illegal Equipment" },
10708 { 13, "Call Barred" },
10709 { 14, "Forwarding Violation" },
10710 { 15, "CUG Reject" },
10711 { 16, "Illegal SS Operation" },
10712 { 17, "SS Error Status" },
10713 { 18, "SS Not Available" },
10714 { 19, "SS Subscription Violation" },
10715 { 20, "SS Incompatibility" },
10716 { 21, "Facility Not Supported" },
10717 { 25, "No Handover Number Available" },
10718 { 26, "Subsequent Handover Failure" },
10719 { 27, "Absent Subscriber" },
10720 { 28, "Incompatible Terminal" },
10721 { 29, "Short Term Denial" },
10722 { 30, "Long Term Denial" },
10723 { 31, "Subscriber Busy For MT SMS" },
10724 { 32, "SM Delivery Failure" },
10725 { 33, "Message Waiting List Full" },
10726 { 34, "System Failure" },
10727 { 35, "Data Missing" },
10728 { 36, "Unexpected Data Value" },
10729 { 37, "PW Registration Failure" },
10730 { 38, "Negative PW Check" },
10731 { 39, "No Roaming Number Available" },
10732 { 40, "Tracing Buffer Full" },
10733 { 42, "Target Cell Outside Group Call Area" },
10734 { 43, "Number Of PW Attempts Violation" },
10735 { 44, "Number Changed" },
10736 { 45, "Busy Subscriber" },
10737 { 46, "No Subscriber Reply" },
10738 { 47, "Forwarding Failed" },
10739 { 48, "OR Not Allowed" },
10740 { 49, "ATI Not Allowed" },
10741 { 50, "No Group Call Number Available" },
10742 { 51, "Resource Limitation" },
10743 { 52, "Unauthorized Requesting Network" },
10744 { 53, "Unauthorized LCS Client" },
10745 { 54, "Position Method Failure" },
10746 { 58, "Unknown Or Unreachable LCS Client" },
10747 { 59, "MM Event Not Supported" },
10748 { 60, "ATSI Not Allowed" },
10749 { 61, "ATM Not Allowed" },
10750 { 62, "Information Not Available" },
10751 { 71, "Unknown Alphabet" },
10752 { 72, "USSD Busy" },
10753 { 120, "Nbr Sb Exceeded" },
10754 { 121, "Rejected By User" },
10755 { 122, "Rejected By Network" },
10756 { 123, "Deflection To Served Subscriber" },
10757 { 124, "Special Service Code" },
10758 { 125, "Invalid Deflected To Number" },
10759 { 126, "Max Number Of MPTY Participants Exceeded" },
10760 { 127, "Resources Not Available" },
10763 static const true_false_string gsm_map_extension_value = {
10767 static const value_string gsm_map_nature_of_number_values[] = {
10768 { 0x00, "unknown" },
10769 { 0x01, "International Number" },
10770 { 0x02, "National Significant Number" },
10771 { 0x03, "Network Specific Number" },
10772 { 0x04, "Subscriber Number" },
10773 { 0x05, "Reserved" },
10774 { 0x06, "Abbreviated Number" },
10775 { 0x07, "Reserved for extension" },
10778 static const value_string gsm_map_number_plan_values[] = {
10779 { 0x00, "unknown" },
10780 { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
10782 { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
10783 { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
10785 { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
10787 { 0x08, "National Numbering" },
10788 { 0x09, "Private Numbering" },
10789 { 0x0f, "Reserved for extension" },
10793 static const true_false_string gsm_map_Ss_Status_q_bit_values = {
10797 static const true_false_string gsm_map_Ss_Status_p_values = {
10801 static const true_false_string gsm_map_Ss_Status_r_values = {
10805 static const true_false_string gsm_map_Ss_Status_a_values = {
10810 static guint32 opcode=0;
10813 dissect_gsm_map_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
10814 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
10816 if (check_col(pinfo->cinfo, COL_INFO)){
10817 col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
10823 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
10828 case 2: /*updateLocation*/
10829 offset=dissect_gsm_map_UpdateLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
10831 case 3: /*cancelLocation*/
10832 offset=dissect_gsm_map_CancelLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
10834 case 4: /*provideRoamingNumber*/
10835 offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
10837 case 6: /*resumeCallHandling*/
10838 offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1);
10840 case 7: /*insertSubscriberData*/
10841 offset=dissect_gsm_map_InsertSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10843 case 8: /*deleteSubscriberData*/
10844 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10846 /* TODO find out why this isn't in the ASN1 file
10847 case 9: sendParameters
10848 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10851 case 10: /*registerSS*/
10852 offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10854 case 11: /*eraseSS*/
10855 offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
10857 case 12: /*activateSS*/
10858 offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
10860 case 13: /*deactivateSS*/
10861 offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
10863 case 14: /*interrogateSS*/
10864 offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
10866 case 17: /*registerPassword*/
10867 offset=dissect_gsm_map_Ss_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
10869 case 18: /*getPassword*/
10870 offset=dissect_gsm_map_GetPasswordArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_getPassword);
10872 case 22: /*sendRoutingInfo*/
10873 offset=dissect_gsm_map_SendRoutingInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
10875 case 23: /*updateGprsLocation*/
10876 offset=dissect_gsm_map_UpdateGprsLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
10878 case 24: /*sendRoutingInfoForGprs*/
10879 offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
10881 case 25: /*failureReport*/
10882 offset=dissect_gsm_map_FailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
10884 case 26: /*noteMsPresentForGprs*/
10885 offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
10887 case 29: /*sendEndSignal*/
10888 octet = tvb_get_guint8(tvb,0) & 0xf;
10889 if ( octet == 3){ /* This is a V9 message ??? */
10890 offset = offset +2;
10891 offset=dissect_gsm_map_SendEndSignalV9Arg(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
10893 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
10896 case 31: /*provideSIWFSNumbe*/
10897 offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
10899 case 32: /*sIWFSSignallingModify*/
10900 offset=dissect_gsm_map_SIWFSSignallingModifyArg(FALSE, tvb, offset, pinfo, tree, -1);
10902 case 33: /*processAccessSignalling*/
10903 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
10905 case 34: /*forwardAccessSignalling*/
10906 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
10909 offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1);
10911 case 38: /*forwardCheckSS-Indication*/
10914 case 39: /*prepareGroupCall*/
10915 offset=dissect_gsm_map_PrepareGroupCallArg(FALSE, tvb, offset, pinfo, tree, -1);
10917 case 40: /*sendGroupCallEndSignal*/
10918 dissect_gsm_map_SendGroupCallEndSignalArg(FALSE, tvb, offset, pinfo, tree, -1);
10920 case 42: /*processGroupCallSignalling*/
10921 offset=dissect_gsm_map_ProcessGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
10923 case 43: /*checkIMEI*/
10924 offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
10926 case 44: /*mt-forwardSM*/
10927 offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
10929 case 45: /*sendRoutingInfoForSM*/
10930 offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
10932 case 46: /*mo-forwardSM*/
10933 offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10935 case 47: /*reportSM-DeliveryStatus*/
10936 offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
10938 case 50: /*activateTraceMode*/
10939 offset=dissect_gsm_map_ActivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
10941 case 51: /*deactivateTraceMode*/
10942 offset=dissect_gsm_map_DeactivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
10944 case 55: /*sendIdentification*/
10945 offset=dissect_gsm_map_Tmsi(FALSE, tvb, offset, pinfo, tree, -1);
10947 case 56: /*sendAuthenticationInfo*/
10948 if (application_context_version < 3 ){
10949 offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
10951 offset=dissect_gsm_map_SendAuthenticationInfoArgV3(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoArg);
10954 case 57: /*restoreData*/
10955 offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1);
10957 case 58: /*sendIMSI*/
10958 offset=dissect_gsm_map_Msisdn(FALSE, tvb, offset, pinfo, tree, -1);
10960 case 59: /*processUnstructuredSS-Request*/
10961 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10963 case 60: /*unstructuredSS-Request*/
10964 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10966 case 61: /*unstructuredSS-Notify*/
10967 offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10969 case 63: /*informServiceCentre*/
10970 offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
10972 case 64: /*alertServiceCentre*/
10973 offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
10975 case 66: /*readyForSM*/
10976 offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10978 case 67: /*purgeMS*/
10979 offset=dissect_gsm_map_PurgeMS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10981 case 68: /*prepareHandover*/
10982 octet = tvb_get_guint8(tvb,0) & 0xf;
10983 if ( octet == 3){ /* This is a V9 message ??? */
10984 offset = offset +2;
10985 offset=dissect_gsm_map_PrepareHandoverV3Arg(TRUE, tvb, offset, pinfo, tree, -1);
10987 offset=dissect_gsm_map_PrepareHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10990 case 69: /*prepareSubsequentHandover*/
10991 offset=dissect_gsm_map_PrepareSubsequentHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
10993 case 70: /*provideSubscriberInfo*/
10994 offset=dissect_gsm_map_ProvideSubscriberInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
10996 case 71: /*anyTimeInterrogation*/
10997 offset=dissect_gsm_map_AnyTimeInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
10999 case 72: /*ss-InvocationNotificatio*/
11000 offset=dissect_gsm_map_Ss_InvocationNotificationArg(FALSE, tvb, offset, pinfo, tree, -1);
11002 case 73: /*setReportingState*/
11003 offset=dissect_gsm_map_SetReportingStateArg(FALSE, tvb, offset, pinfo, tree, -1);
11005 case 74: /*statusReport*/
11006 offset=dissect_gsm_map_StatusReportArg(FALSE, tvb, offset, pinfo, tree, -1);
11008 case 75: /*remoteUserFree*/
11009 offset=dissect_gsm_map_RemoteUserFreeArg(FALSE, tvb, offset, pinfo, tree, -1);
11011 case 76: /*registerCC-Entry*/
11012 offset=dissect_gsm_map_RegisterCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
11014 case 77: /*eraseCC-Entry*/
11015 offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
11017 case 83: /*provideSubscriberLocation*/
11018 offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1);
11020 case 85: /*sendRoutingInfoForLCS*/
11021 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
11023 case 86: /*subscriberLocationReport*/
11024 offset=dissect_gsm_map_SubscriberLocationReport_Arg(FALSE, tvb, offset, pinfo, tree, -1);
11027 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
11033 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11037 case 2: /*updateLocation*/
11038 offset=dissect_gsm_map_UpdateLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
11040 case 3: /*cancelLocation*/
11041 offset=dissect_gsm_map_CancelLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
11043 case 4: /*provideRoamingNumber*/
11044 offset=dissect_gsm_map_ProvideRoamingNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
11046 case 6: /*resumeCallHandling*/
11047 offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1);
11049 case 7: /*insertSubscriberData*/
11050 offset=dissect_gsm_map_InsertSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
11052 case 8: /*deleteSubscriberData*/
11053 offset=dissect_gsm_map_DeleteSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
11055 /* TODO find out why this isn't in the ASN1 file
11056 case 9: sendParameters
11057 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
11060 case 10: /*registerSS*/
11061 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
11063 case 11: /*eraseSS*/
11064 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
11066 case 12: /*activateSS*/
11067 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
11069 case 13: /*deactivateSS*/
11070 offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
11072 case 14: /*interrogateSS*/
11073 offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
11075 case 17: /*registerPassword*/
11076 offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
11078 case 18: /*getPassword*/
11079 offset=dissect_gsm_map_CurrentPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentPassword);
11081 case 22: /*sendRoutingInfo*/
11082 /* This is done to get around a problem with IMPLICIT tag:s */
11083 offset = offset +2;
11084 offset=dissect_gsm_map_SendRoutingInfoRes(TRUE, tvb, offset, pinfo, tree, -1);
11086 case 23: /*updateGprsLocation*/
11087 offset=dissect_gsm_map_UpdateGprsLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
11089 case 24: /*sendRoutingInfoForGprs*/
11090 offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
11092 case 25: /*failureReport*/
11093 offset=dissect_gsm_map_FailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
11095 case 26: /*noteMsPresentForGprs*/
11096 offset=dissect_gsm_map_NoteMsPresentForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
11098 case 29: /*sendEndSignal*/
11099 /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
11100 * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
11102 offset=dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, -1);
11104 case 31: /*provideSIWFSNumbe*/
11105 offset=dissect_gsm_map_ProvideSIWFSNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
11107 case 32: /*provideSIWFSNumbe*/
11108 offset=dissect_gsm_map_SIWFSSignallingModifyRes(FALSE, tvb, offset, pinfo, tree, -1);
11110 case 39: /*prepareGroupCall*/
11111 offset=dissect_gsm_map_PrepareGroupCallRes(FALSE, tvb, offset, pinfo, tree, -1);
11113 case 40: /*sendGroupCallEndSignal*/
11114 dissect_gsm_map_SendGroupCallEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
11116 case 43: /*checkIMEI*/
11117 offset=dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, -1);
11119 case 45: /*sendRoutingInfoForSM*/
11120 offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
11122 case 46: /*mo-forwardSM*/
11123 offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
11125 case 48: /*reportSM-DeliveryStatus*/
11126 offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
11128 case 50: /*activateTraceMode*/
11129 offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
11131 case 51: /*deactivateTraceMode*/
11132 offset=dissect_gsm_map_DeactivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
11134 case 55: /*sendIdentification*/
11135 offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
11138 offset = dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
11139 case 57: /*restoreData*/
11140 offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
11142 case 58: /*sendIMSI*/
11143 offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
11145 case 59: /*unstructuredSS-Request*/
11146 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
11148 case 60: /*unstructuredSS-Request*/
11149 offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
11151 case 61: /*unstructuredSS-Notify*/
11153 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
11155 case 66: /*readyForSM*/
11156 offset=dissect_gsm_map_ReadyForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
11158 case 67: /*purgeMS*/
11159 offset=dissect_gsm_map_PurgeMS_Res(FALSE, tvb, offset, pinfo, tree, -1);
11161 case 68: /*prepareHandover*/
11162 octet = tvb_get_guint8(tvb,0) & 0xf;
11163 if ( octet == 3){ /* This is a V9 message ??? */
11164 offset = offset +2;
11165 offset=dissect_gsm_map_PrepareHandoverV3Res(TRUE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
11167 offset=dissect_gsm_map_PrepareHO_Res(FALSE, tvb, offset, pinfo, tree, -1);
11170 case 69: /*prepareSubsequentHandover*/
11171 offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
11173 case 70: /*provideSubscriberInfo*/
11174 offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
11176 case 71: /*anyTimeInterrogation*/
11177 offset=dissect_gsm_map_AnyTimeInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
11179 case 72: /*ss-InvocationNotificatio*/
11180 offset=dissect_gsm_map_Ss_InvocationNotificationRes(FALSE, tvb, offset, pinfo, tree, -1);
11182 case 73: /*setReportingState*/
11183 offset=dissect_gsm_map_SetReportingStateRes(FALSE, tvb, offset, pinfo, tree, -1);
11185 case 74: /*statusReport*/
11186 offset=dissect_gsm_map_StatusReportRes(FALSE, tvb, offset, pinfo, tree, -1);
11188 case 75: /*remoteUserFree*/
11189 offset=dissect_gsm_map_RemoteUserFreeRes(FALSE, tvb, offset, pinfo, tree, -1);
11191 case 76: /*registerCC-Entry*/
11192 offset=dissect_gsm_map_RegisterCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
11194 case 77: /*eraseCC-Entry*/
11195 offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
11197 case 83: /*provideSubscriberLocation*/
11198 offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1);
11200 case 85: /*sendRoutingInfoForLCS*/
11201 offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
11203 case 86: /*subscriberLocationReport*/
11204 offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1);
11207 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
11213 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11214 return dissect_gsm_map_Opcode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeCmd);
11217 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11218 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_invokeid, NULL);
11222 static const value_string InvokeId_vals[] = {
11228 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11229 return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absent);
11233 static const ber_choice_t InvokeId_choice[] = {
11234 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
11235 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
11236 { 0, 0, 0, 0, NULL }
11240 dissect_gsm_map_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11241 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11242 InvokeId_choice, hf_index, ett_gsm_map_InvokeId);
11246 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11247 return dissect_gsm_map_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeId);
11250 static const ber_sequence_t InvokePDU_sequence[] = {
11251 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
11252 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
11253 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
11258 dissect_gsm_map_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11259 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11260 InvokePDU_sequence, hf_index, ett_gsm_map_InvokePDU);
11264 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11265 return dissect_gsm_map_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invoke);
11268 static const ber_sequence_t ReturnResult_result_sequence[] = {
11269 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
11270 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
11274 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11275 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
11276 ReturnResult_result_sequence, hf_gsm_map_returnResult_result, ett_gsm_map_ReturnResult_result);
11281 static const ber_sequence_t ReturnResultPDU_sequence[] = {
11282 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
11283 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
11288 dissect_gsm_map_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11289 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11290 ReturnResultPDU_sequence, hf_index, ett_gsm_map_ReturnResultPDU);
11294 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11295 return dissect_gsm_map_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResult);
11299 dissect_local_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11300 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_local_errorCode, NULL);
11304 dissect_global_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11305 offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
11306 hf_gsm_map_global_errorCode_oid, NULL);
11307 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_gsm_map_global_errorCode, NULL);
11309 static const ber_choice_t ReturnError_result_choice[] = {
11310 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_local_errorCode },
11311 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_global_errorCode },
11312 { 0, 0, 0, 0, NULL }
11317 dissect_ReturnError_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11319 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11320 ReturnError_result_choice, hf_gsm_map_returnError_result, ett_gsm_map_ReturnError_result);
11325 static const ber_sequence_t ReturnErrorPDU_sequence[] = {
11326 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
11327 { BER_CLASS_UNI, -1/*choice*/,BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ReturnError_result },
11332 dissect_gsm_map_ReturnErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
11333 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
11334 ReturnErrorPDU_sequence, hf_index, ett_gsm_map_ReturnErrorPDU);
11338 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
11339 return dissect_gsm_map_ReturnErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnError);
11343 static const value_string GSMMAPPDU_vals[] = {
11345 { 2, "ReturnResult " },
11346 { 3, "ReturnError " },
11351 static const ber_choice_t GSMMAPPDU_choice[] = {
11352 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
11353 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
11354 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
11356 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
11358 { 0, 0, 0, 0, NULL }
11361 static guint8 gsmmap_pdu_type = 0;
11362 static guint8 gsm_map_pdu_size = 0;
11365 dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo , proto_tree *tree, int hf_index) {
11367 char *version_ptr, *version_str;
11370 application_context_version = 0;
11371 if (pinfo->private_data != NULL){
11372 version_ptr = strrchr(pinfo->private_data,'.');
11373 version_str = g_strdup(version_ptr+1);
11374 application_context_version = atoi(version_str);
11377 gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
11378 /* Get the length and add 2 */
11379 gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
11381 if (check_col(pinfo->cinfo, COL_INFO)){
11382 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(gsmmap_pdu_type, GSMMAPPDU_vals, "Unknown GSM-MAP PDU (%u)"));
11385 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
11386 GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU);
11396 dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
11398 proto_item *item=NULL;
11399 proto_tree *tree=NULL;
11400 /* Used for gsm_map TAP */
11401 static gsm_map_tap_rec_t tap_rec;
11406 if (check_col(pinfo->cinfo, COL_PROTOCOL))
11408 col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
11411 top_tree = parent_tree;
11413 /* create display subtree for the protocol */
11415 item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE);
11416 tree = proto_item_add_subtree(item, ett_gsm_map);
11419 dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
11420 str = my_match_strval(opcode, gsm_map_opr_code_strings, &op_idx);
11422 tap_rec.invoke = FALSE;
11423 if ( gsmmap_pdu_type == 1 )
11424 tap_rec.invoke = TRUE;
11425 tap_rec.opr_code_idx = op_idx;
11426 tap_rec.size = gsm_map_pdu_size;
11428 tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
11433 static const value_string ssCode_vals[] = {
11434 { 0x00, "allSS - all SS" },
11435 { 0x10 ,"allLineIdentificationSS - all line identification SS" },
11436 { 0x11 ,"clip - calling line identification presentation" },
11437 { 0x12 ,"clir - calling line identification restriction" },
11438 { 0x13 ,"colp - connected line identification presentation" },
11439 { 0x14 ,"colr - connected line identification restriction" },
11440 { 0x15 ,"mci - malicious call identification" },
11441 { 0x18 ,"allNameIdentificationSS - all name indentification SS" },
11442 { 0x19 ,"cnap - calling name presentation" },
11443 { 0x20 ,"allForwardingSS - all forwarding SS" },
11444 { 0x21 ,"cfu - call forwarding unconditional" },
11445 { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
11446 { 0x29 ,"cfb - call forwarding busy" },
11447 { 0x2a ,"cfnry - call forwarding on no reply" },
11448 { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
11449 { 0x24 ,"cd - call deflection" },
11450 { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
11451 { 0x31 ,"ect - explicit call transfer" },
11452 { 0x32 ,"mah - mobile access hunting" },
11453 { 0x40 ,"allCallCompletionSS - all Call completion SS" },
11454 { 0x41 ,"cw - call waiting" },
11455 { 0x42 ,"hold - call hold" },
11456 { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
11457 { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
11458 { 0x45 ,"mc - multicall" },
11459 { 0x50 ,"allMultiPartySS - all multiparty SS" },
11460 { 0x51 ,"multiPTY - multiparty" },
11461 { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
11462 { 0x61 ,"cug - closed user group" },
11463 { 0x70 ,"allChargingSS - all charging SS" },
11464 { 0x71 ,"aoci - advice of charge information" },
11465 { 0x72 ,"aocc - advice of charge charging" },
11466 { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
11467 { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
11468 { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
11469 { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
11470 { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
11471 { 0x91 ,"barringOfOutgoingCalls" },
11472 { 0x92 ,"baoc - barring of all outgoing calls" },
11473 { 0x93 ,"boic - barring of outgoing international calls" },
11474 { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
11475 { 0x99 ,"barringOfIncomingCalls" },
11476 { 0x9a ,"baic - barring of all incoming calls" },
11477 { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
11478 { 0xf0 ,"allPLMN-specificSS" },
11479 { 0xa0 ,"allCallPrioritySS - all call priority SS" },
11480 { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
11481 { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
11482 { 0xb1 ,"universal - allow location by any LCS client" },
11483 { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
11484 { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
11485 { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
11486 { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
11487 { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
11488 { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
11489 { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
11491 { 0xf1 ,"plmn-specificSS-1" },
11492 { 0xf2 ,"plmn-specificSS-2" },
11493 { 0xf3 ,"plmn-specificSS-3" },
11494 { 0xf4 ,"plmn-specificSS-4" },
11495 { 0xf5 ,"plmn-specificSS-5" },
11496 { 0xf6 ,"plmn-specificSS-6" },
11497 { 0xf7 ,"plmn-specificSS-7" },
11498 { 0xf8 ,"plmn-specificSS-8" },
11499 { 0xf9 ,"plmn-specificSS-9" },
11500 { 0xfa ,"plmn-specificSS-a" },
11501 { 0xfb ,"plmn-specificSS-b" },
11502 { 0xfc ,"plmn-specificSS-c" },
11503 { 0xfd ,"plmn-specificSS-d" },
11504 { 0xfe ,"plmn-specificSS-e" },
11505 { 0xff ,"plmn-specificSS-f" },
11509 static const value_string Teleservice_vals[] = {
11510 {0x00, "allTeleservices" },
11511 {0x10, "allSpeechTransmissionServices" },
11512 {0x11, "telephony" },
11513 {0x12, "emergencyCalls" },
11514 {0x20, "allShortMessageServices" },
11515 {0x21, "shortMessageMT-PP" },
11516 {0x22, "shortMessageMO-PP" },
11517 {0x60, "allFacsimileTransmissionServices" },
11518 {0x61, "facsimileGroup3AndAlterSpeech" },
11519 {0x62, "automaticFacsimileGroup3" },
11520 {0x63, "facsimileGroup4" },
11522 {0x70, "allDataTeleservices" },
11523 {0x80, "allTeleservices-ExeptSMS" },
11525 {0x90, "allVoiceGroupCallServices" },
11526 {0x91, "voiceGroupCall" },
11527 {0x92, "voiceBroadcastCall" },
11529 {0xd0, "allPLMN-specificTS" },
11530 {0xd1, "plmn-specificTS-1" },
11531 {0xd2, "plmn-specificTS-2" },
11532 {0xd3, "plmn-specificTS-3" },
11533 {0xd4, "plmn-specificTS-4" },
11534 {0xd5, "plmn-specificTS-5" },
11535 {0xd6, "plmn-specificTS-6" },
11536 {0xd7, "plmn-specificTS-7" },
11537 {0xd8, "plmn-specificTS-8" },
11538 {0xd9, "plmn-specificTS-9" },
11539 {0xda, "plmn-specificTS-A" },
11540 {0xdb, "plmn-specificTS-B" },
11541 {0xdc, "plmn-specificTS-C" },
11542 {0xdd, "plmn-specificTS-D" },
11543 {0xde, "plmn-specificTS-E" },
11544 {0xdf, "plmn-specificTS-F" },
11547 /*--- proto_reg_handoff_gsm_map ---------------------------------------*/
11548 void proto_reg_handoff_gsm_map(void) {
11549 dissector_handle_t map_handle;
11550 static int map_prefs_initialized = FALSE;
11552 map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
11554 if (!map_prefs_initialized) {
11555 map_prefs_initialized = TRUE;
11558 dissector_delete("tcap.itu_ssn", tcap_itu_ssn1, map_handle);
11559 dissector_delete("tcap.itu_ssn", tcap_itu_ssn2, map_handle);
11560 dissector_delete("tcap.itu_ssn", tcap_itu_ssn3, map_handle);
11561 dissector_delete("tcap.itu_ssn", tcap_itu_ssn4, map_handle);
11563 /* Set our sub system number for future use */
11564 tcap_itu_ssn1 = global_tcap_itu_ssn1;
11565 tcap_itu_ssn2 = global_tcap_itu_ssn2;
11566 tcap_itu_ssn3 = global_tcap_itu_ssn3;
11567 tcap_itu_ssn4 = global_tcap_itu_ssn4;
11569 dissector_add("tcap.itu_ssn", tcap_itu_ssn1, map_handle);
11570 dissector_add("tcap.itu_ssn", tcap_itu_ssn2, map_handle);
11571 dissector_add("tcap.itu_ssn", tcap_itu_ssn3, map_handle);
11572 dissector_add("tcap.itu_ssn", tcap_itu_ssn4, map_handle);
11575 /*--- proto_register_gsm_map -------------------------------------------*/
11576 void proto_register_gsm_map(void) {
11577 module_t *gsm_map_module;
11579 /* List of fields */
11580 static hf_register_info hf[] = {
11581 { &hf_gsm_map_invokeCmd,
11582 { "invokeCmd", "gsm_map.invokeCmd",
11583 FT_UINT32, BASE_DEC, VALS(gsm_map_opr_code_strings), 0,
11584 "InvokePDU/invokeCmd", HFILL }},
11585 { &hf_gsm_map_invokeid,
11586 { "invokeid", "gsm_map.invokeid",
11587 FT_INT32, BASE_DEC, NULL, 0,
11588 "InvokeId/invokeid", HFILL }},
11589 { &hf_gsm_map_absent,
11590 { "absent", "gsm_map.absent",
11591 FT_NONE, BASE_NONE, NULL, 0,
11592 "InvokeId/absent", HFILL }},
11593 { &hf_gsm_map_invokeId,
11594 { "invokeId", "gsm_map.invokeId",
11595 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
11596 "InvokePDU/invokeId", HFILL }},
11597 { &hf_gsm_map_SendAuthenticationInfoArg,
11598 { "SendAuthenticationInfoArg", "gsm_map.SendAuthenticationInfoArg",
11599 FT_BYTES, BASE_NONE, NULL, 0,
11600 "SendAuthenticationInfoArg", HFILL }},
11601 { &hf_gsm_map_currentPassword,
11602 { "currentPassword", "gsm_map.currentPassword",
11603 FT_STRING, BASE_NONE, NULL, 0,
11605 { &hf_gsm_mapSendEndSignal,
11606 { "mapSendEndSignalArg", "gsm_map.mapsendendsignalarg",
11607 FT_BYTES, BASE_NONE, NULL, 0,
11608 "mapSendEndSignalArg", HFILL }},
11609 { &hf_gsm_map_invoke,
11610 { "invoke", "gsm_map.invoke",
11611 FT_NONE, BASE_NONE, NULL, 0,
11612 "GSMMAPPDU/invoke", HFILL }},
11613 { &hf_gsm_map_returnResult,
11614 { "returnResult", "gsm_map.returnResult",
11615 FT_NONE, BASE_NONE, NULL, 0,
11616 "GSMMAPPDU/returnResult", HFILL }},
11617 {&hf_gsm_map_returnResult_result,
11618 { "returnResult_result", "gsm_map.returnresultresult",
11619 FT_BYTES, BASE_NONE, NULL, 0,
11620 "returnResult_result", HFILL }},
11621 {&hf_gsm_map_returnError_result,
11622 { "returnError_result", "gsm_map.returnerrorresult",
11623 FT_UINT32, BASE_DEC, NULL, 0,
11624 "returnError_result", HFILL }},
11625 {&hf_gsm_map_returnError,
11626 { "returnError", "gsm_map.returnError",
11627 FT_NONE, BASE_NONE, NULL, 0,
11628 "GSMMAPPDU/returnError", HFILL }},
11629 {&hf_gsm_map_local_errorCode,
11630 { "Local Error Code", "gsm_map.localerrorCode",
11631 FT_UINT32, BASE_DEC, VALS(gsm_map_err_code_string_vals), 0,
11632 "localerrorCode", HFILL }},
11633 {&hf_gsm_map_global_errorCode_oid,
11634 { "Global Error Code OID", "gsm_map.hlobalerrorCodeoid",
11635 FT_BYTES, BASE_NONE, NULL, 0,
11636 "globalerrorCodeoid", HFILL }},
11637 {&hf_gsm_map_global_errorCode,
11638 { "Global Error Code", "gsm_map.globalerrorCode",
11639 FT_UINT32, BASE_DEC, NULL, 0,
11640 "globalerrorCode", HFILL }},
11641 { &hf_gsm_map_getPassword,
11642 { "Password", "gsm_map.password",
11643 FT_UINT8, BASE_DEC, VALS(gsm_map_GetPasswordArg_vals), 0,
11644 "Password", HFILL }},
11645 { &hf_gsm_map_extension,
11646 { "Extension", "gsm_map.extension",
11647 FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
11648 "Extension", HFILL }},
11649 { &hf_gsm_map_nature_of_number,
11650 { "Nature of number", "gsm_map.nature_of_number",
11651 FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70,
11652 "ature of number", HFILL }},
11653 { &hf_gsm_map_number_plan,
11654 { "Number plan", "gsm_map.number_plan",
11655 FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f,
11656 "Number plan", HFILL }},
11657 { &hf_gsm_map_misdn_digits,
11658 { "Misdn digits", "gsm_map.misdn_digits",
11659 FT_STRING, BASE_NONE, NULL, 0,
11660 "Misdn digits", HFILL }},
11661 { &hf_gsm_map_servicecentreaddress_digits,
11662 { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
11663 FT_STRING, BASE_NONE, NULL, 0,
11664 "ServiceCentreAddress digits", HFILL }},
11665 { &hf_gsm_map_map_gmsc_address_digits,
11666 { "Gmsc Address digits digits", "gsm_map.gmsc_address_digits",
11667 FT_STRING, BASE_NONE, NULL, 0,
11668 "Gmsc Address digits", HFILL }},
11669 { &hf_gsm_map_imsi_digits,
11670 { "Imsi digits", "gsm_map.imsi_digits",
11671 FT_STRING, BASE_NONE, NULL, 0,
11672 "Imsi digits", HFILL }},
11673 {&hf_gsm_map_map_RoamingNumber_digits,
11674 { "RoamingNumber digits", "gsm_map.RoamingNumber_digits",
11675 FT_STRING, BASE_NONE, NULL, 0,
11676 "RoamingNumber digits", HFILL }},
11677 {&hf_gsm_map_map_hlr_number_digits,
11678 { "Hlr-Number digits", "gsm_map.hlr_number_digits",
11679 FT_STRING, BASE_NONE, NULL, 0,
11680 "Hlr-Number digits", HFILL }},
11681 {&hf_gsm_map_map_ForwardedToNumber_digits,
11682 { "Forwarded To Number digits", "gsm_map.forwardedtonumber_digits",
11683 FT_STRING, BASE_NONE, NULL, 0,
11684 "Forwarded To Number digits", HFILL }},
11685 { &hf_gsm_map_Ss_Status_unused,
11686 { "Unused", "gsm_map.unused",
11687 FT_UINT8, BASE_HEX, NULL, 0xf0,
11688 "Unused", HFILL }},
11689 { &hf_gsm_map_Ss_Status_q_bit,
11690 { "Q bit", "gsm_map.ss_status_q_bit",
11691 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
11693 { &hf_gsm_map_Ss_Status_p_bit,
11694 { "P bit", "gsm_map.ss_status_p_bit",
11695 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
11697 { &hf_gsm_map_Ss_Status_r_bit,
11698 { "R bit", "ss_status_r_bit",
11699 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
11701 { &hf_gsm_map_Ss_Status_a_bit,
11702 { "A bit", "ss_status_a_bit",
11703 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
11707 /*--- Included file: packet-gsm_map-hfarr.c ---*/
11709 { &hf_gsm_map_protocolId,
11710 { "protocolId", "gsm_map.protocolId",
11711 FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
11712 "Bss-APDU/protocolId", HFILL }},
11713 { &hf_gsm_map_signalInfo,
11714 { "signalInfo", "gsm_map.signalInfo",
11715 FT_BYTES, BASE_HEX, NULL, 0,
11716 "Bss-APDU/signalInfo", HFILL }},
11717 { &hf_gsm_map_extensionContainer,
11718 { "extensionContainer", "gsm_map.extensionContainer",
11719 FT_NONE, BASE_NONE, NULL, 0,
11721 { &hf_gsm_map_accessNetworkProtocolId,
11722 { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId",
11723 FT_UINT32, BASE_DEC, VALS(gsm_map_T_accessNetworkProtocolId_vals), 0,
11724 "An-APDU/accessNetworkProtocolId", HFILL }},
11725 { &hf_gsm_map_signalInfo2,
11726 { "signalInfo2", "gsm_map.signalInfo2",
11727 FT_BYTES, BASE_HEX, NULL, 0,
11728 "An-APDU/signalInfo2", HFILL }},
11729 { &hf_gsm_map_supportedCamelPhases,
11730 { "supportedCamelPhases", "gsm_map.supportedCamelPhases",
11731 FT_BYTES, BASE_HEX, NULL, 0,
11733 { &hf_gsm_map_solsaSupportIndicator,
11734 { "solsaSupportIndicator", "gsm_map.solsaSupportIndicator",
11735 FT_NONE, BASE_NONE, NULL, 0,
11737 { &hf_gsm_map_istSupportIndicator,
11738 { "istSupportIndicator", "gsm_map.istSupportIndicator",
11739 FT_UINT32, BASE_DEC, VALS(gsm_map_T_istSupportIndicator_vals), 0,
11740 "Vlr-Capability/istSupportIndicator", HFILL }},
11741 { &hf_gsm_map_superChargerSupportedInServingNetworkEntity,
11742 { "superChargerSupportedInServingNetworkEntity", "gsm_map.superChargerSupportedInServingNetworkEntity",
11743 FT_UINT32, BASE_DEC, VALS(gsm_map_T_superChargerSupportedInServingNetworkEntity_vals), 0,
11744 "Vlr-Capability/superChargerSupportedInServingNetworkEntity", HFILL }},
11745 { &hf_gsm_map_sendSubscriberData,
11746 { "sendSubscriberData", "gsm_map.sendSubscriberData",
11747 FT_NONE, BASE_NONE, NULL, 0,
11748 "Vlr-Capability/superChargerSupportedInServingNetworkEntity/sendSubscriberData", HFILL }},
11749 { &hf_gsm_map_subscriberDataStored,
11750 { "subscriberDataStored", "gsm_map.subscriberDataStored",
11751 FT_BYTES, BASE_HEX, NULL, 0,
11752 "Vlr-Capability/superChargerSupportedInServingNetworkEntity/subscriberDataStored", HFILL }},
11753 { &hf_gsm_map_longFTN_Supported,
11754 { "longFTN-Supported", "gsm_map.longFTN_Supported",
11755 FT_NONE, BASE_NONE, NULL, 0,
11757 { &hf_gsm_map_supportedLCS_CapabilitySets,
11758 { "supportedLCS-CapabilitySets", "gsm_map.supportedLCS_CapabilitySets",
11759 FT_BYTES, BASE_HEX, NULL, 0,
11760 "Vlr-Capability/supportedLCS-CapabilitySets", HFILL }},
11761 { &hf_gsm_map_offeredCamel4CSIs,
11762 { "offeredCamel4CSIs", "gsm_map.offeredCamel4CSIs",
11763 FT_BYTES, BASE_HEX, NULL, 0,
11764 "Vlr-Capability/offeredCamel4CSIs", HFILL }},
11765 { &hf_gsm_map_imsi,
11766 { "imsi", "gsm_map.imsi",
11767 FT_BYTES, BASE_HEX, NULL, 0,
11769 { &hf_gsm_map_msc_Number,
11770 { "msc-Number", "gsm_map.msc_Number",
11771 FT_BYTES, BASE_HEX, NULL, 0,
11773 { &hf_gsm_map_vlr_Number,
11774 { "vlr-Number", "gsm_map.vlr_Number",
11775 FT_BYTES, BASE_HEX, NULL, 0,
11777 { &hf_gsm_map_lmsi,
11778 { "lmsi", "gsm_map.lmsi",
11779 FT_BYTES, BASE_HEX, NULL, 0,
11781 { &hf_gsm_map_vlr_Capability,
11782 { "vlr-Capability", "gsm_map.vlr_Capability",
11783 FT_NONE, BASE_NONE, NULL, 0,
11785 { &hf_gsm_map_informPreviousNetworkEntity,
11786 { "informPreviousNetworkEntity", "gsm_map.informPreviousNetworkEntity",
11787 FT_NONE, BASE_NONE, NULL, 0,
11788 "UpdateLocationArg/informPreviousNetworkEntity", HFILL }},
11789 { &hf_gsm_map_cs_LCS_NotSupportedByUE,
11790 { "cs-LCS-NotSupportedByUE", "gsm_map.cs_LCS_NotSupportedByUE",
11791 FT_NONE, BASE_NONE, NULL, 0,
11792 "UpdateLocationArg/cs-LCS-NotSupportedByUE", HFILL }},
11793 { &hf_gsm_map_v_gmlc_Address,
11794 { "v-gmlc-Address", "gsm_map.v_gmlc_Address",
11795 FT_BYTES, BASE_HEX, NULL, 0,
11796 "UpdateLocationArg/v-gmlc-Address", HFILL }},
11797 { &hf_gsm_map_add_info,
11798 { "add-info", "gsm_map.add_info",
11799 FT_NONE, BASE_NONE, NULL, 0,
11800 "UpdateLocationArg/add-info", HFILL }},
11801 { &hf_gsm_map_imeisv,
11802 { "imeisv", "gsm_map.imeisv",
11803 FT_BYTES, BASE_HEX, NULL, 0,
11804 "UpdateLocationArg/add-info/imeisv", HFILL }},
11805 { &hf_gsm_map_skipSubscriberDataUpdate,
11806 { "skipSubscriberDataUpdate", "gsm_map.skipSubscriberDataUpdate",
11807 FT_NONE, BASE_NONE, NULL, 0,
11808 "UpdateLocationArg/add-info/skipSubscriberDataUpdate", HFILL }},
11809 { &hf_gsm_map_hlr_Number,
11810 { "hlr-Number", "gsm_map.hlr_Number",
11811 FT_BYTES, BASE_HEX, NULL, 0,
11813 { &hf_gsm_map_PrivateExtensionList_item,
11814 { "Item", "gsm_map.PrivateExtensionList_item",
11815 FT_NONE, BASE_NONE, NULL, 0,
11816 "PrivateExtensionList/_item", HFILL }},
11817 { &hf_gsm_map_extId,
11818 { "extId", "gsm_map.extId",
11819 FT_STRING, BASE_NONE, NULL, 0,
11820 "PrivateExtension/extId", HFILL }},
11821 { &hf_gsm_map_extType,
11822 { "extType", "gsm_map.extType",
11823 FT_BYTES, BASE_HEX, NULL, 0,
11824 "PrivateExtension/extType", HFILL }},
11825 { &hf_gsm_map_identity,
11826 { "identity", "gsm_map.identity",
11827 FT_UINT32, BASE_DEC, VALS(gsm_map_T_identity_vals), 0,
11828 "CancelLocationArg/identity", HFILL }},
11829 { &hf_gsm_map_imsi_WithLMSI,
11830 { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI",
11831 FT_NONE, BASE_NONE, NULL, 0,
11832 "CancelLocationArg/identity/imsi-WithLMSI", HFILL }},
11833 { &hf_gsm_map_cancellationType,
11834 { "cancellationType", "gsm_map.cancellationType",
11835 FT_UINT32, BASE_DEC, VALS(gsm_map_CancellationType_vals), 0,
11836 "CancelLocationArg/cancellationType", HFILL }},
11837 { &hf_gsm_map_sgsn_Number,
11838 { "sgsn-Number", "gsm_map.sgsn_Number",
11839 FT_BYTES, BASE_HEX, NULL, 0,
11841 { &hf_gsm_map_freezeTMSI,
11842 { "freezeTMSI", "gsm_map.freezeTMSI",
11843 FT_NONE, BASE_NONE, NULL, 0,
11844 "PurgeMS-Res/freezeTMSI", HFILL }},
11845 { &hf_gsm_map_freezeP_TMSI,
11846 { "freezeP-TMSI", "gsm_map.freezeP_TMSI",
11847 FT_NONE, BASE_NONE, NULL, 0,
11848 "PurgeMS-Res/freezeP-TMSI", HFILL }},
11849 { &hf_gsm_map_sendId_authenticationSetList,
11850 { "authenticationSetList", "gsm_map.authenticationSetList",
11851 FT_NONE, BASE_NONE, NULL, 0,
11852 "SendIdentificationRes/authenticationSetList", HFILL }},
11853 { &hf_gsm_map_authenticationSetList_item,
11854 { "Item", "gsm_map.authenticationSetList_item",
11855 FT_NONE, BASE_NONE, NULL, 0,
11856 "SendIdentificationRes/authenticationSetList/_item", HFILL }},
11857 { &hf_gsm_map_rand,
11858 { "rand", "gsm_map.rand",
11859 FT_BYTES, BASE_HEX, NULL, 0,
11861 { &hf_gsm_map_sres,
11862 { "sres", "gsm_map.sres",
11863 FT_BYTES, BASE_HEX, NULL, 0,
11866 { "kc", "gsm_map.kc",
11867 FT_BYTES, BASE_HEX, NULL, 0,
11869 { &hf_gsm_map_targetCellId,
11870 { "targetCellId", "gsm_map.targetCellId",
11871 FT_BYTES, BASE_HEX, NULL, 0,
11873 { &hf_gsm_map_ho_NumberNotRequired,
11874 { "ho-NumberNotRequired", "gsm_map.ho_NumberNotRequired",
11875 FT_NONE, BASE_NONE, NULL, 0,
11877 { &hf_gsm_map_bss_APDU,
11878 { "bss-APDU", "gsm_map.bss_APDU",
11879 FT_NONE, BASE_NONE, NULL, 0,
11881 { &hf_gsm_map_targetRNCId,
11882 { "targetRNCId", "gsm_map.targetRNCId",
11883 FT_BYTES, BASE_HEX, NULL, 0,
11884 "PrepareHandoverV3Arg/targetRNCId", HFILL }},
11885 { &hf_gsm_map_an_APDU,
11886 { "an-APDU", "gsm_map.an_APDU",
11887 FT_NONE, BASE_NONE, NULL, 0,
11889 { &hf_gsm_map_multipleBearerRequested,
11890 { "multipleBearerRequested", "gsm_map.multipleBearerRequested",
11891 FT_NONE, BASE_NONE, NULL, 0,
11892 "PrepareHandoverV3Arg/multipleBearerRequested", HFILL }},
11893 { &hf_gsm_map_integrityProtectionInfo,
11894 { "integrityProtectionInfo", "gsm_map.integrityProtectionInfo",
11895 FT_BYTES, BASE_HEX, NULL, 0,
11896 "PrepareHandoverV3Arg/integrityProtectionInfo", HFILL }},
11897 { &hf_gsm_map_encryptionInfo,
11898 { "encryptionInfo", "gsm_map.encryptionInfo",
11899 FT_BYTES, BASE_HEX, NULL, 0,
11900 "PrepareHandoverV3Arg/encryptionInfo", HFILL }},
11901 { &hf_gsm_map_radioResourceInformation,
11902 { "radioResourceInformation", "gsm_map.radioResourceInformation",
11903 FT_BYTES, BASE_HEX, NULL, 0,
11905 { &hf_gsm_map_allowedGSM_Algorithms,
11906 { "allowedGSM-Algorithms", "gsm_map.allowedGSM_Algorithms",
11907 FT_BYTES, BASE_HEX, NULL, 0,
11908 "PrepareHandoverV3Arg/allowedGSM-Algorithms", HFILL }},
11909 { &hf_gsm_map_allowedUMTS_Algorithms,
11910 { "allowedUMTS-Algorithms", "gsm_map.allowedUMTS_Algorithms",
11911 FT_NONE, BASE_NONE, NULL, 0,
11912 "PrepareHandoverV3Arg/allowedUMTS-Algorithms", HFILL }},
11913 { &hf_gsm_map_integrityProtectionAlgorithms,
11914 { "integrityProtectionAlgorithms", "gsm_map.integrityProtectionAlgorithms",
11915 FT_BYTES, BASE_HEX, NULL, 0,
11916 "PrepareHandoverV3Arg/allowedUMTS-Algorithms/integrityProtectionAlgorithms", HFILL }},
11917 { &hf_gsm_map_encryptionAlgorithms,
11918 { "encryptionAlgorithms", "gsm_map.encryptionAlgorithms",
11919 FT_BYTES, BASE_HEX, NULL, 0,
11920 "PrepareHandoverV3Arg/allowedUMTS-Algorithms/encryptionAlgorithms", HFILL }},
11921 { &hf_gsm_map_radioResourceList,
11922 { "radioResourceList", "gsm_map.radioResourceList",
11923 FT_NONE, BASE_NONE, NULL, 0,
11924 "PrepareHandoverV3Arg/radioResourceList", HFILL }},
11925 { &hf_gsm_map_radioResourceList_item,
11926 { "Item", "gsm_map.radioResourceList_item",
11927 FT_NONE, BASE_NONE, NULL, 0,
11928 "PrepareHandoverV3Arg/radioResourceList/_item", HFILL }},
11929 { &hf_gsm_map_rab_Id,
11930 { "rab-Id", "gsm_map.rab_Id",
11931 FT_UINT32, BASE_DEC, NULL, 0,
11933 { &hf_gsm_map_bssmap_ServiceHandover,
11934 { "bssmap-ServiceHandover", "gsm_map.bssmap_ServiceHandover",
11935 FT_BYTES, BASE_HEX, NULL, 0,
11937 { &hf_gsm_map_ranap_ServiceHandover,
11938 { "ranap-ServiceHandover", "gsm_map.ranap_ServiceHandover",
11939 FT_BYTES, BASE_HEX, NULL, 0,
11940 "PrepareHandoverV3Arg/ranap-ServiceHandover", HFILL }},
11941 { &hf_gsm_map_bssmap_ServiceHandoverList,
11942 { "bssmap-ServiceHandoverList", "gsm_map.bssmap_ServiceHandoverList",
11943 FT_NONE, BASE_NONE, NULL, 0,
11944 "PrepareHandoverV3Arg/bssmap-ServiceHandoverList", HFILL }},
11945 { &hf_gsm_map_bssmap_ServiceHandoverList_item,
11946 { "Item", "gsm_map.bssmap_ServiceHandoverList_item",
11947 FT_NONE, BASE_NONE, NULL, 0,
11948 "PrepareHandoverV3Arg/bssmap-ServiceHandoverList/_item", HFILL }},
11949 { &hf_gsm_map_asciCallReference,
11950 { "asciCallReference", "gsm_map.asciCallReference",
11951 FT_BYTES, BASE_HEX, NULL, 0,
11953 { &hf_gsm_map_geran_classmark,
11954 { "geran-classmark", "gsm_map.geran_classmark",
11955 FT_BYTES, BASE_HEX, NULL, 0,
11956 "PrepareHandoverV3Arg/geran-classmark", HFILL }},
11957 { &hf_gsm_map_iuCurrentlyUsedCodec,
11958 { "iuCurrentlyUsedCodec", "gsm_map.iuCurrentlyUsedCodec",
11959 FT_BYTES, BASE_HEX, NULL, 0,
11960 "PrepareHandoverV3Arg/iuCurrentlyUsedCodec", HFILL }},
11961 { &hf_gsm_map_iuSupportedCodecsList,
11962 { "iuSupportedCodecsList", "gsm_map.iuSupportedCodecsList",
11963 FT_NONE, BASE_NONE, NULL, 0,
11964 "PrepareHandoverV3Arg/iuSupportedCodecsList", HFILL }},
11965 { &hf_gsm_map_utranCodecList,
11966 { "utranCodecList", "gsm_map.utranCodecList",
11967 FT_NONE, BASE_NONE, NULL, 0,
11968 "PrepareHandoverV3Arg/iuSupportedCodecsList/utranCodecList", HFILL }},
11969 { &hf_gsm_map_codec1,
11970 { "codec1", "gsm_map.codec1",
11971 FT_BYTES, BASE_HEX, NULL, 0,
11973 { &hf_gsm_map_codec2,
11974 { "codec2", "gsm_map.codec2",
11975 FT_BYTES, BASE_HEX, NULL, 0,
11977 { &hf_gsm_map_codec3,
11978 { "codec3", "gsm_map.codec3",
11979 FT_BYTES, BASE_HEX, NULL, 0,
11981 { &hf_gsm_map_codec4,
11982 { "codec4", "gsm_map.codec4",
11983 FT_BYTES, BASE_HEX, NULL, 0,
11985 { &hf_gsm_map_codec5,
11986 { "codec5", "gsm_map.codec5",
11987 FT_BYTES, BASE_HEX, NULL, 0,
11989 { &hf_gsm_map_codec6,
11990 { "codec6", "gsm_map.codec6",
11991 FT_BYTES, BASE_HEX, NULL, 0,
11993 { &hf_gsm_map_codec7,
11994 { "codec7", "gsm_map.codec7",
11995 FT_BYTES, BASE_HEX, NULL, 0,
11997 { &hf_gsm_map_codec8,
11998 { "codec8", "gsm_map.codec8",
11999 FT_BYTES, BASE_HEX, NULL, 0,
12001 { &hf_gsm_map_geranCodecList,
12002 { "geranCodecList", "gsm_map.geranCodecList",
12003 FT_NONE, BASE_NONE, NULL, 0,
12004 "PrepareHandoverV3Arg/iuSupportedCodecsList/utranCodecList/geranCodecList", HFILL }},
12005 { &hf_gsm_map_rab_ConfigurationIndicator,
12006 { "rab-ConfigurationIndicator", "gsm_map.rab_ConfigurationIndicator",
12007 FT_NONE, BASE_NONE, NULL, 0,
12008 "PrepareHandoverV3Arg/rab-ConfigurationIndicator", HFILL }},
12009 { &hf_gsm_map_uesbi_Iu,
12010 { "uesbi-Iu", "gsm_map.uesbi_Iu",
12011 FT_NONE, BASE_NONE, NULL, 0,
12012 "PrepareHandoverV3Arg/uesbi-Iu", HFILL }},
12013 { &hf_gsm_map_uesbi_IuA,
12014 { "uesbi-IuA", "gsm_map.uesbi_IuA",
12015 FT_BYTES, BASE_HEX, NULL, 0,
12016 "PrepareHandoverV3Arg/uesbi-Iu/uesbi-IuA", HFILL }},
12017 { &hf_gsm_map_uesbi_IuB,
12018 { "uesbi-IuB", "gsm_map.uesbi_IuB",
12019 FT_BYTES, BASE_HEX, NULL, 0,
12020 "PrepareHandoverV3Arg/uesbi-Iu/uesbi-IuB", HFILL }},
12021 { &hf_gsm_map_handoverNumber,
12022 { "handoverNumber", "gsm_map.handoverNumber",
12023 FT_BYTES, BASE_HEX, NULL, 0,
12025 { &hf_gsm_map_relocationNumberList,
12026 { "relocationNumberList", "gsm_map.relocationNumberList",
12027 FT_NONE, BASE_NONE, NULL, 0,
12028 "PrepareHandoverV3Res/relocationNumberList", HFILL }},
12029 { &hf_gsm_map_relocationNumberList_item,
12030 { "Item", "gsm_map.relocationNumberList_item",
12031 FT_NONE, BASE_NONE, NULL, 0,
12032 "PrepareHandoverV3Res/relocationNumberList/_item", HFILL }},
12033 { &hf_gsm_map_multicallBearerInfo,
12034 { "multicallBearerInfo", "gsm_map.multicallBearerInfo",
12035 FT_UINT32, BASE_DEC, NULL, 0,
12036 "PrepareHandoverV3Res/multicallBearerInfo", HFILL }},
12037 { &hf_gsm_map_multipleBearerNotSupported,
12038 { "multipleBearerNotSupported", "gsm_map.multipleBearerNotSupported",
12039 FT_NONE, BASE_NONE, NULL, 0,
12040 "PrepareHandoverV3Res/multipleBearerNotSupported", HFILL }},
12041 { &hf_gsm_map_selectedUMTS_Algorithms,
12042 { "selectedUMTS-Algorithms", "gsm_map.selectedUMTS_Algorithms",
12043 FT_NONE, BASE_NONE, NULL, 0,
12044 "PrepareHandoverV3Res/selectedUMTS-Algorithms", HFILL }},
12045 { &hf_gsm_map_integrityProtectionAlgorithm,
12046 { "integrityProtectionAlgorithm", "gsm_map.integrityProtectionAlgorithm",
12047 FT_BYTES, BASE_HEX, NULL, 0,
12048 "PrepareHandoverV3Res/selectedUMTS-Algorithms/integrityProtectionAlgorithm", HFILL }},
12049 { &hf_gsm_map_encryptionAlgorithm,
12050 { "encryptionAlgorithm", "gsm_map.encryptionAlgorithm",
12051 FT_BYTES, BASE_HEX, NULL, 0,
12052 "PrepareHandoverV3Res/selectedUMTS-Algorithms/encryptionAlgorithm", HFILL }},
12053 { &hf_gsm_map_chosenRadioResourceInformation,
12054 { "chosenRadioResourceInformation", "gsm_map.chosenRadioResourceInformation",
12055 FT_NONE, BASE_NONE, NULL, 0,
12056 "PrepareHandoverV3Res/chosenRadioResourceInformation", HFILL }},
12057 { &hf_gsm_map_chosenChannelInfo,
12058 { "chosenChannelInfo", "gsm_map.chosenChannelInfo",
12059 FT_BYTES, BASE_HEX, NULL, 0,
12060 "PrepareHandoverV3Res/chosenRadioResourceInformation/chosenChannelInfo", HFILL }},
12061 { &hf_gsm_map_chosenSpeechVersion,
12062 { "chosenSpeechVersion", "gsm_map.chosenSpeechVersion",
12063 FT_BYTES, BASE_HEX, NULL, 0,
12064 "PrepareHandoverV3Res/chosenRadioResourceInformation/chosenSpeechVersion", HFILL }},
12065 { &hf_gsm_map_iuSelectedCodec,
12066 { "iuSelectedCodec", "gsm_map.iuSelectedCodec",
12067 FT_BYTES, BASE_HEX, NULL, 0,
12068 "PrepareHandoverV3Res/iuSelectedCodec", HFILL }},
12069 { &hf_gsm_map_iuAvailableCodecsList,
12070 { "iuAvailableCodecsList", "gsm_map.iuAvailableCodecsList",
12071 FT_NONE, BASE_NONE, NULL, 0,
12072 "PrepareHandoverV3Res/iuAvailableCodecsList", HFILL }},
12073 { &hf_gsm_map_targetMSC_Number,
12074 { "targetMSC-Number", "gsm_map.targetMSC_Number",
12075 FT_BYTES, BASE_HEX, NULL, 0,
12076 "PrepareSubsequentHO-Arg/targetMSC-Number", HFILL }},
12077 { &hf_gsm_map_numberOfRequestedVectors,
12078 { "numberOfRequestedVectors", "gsm_map.numberOfRequestedVectors",
12079 FT_UINT32, BASE_DEC, NULL, 0,
12080 "SendAuthenticationInfoArgV3/numberOfRequestedVectors", HFILL }},
12081 { &hf_gsm_map_segmentationProhibited,
12082 { "segmentationProhibited", "gsm_map.segmentationProhibited",
12083 FT_NONE, BASE_NONE, NULL, 0,
12084 "SendAuthenticationInfoArgV3/segmentationProhibited", HFILL }},
12085 { &hf_gsm_map_immediateResponsePreferred,
12086 { "immediateResponsePreferred", "gsm_map.immediateResponsePreferred",
12087 FT_NONE, BASE_NONE, NULL, 0,
12088 "SendAuthenticationInfoArgV3/immediateResponsePreferred", HFILL }},
12089 { &hf_gsm_map_re_synchronisationInfo,
12090 { "re-synchronisationInfo", "gsm_map.re_synchronisationInfo",
12091 FT_NONE, BASE_NONE, NULL, 0,
12092 "SendAuthenticationInfoArgV3/re-synchronisationInfo", HFILL }},
12093 { &hf_gsm_map_auts,
12094 { "auts", "gsm_map.auts",
12095 FT_BYTES, BASE_HEX, NULL, 0,
12096 "SendAuthenticationInfoArgV3/re-synchronisationInfo/auts", HFILL }},
12097 { &hf_gsm_map_requestingNodeType,
12098 { "requestingNodeType", "gsm_map.requestingNodeType",
12099 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestingNodeType_vals), 0,
12100 "SendAuthenticationInfoArgV3/requestingNodeType", HFILL }},
12101 { &hf_gsm_map_requestingPLMN_Id,
12102 { "requestingPLMN-Id", "gsm_map.requestingPLMN_Id",
12103 FT_BYTES, BASE_HEX, NULL, 0,
12104 "SendAuthenticationInfoArgV3/requestingPLMN-Id", HFILL }},
12105 { &hf_gsm_map_SendAuthenticationInfoRes_item,
12106 { "Item", "gsm_map.SendAuthenticationInfoRes_item",
12107 FT_NONE, BASE_NONE, NULL, 0,
12108 "SendAuthenticationInfoRes/_item", HFILL }},
12109 { &hf_gsm_map_authenticationSetList,
12110 { "authenticationSetList", "gsm_map.authenticationSetList",
12111 FT_UINT32, BASE_DEC, VALS(gsm_map_T_authenticationSetList_vals), 0,
12112 "SendAuthenticationInfoV3Res/authenticationSetList", HFILL }},
12113 { &hf_gsm_map_tripletList,
12114 { "tripletList", "gsm_map.tripletList",
12115 FT_NONE, BASE_NONE, NULL, 0,
12116 "SendAuthenticationInfoV3Res/authenticationSetList/tripletList", HFILL }},
12117 { &hf_gsm_map_tripletList_item,
12118 { "Item", "gsm_map.tripletList_item",
12119 FT_NONE, BASE_NONE, NULL, 0,
12120 "SendAuthenticationInfoV3Res/authenticationSetList/tripletList/_item", HFILL }},
12121 { &hf_gsm_map_quintupletList,
12122 { "quintupletList", "gsm_map.quintupletList",
12123 FT_NONE, BASE_NONE, NULL, 0,
12124 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList", HFILL }},
12125 { &hf_gsm_map_quintupletList_item,
12126 { "Item", "gsm_map.quintupletList_item",
12127 FT_NONE, BASE_NONE, NULL, 0,
12128 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item", HFILL }},
12129 { &hf_gsm_map_xres,
12130 { "xres", "gsm_map.xres",
12131 FT_BYTES, BASE_HEX, NULL, 0,
12132 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/xres", HFILL }},
12134 { "ck", "gsm_map.ck",
12135 FT_BYTES, BASE_HEX, NULL, 0,
12136 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/ck", HFILL }},
12138 { "ik", "gsm_map.ik",
12139 FT_BYTES, BASE_HEX, NULL, 0,
12140 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/ik", HFILL }},
12141 { &hf_gsm_map_autn,
12142 { "autn", "gsm_map.autn",
12143 FT_BYTES, BASE_HEX, NULL, 0,
12144 "SendAuthenticationInfoV3Res/authenticationSetList/quintupletList/_item/autn", HFILL }},
12145 { &hf_gsm_map_bearerService,
12146 { "bearerService", "gsm_map.bearerService",
12147 FT_BYTES, BASE_HEX, NULL, 0,
12148 "BasicService/bearerService", HFILL }},
12149 { &hf_gsm_map_teleservice,
12150 { "teleservice", "gsm_map.teleservice",
12151 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
12153 { &hf_gsm_map_BasicServiceGroupList_item,
12154 { "Item", "gsm_map.BasicServiceGroupList_item",
12155 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
12156 "BasicServiceGroupList/_item", HFILL }},
12157 { &hf_gsm_map_bcsmTriggerDetectionPoint,
12158 { "bcsmTriggerDetectionPoint", "gsm_map.bcsmTriggerDetectionPoint",
12159 FT_UINT32, BASE_DEC, VALS(gsm_map_BcsmTriggerDetectionPoint_vals), 0,
12160 "BcsmCamelTDPData/bcsmTriggerDetectionPoint", HFILL }},
12161 { &hf_gsm_map_serviceKey,
12162 { "serviceKey", "gsm_map.serviceKey",
12163 FT_UINT32, BASE_DEC, NULL, 0,
12165 { &hf_gsm_map_gsmSCFAddress,
12166 { "gsmSCFAddress", "gsm_map.gsmSCFAddress",
12167 FT_BYTES, BASE_HEX, NULL, 0,
12168 "BcsmCamelTDPData/gsmSCFAddress", HFILL }},
12169 { &hf_gsm_map_defaultCallHandling,
12170 { "defaultCallHandling", "gsm_map.defaultCallHandling",
12171 FT_UINT32, BASE_DEC, VALS(gsm_map_DefaultCallHandling_vals), 0,
12173 { &hf_gsm_map_BcsmCamelTDPDataList_item,
12174 { "Item", "gsm_map.BcsmCamelTDPDataList_item",
12175 FT_NONE, BASE_NONE, NULL, 0,
12176 "BcsmCamelTDPDataList/_item", HFILL }},
12177 { &hf_gsm_map_o_BcsmCamelTDPDataList,
12178 { "o-BcsmCamelTDPDataList", "gsm_map.o_BcsmCamelTDPDataList",
12179 FT_NONE, BASE_NONE, NULL, 0,
12181 { &hf_gsm_map_camelCapabilityHandling,
12182 { "camelCapabilityHandling", "gsm_map.camelCapabilityHandling",
12183 FT_UINT32, BASE_DEC, NULL, 0,
12185 { &hf_gsm_map_msisdn,
12186 { "msisdn", "gsm_map.msisdn",
12187 FT_BYTES, BASE_HEX, NULL, 0,
12189 { &hf_gsm_map_category,
12190 { "category", "gsm_map.category",
12191 FT_BYTES, BASE_HEX, NULL, 0,
12192 "InsertSubscriberDataArg/category", HFILL }},
12193 { &hf_gsm_map_subscriberStatus,
12194 { "subscriberStatus", "gsm_map.subscriberStatus",
12195 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberStatus_vals), 0,
12196 "InsertSubscriberDataArg/subscriberStatus", HFILL }},
12197 { &hf_gsm_map_bearerServiceList,
12198 { "bearerServiceList", "gsm_map.bearerServiceList",
12199 FT_NONE, BASE_NONE, NULL, 0,
12201 { &hf_gsm_map_bearerServiceList_item,
12202 { "Item", "gsm_map.bearerServiceList_item",
12203 FT_BYTES, BASE_HEX, NULL, 0,
12205 { &hf_gsm_map_teleserviceList,
12206 { "teleserviceList", "gsm_map.teleserviceList",
12207 FT_NONE, BASE_NONE, NULL, 0,
12209 { &hf_gsm_map_teleserviceList_item,
12210 { "Item", "gsm_map.teleserviceList_item",
12211 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
12213 { &hf_gsm_map_provisionedSS,
12214 { "provisionedSS", "gsm_map.provisionedSS",
12215 FT_NONE, BASE_NONE, NULL, 0,
12216 "InsertSubscriberDataArg/provisionedSS", HFILL }},
12217 { &hf_gsm_map_provisionedSS_item,
12218 { "Item", "gsm_map.provisionedSS_item",
12219 FT_UINT32, BASE_DEC, VALS(gsm_map_T_provisionedSS_item_vals), 0,
12220 "InsertSubscriberDataArg/provisionedSS/_item", HFILL }},
12221 { &hf_gsm_map_forwardingInfo,
12222 { "forwardingInfo", "gsm_map.forwardingInfo",
12223 FT_NONE, BASE_NONE, NULL, 0,
12225 { &hf_gsm_map_callBarringInfo,
12226 { "callBarringInfo", "gsm_map.callBarringInfo",
12227 FT_NONE, BASE_NONE, NULL, 0,
12229 { &hf_gsm_map_cug_Info,
12230 { "cug-Info", "gsm_map.cug_Info",
12231 FT_NONE, BASE_NONE, NULL, 0,
12232 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info", HFILL }},
12233 { &hf_gsm_map_cug_SubscriptionList,
12234 { "cug-SubscriptionList", "gsm_map.cug_SubscriptionList",
12235 FT_NONE, BASE_NONE, NULL, 0,
12236 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList", HFILL }},
12237 { &hf_gsm_map_cug_SubscriptionList_item,
12238 { "Item", "gsm_map.cug_SubscriptionList_item",
12239 FT_NONE, BASE_NONE, NULL, 0,
12240 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList/_item", HFILL }},
12241 { &hf_gsm_map_cug_Index,
12242 { "cug-Index", "gsm_map.cug_Index",
12243 FT_UINT32, BASE_DEC, NULL, 0,
12244 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList/_item/cug-Index", HFILL }},
12245 { &hf_gsm_map_cug_Interlock,
12246 { "cug-Interlock", "gsm_map.cug_Interlock",
12247 FT_BYTES, BASE_HEX, NULL, 0,
12249 { &hf_gsm_map_intraCUG_Options,
12250 { "intraCUG-Options", "gsm_map.intraCUG_Options",
12251 FT_UINT32, BASE_DEC, VALS(gsm_map_IntraCUG_Options_vals), 0,
12252 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-SubscriptionList/_item/intraCUG-Options", HFILL }},
12253 { &hf_gsm_map_basicServiceGroupList,
12254 { "basicServiceGroupList", "gsm_map.basicServiceGroupList",
12255 FT_NONE, BASE_NONE, NULL, 0,
12257 { &hf_gsm_map_cug_FeatureList,
12258 { "cug-FeatureList", "gsm_map.cug_FeatureList",
12259 FT_NONE, BASE_NONE, NULL, 0,
12260 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList", HFILL }},
12261 { &hf_gsm_map_cug_FeatureList_item,
12262 { "Item", "gsm_map.cug_FeatureList_item",
12263 FT_NONE, BASE_NONE, NULL, 0,
12264 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList/_item", HFILL }},
12265 { &hf_gsm_map_basicService,
12266 { "basicService", "gsm_map.basicService",
12267 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
12269 { &hf_gsm_map_preferentialCUG_Indicator,
12270 { "preferentialCUG-Indicator", "gsm_map.preferentialCUG_Indicator",
12271 FT_UINT32, BASE_DEC, NULL, 0,
12272 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList/_item/preferentialCUG-Indicator", HFILL }},
12273 { &hf_gsm_map_interCUG_Restrictions,
12274 { "interCUG-Restrictions", "gsm_map.interCUG_Restrictions",
12275 FT_BYTES, BASE_HEX, NULL, 0,
12276 "InsertSubscriberDataArg/provisionedSS/_item/cug-Info/cug-FeatureList/_item/interCUG-Restrictions", HFILL }},
12277 { &hf_gsm_map_ss_Data,
12278 { "ss-Data", "gsm_map.ss_Data",
12279 FT_NONE, BASE_NONE, NULL, 0,
12281 { &hf_gsm_map_emlpp_Info,
12282 { "emlpp-Info", "gsm_map.emlpp_Info",
12283 FT_NONE, BASE_NONE, NULL, 0,
12284 "InsertSubscriberDataArg/provisionedSS/_item/emlpp-Info", HFILL }},
12285 { &hf_gsm_map_maximumentitledPriority,
12286 { "maximumentitledPriority", "gsm_map.maximumentitledPriority",
12287 FT_UINT32, BASE_DEC, NULL, 0,
12288 "InsertSubscriberDataArg/provisionedSS/_item/emlpp-Info/maximumentitledPriority", HFILL }},
12289 { &hf_gsm_map_defaultPriority,
12290 { "defaultPriority", "gsm_map.defaultPriority",
12291 FT_UINT32, BASE_DEC, NULL, 0,
12293 { &hf_gsm_map_odb_Data,
12294 { "odb-Data", "gsm_map.odb_Data",
12295 FT_NONE, BASE_NONE, NULL, 0,
12297 { &hf_gsm_map_roamingRestrictionDueToUnsupportedFeature,
12298 { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.roamingRestrictionDueToUnsupportedFeature",
12299 FT_NONE, BASE_NONE, NULL, 0,
12301 { &hf_gsm_map_regionalSubscriptionData,
12302 { "regionalSubscriptionData", "gsm_map.regionalSubscriptionData",
12303 FT_NONE, BASE_NONE, NULL, 0,
12304 "InsertSubscriberDataArg/regionalSubscriptionData", HFILL }},
12305 { &hf_gsm_map_regionalSubscriptionData_item,
12306 { "Item", "gsm_map.regionalSubscriptionData_item",
12307 FT_BYTES, BASE_HEX, NULL, 0,
12308 "InsertSubscriberDataArg/regionalSubscriptionData/_item", HFILL }},
12309 { &hf_gsm_map_vbsSubscriptionData,
12310 { "vbsSubscriptionData", "gsm_map.vbsSubscriptionData",
12311 FT_NONE, BASE_NONE, NULL, 0,
12312 "InsertSubscriberDataArg/vbsSubscriptionData", HFILL }},
12313 { &hf_gsm_map_vbsSubscriptionData_item,
12314 { "Item", "gsm_map.vbsSubscriptionData_item",
12315 FT_NONE, BASE_NONE, NULL, 0,
12316 "InsertSubscriberDataArg/vbsSubscriptionData/_item", HFILL }},
12317 { &hf_gsm_map_groupid,
12318 { "groupid", "gsm_map.groupid",
12319 FT_BYTES, BASE_HEX, NULL, 0,
12320 "InsertSubscriberDataArg/vbsSubscriptionData/_item/groupid", HFILL }},
12321 { &hf_gsm_map_broadcastInitEntitlement,
12322 { "broadcastInitEntitlement", "gsm_map.broadcastInitEntitlement",
12323 FT_NONE, BASE_NONE, NULL, 0,
12324 "InsertSubscriberDataArg/vbsSubscriptionData/_item/broadcastInitEntitlement", HFILL }},
12325 { &hf_gsm_map_vgcsSubscriptionData,
12326 { "vgcsSubscriptionData", "gsm_map.vgcsSubscriptionData",
12327 FT_NONE, BASE_NONE, NULL, 0,
12328 "InsertSubscriberDataArg/vgcsSubscriptionData", HFILL }},
12329 { &hf_gsm_map_vgcsSubscriptionData_item,
12330 { "Item", "gsm_map.vgcsSubscriptionData_item",
12331 FT_NONE, BASE_NONE, NULL, 0,
12332 "InsertSubscriberDataArg/vgcsSubscriptionData/_item", HFILL }},
12333 { &hf_gsm_map_groupId,
12334 { "groupId", "gsm_map.groupId",
12335 FT_BYTES, BASE_HEX, NULL, 0,
12336 "InsertSubscriberDataArg/vgcsSubscriptionData/_item/groupId", HFILL }},
12337 { &hf_gsm_map_vlrCamelSubscriptionInfo,
12338 { "vlrCamelSubscriptionInfo", "gsm_map.vlrCamelSubscriptionInfo",
12339 FT_NONE, BASE_NONE, NULL, 0,
12340 "InsertSubscriberDataArg/vlrCamelSubscriptionInfo", HFILL }},
12341 { &hf_gsm_map_o_CSI,
12342 { "o-CSI", "gsm_map.o_CSI",
12343 FT_NONE, BASE_NONE, NULL, 0,
12345 { &hf_gsm_map_ss_CSI,
12346 { "ss-CSI", "gsm_map.ss_CSI",
12347 FT_NONE, BASE_NONE, NULL, 0,
12348 "InsertSubscriberDataArg/vlrCamelSubscriptionInfo/ss-CSI", HFILL }},
12349 { &hf_gsm_map_ss_CamelData,
12350 { "ss-CamelData", "gsm_map.ss_CamelData",
12351 FT_NONE, BASE_NONE, NULL, 0,
12353 { &hf_gsm_map_o_BcsmCamelTDP_CriteriaList,
12354 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.o_BcsmCamelTDP_CriteriaList",
12355 FT_NONE, BASE_NONE, NULL, 0,
12357 { &hf_gsm_map_tif_CSI,
12358 { "tif-CSI", "gsm_map.tif_CSI",
12359 FT_NONE, BASE_NONE, NULL, 0,
12361 { &hf_gsm_map_naea_PreferredCI,
12362 { "naea-PreferredCI", "gsm_map.naea_PreferredCI",
12363 FT_NONE, BASE_NONE, NULL, 0,
12365 { &hf_gsm_map_gprsSubscriptionData,
12366 { "gprsSubscriptionData", "gsm_map.gprsSubscriptionData",
12367 FT_NONE, BASE_NONE, NULL, 0,
12368 "InsertSubscriberDataArg/gprsSubscriptionData", HFILL }},
12369 { &hf_gsm_map_completeDataListIncluded,
12370 { "completeDataListIncluded", "gsm_map.completeDataListIncluded",
12371 FT_NONE, BASE_NONE, NULL, 0,
12373 { &hf_gsm_map_gprsDataList,
12374 { "gprsDataList", "gsm_map.gprsDataList",
12375 FT_NONE, BASE_NONE, NULL, 0,
12376 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList", HFILL }},
12377 { &hf_gsm_map_gprsDataList_item,
12378 { "Item", "gsm_map.gprsDataList_item",
12379 FT_NONE, BASE_NONE, NULL, 0,
12380 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item", HFILL }},
12381 { &hf_gsm_map_pdp_ContextId,
12382 { "pdp-ContextId", "gsm_map.pdp_ContextId",
12383 FT_UINT32, BASE_DEC, NULL, 0,
12384 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item/pdp-ContextId", HFILL }},
12385 { &hf_gsm_map_pdp_Type,
12386 { "pdp-Type", "gsm_map.pdp_Type",
12387 FT_BYTES, BASE_HEX, NULL, 0,
12389 { &hf_gsm_map_pdp_Address,
12390 { "pdp-Address", "gsm_map.pdp_Address",
12391 FT_BYTES, BASE_HEX, NULL, 0,
12393 { &hf_gsm_map_qos_Subscribed,
12394 { "qos-Subscribed", "gsm_map.qos_Subscribed",
12395 FT_BYTES, BASE_HEX, NULL, 0,
12397 { &hf_gsm_map_vplmnAddressAllowed,
12398 { "vplmnAddressAllowed", "gsm_map.vplmnAddressAllowed",
12399 FT_NONE, BASE_NONE, NULL, 0,
12400 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item/vplmnAddressAllowed", HFILL }},
12402 { "apn", "gsm_map.apn",
12403 FT_BYTES, BASE_HEX, NULL, 0,
12404 "InsertSubscriberDataArg/gprsSubscriptionData/gprsDataList/_item/apn", HFILL }},
12405 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsupportedFeature,
12406 { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsupportedFeature",
12407 FT_NONE, BASE_NONE, NULL, 0,
12408 "InsertSubscriberDataArg/roamingRestrictedInSgsnDueToUnsupportedFeature", HFILL }},
12409 { &hf_gsm_map_networkAccessMode,
12410 { "networkAccessMode", "gsm_map.networkAccessMode",
12411 FT_UINT32, BASE_DEC, VALS(gsm_map_T_networkAccessMode_vals), 0,
12412 "InsertSubscriberDataArg/networkAccessMode", HFILL }},
12413 { &hf_gsm_map_lsaInformation,
12414 { "lsaInformation", "gsm_map.lsaInformation",
12415 FT_NONE, BASE_NONE, NULL, 0,
12416 "InsertSubscriberDataArg/lsaInformation", HFILL }},
12417 { &hf_gsm_map_lsaOnlyAccessIndicator,
12418 { "lsaOnlyAccessIndicator", "gsm_map.lsaOnlyAccessIndicator",
12419 FT_UINT32, BASE_DEC, VALS(gsm_map_T_lsaOnlyAccessIndicator_vals), 0,
12420 "InsertSubscriberDataArg/lsaInformation/lsaOnlyAccessIndicator", HFILL }},
12421 { &hf_gsm_map_lsaDataList,
12422 { "lsaDataList", "gsm_map.lsaDataList",
12423 FT_NONE, BASE_NONE, NULL, 0,
12424 "InsertSubscriberDataArg/lsaInformation/lsaDataList", HFILL }},
12425 { &hf_gsm_map_lsaDataList_item,
12426 { "Item", "gsm_map.lsaDataList_item",
12427 FT_NONE, BASE_NONE, NULL, 0,
12428 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item", HFILL }},
12429 { &hf_gsm_map_lsaIdentity,
12430 { "lsaIdentity", "gsm_map.lsaIdentity",
12431 FT_BYTES, BASE_HEX, NULL, 0,
12432 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item/lsaIdentity", HFILL }},
12433 { &hf_gsm_map_lsaAttributes,
12434 { "lsaAttributes", "gsm_map.lsaAttributes",
12435 FT_BYTES, BASE_HEX, NULL, 0,
12436 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item/lsaAttributes", HFILL }},
12437 { &hf_gsm_map_lsaActiveModeIndicator,
12438 { "lsaActiveModeIndicator", "gsm_map.lsaActiveModeIndicator",
12439 FT_NONE, BASE_NONE, NULL, 0,
12440 "InsertSubscriberDataArg/lsaInformation/lsaDataList/_item/lsaActiveModeIndicator", HFILL }},
12441 { &hf_gsm_map_lmu_Indicator,
12442 { "lmu-Indicator", "gsm_map.lmu_Indicator",
12443 FT_NONE, BASE_NONE, NULL, 0,
12444 "InsertSubscriberDataArg/lmu-Indicator", HFILL }},
12445 { &hf_gsm_map_lcsInformation,
12446 { "lcsInformation", "gsm_map.lcsInformation",
12447 FT_NONE, BASE_NONE, NULL, 0,
12448 "InsertSubscriberDataArg/lcsInformation", HFILL }},
12449 { &hf_gsm_map_gmlc_List,
12450 { "gmlc-List", "gsm_map.gmlc_List",
12451 FT_NONE, BASE_NONE, NULL, 0,
12452 "InsertSubscriberDataArg/lcsInformation/gmlc-List", HFILL }},
12453 { &hf_gsm_map_gmlc_List_item,
12454 { "Item", "gsm_map.gmlc_List_item",
12455 FT_BYTES, BASE_HEX, NULL, 0,
12456 "InsertSubscriberDataArg/lcsInformation/gmlc-List/_item", HFILL }},
12457 { &hf_gsm_map_lcs_PrivacyExceptionList,
12458 { "lcs-PrivacyExceptionList", "gsm_map.lcs_PrivacyExceptionList",
12459 FT_NONE, BASE_NONE, NULL, 0,
12460 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList", HFILL }},
12461 { &hf_gsm_map_lcs_PrivacyExceptionList_item,
12462 { "Item", "gsm_map.lcs_PrivacyExceptionList_item",
12463 FT_NONE, BASE_NONE, NULL, 0,
12464 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item", HFILL }},
12465 { &hf_gsm_map_ss_Code,
12466 { "ss-Code", "gsm_map.ss_Code",
12467 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
12469 { &hf_gsm_map_ss_Status,
12470 { "ss-Status", "gsm_map.ss_Status",
12471 FT_BYTES, BASE_HEX, NULL, 0,
12473 { &hf_gsm_map_notificationToMSUser,
12474 { "notificationToMSUser", "gsm_map.notificationToMSUser",
12475 FT_UINT32, BASE_DEC, VALS(gsm_map_NotificationToMSUser_vals), 0,
12477 { &hf_gsm_map_externalClientList,
12478 { "externalClientList", "gsm_map.externalClientList",
12479 FT_NONE, BASE_NONE, NULL, 0,
12480 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList", HFILL }},
12481 { &hf_gsm_map_externalClientList_item,
12482 { "Item", "gsm_map.externalClientList_item",
12483 FT_NONE, BASE_NONE, NULL, 0,
12484 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList/_item", HFILL }},
12485 { &hf_gsm_map_clientIdentity,
12486 { "clientIdentity", "gsm_map.clientIdentity",
12487 FT_NONE, BASE_NONE, NULL, 0,
12488 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList/_item/clientIdentity", HFILL }},
12489 { &hf_gsm_map_externalAddress,
12490 { "externalAddress", "gsm_map.externalAddress",
12491 FT_BYTES, BASE_HEX, NULL, 0,
12493 { &hf_gsm_map_gmlc_Restriction,
12494 { "gmlc-Restriction", "gsm_map.gmlc_Restriction",
12495 FT_UINT32, BASE_DEC, VALS(gsm_map_T_gmlc_Restriction_vals), 0,
12496 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/externalClientList/_item/gmlc-Restriction", HFILL }},
12497 { &hf_gsm_map_plmnClientList,
12498 { "plmnClientList", "gsm_map.plmnClientList",
12499 FT_NONE, BASE_NONE, NULL, 0,
12500 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/plmnClientList", HFILL }},
12501 { &hf_gsm_map_plmnClientList_item,
12502 { "Item", "gsm_map.plmnClientList_item",
12503 FT_UINT32, BASE_DEC, VALS(gsm_map_T_plmnClientList_item_vals), 0,
12504 "InsertSubscriberDataArg/lcsInformation/lcs-PrivacyExceptionList/_item/plmnClientList/_item", HFILL }},
12505 { &hf_gsm_map_molr_List,
12506 { "molr-List", "gsm_map.molr_List",
12507 FT_NONE, BASE_NONE, NULL, 0,
12508 "InsertSubscriberDataArg/lcsInformation/molr-List", HFILL }},
12509 { &hf_gsm_map_molr_List_item,
12510 { "Item", "gsm_map.molr_List_item",
12511 FT_NONE, BASE_NONE, NULL, 0,
12512 "InsertSubscriberDataArg/lcsInformation/molr-List/_item", HFILL }},
12513 { &hf_gsm_map_ss_List,
12514 { "ss-List", "gsm_map.ss_List",
12515 FT_NONE, BASE_NONE, NULL, 0,
12517 { &hf_gsm_map_ss_List_item,
12518 { "Item", "gsm_map.ss_List_item",
12519 FT_BYTES, BASE_HEX, NULL, 0,
12521 { &hf_gsm_map_odb_GeneralData,
12522 { "odb-GeneralData", "gsm_map.odb_GeneralData",
12523 FT_BYTES, BASE_HEX, NULL, 0,
12525 { &hf_gsm_map_regionalSubscriptionResponse,
12526 { "regionalSubscriptionResponse", "gsm_map.regionalSubscriptionResponse",
12527 FT_UINT32, BASE_DEC, VALS(gsm_map_RegionalSubscriptionResponse_vals), 0,
12529 { &hf_gsm_map_ss_EventList,
12530 { "ss-EventList", "gsm_map.ss_EventList",
12531 FT_NONE, BASE_NONE, NULL, 0,
12532 "Ss-CamelData/ss-EventList", HFILL }},
12533 { &hf_gsm_map_ss_EventList_item,
12534 { "Item", "gsm_map.ss_EventList_item",
12535 FT_BYTES, BASE_HEX, NULL, 0,
12536 "Ss-CamelData/ss-EventList/_item", HFILL }},
12537 { &hf_gsm_map_gsmSCF_Address,
12538 { "gsmSCF-Address", "gsm_map.gsmSCF_Address",
12539 FT_BYTES, BASE_HEX, NULL, 0,
12541 { &hf_gsm_map_callBarringFeatureList,
12542 { "callBarringFeatureList", "gsm_map.callBarringFeatureList",
12543 FT_NONE, BASE_NONE, NULL, 0,
12545 { &hf_gsm_map_CallBarringFeatureList_item,
12546 { "Item", "gsm_map.CallBarringFeatureList_item",
12547 FT_NONE, BASE_NONE, NULL, 0,
12548 "CallBarringFeatureList/_item", HFILL }},
12549 { &hf_gsm_map_forwardedToNumber,
12550 { "forwardedToNumber", "gsm_map.forwardedToNumber",
12551 FT_BYTES, BASE_HEX, NULL, 0,
12553 { &hf_gsm_map_forwardedToSubaddress,
12554 { "forwardedToSubaddress", "gsm_map.forwardedToSubaddress",
12555 FT_BYTES, BASE_HEX, NULL, 0,
12557 { &hf_gsm_map_forwardingOptions,
12558 { "forwardingOptions", "gsm_map.forwardingOptions",
12559 FT_BYTES, BASE_HEX, NULL, 0,
12561 { &hf_gsm_map_noReplyConditionTime,
12562 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
12563 FT_INT32, BASE_DEC, NULL, 0,
12565 { &hf_gsm_map_longForwardedToNumber,
12566 { "longForwardedToNumber", "gsm_map.longForwardedToNumber",
12567 FT_BYTES, BASE_HEX, NULL, 0,
12568 "ForwardingFeatureList/longForwardedToNumber", HFILL }},
12569 { &hf_gsm_map_matchType,
12570 { "matchType", "gsm_map.matchType",
12571 FT_UINT32, BASE_DEC, VALS(gsm_map_MatchType_vals), 0,
12572 "DestinationNumberCriteria/matchType", HFILL }},
12573 { &hf_gsm_map_destinationNumberList,
12574 { "destinationNumberList", "gsm_map.destinationNumberList",
12575 FT_NONE, BASE_NONE, NULL, 0,
12576 "DestinationNumberCriteria/destinationNumberList", HFILL }},
12577 { &hf_gsm_map_destinationNumberList_item,
12578 { "Item", "gsm_map.destinationNumberList_item",
12579 FT_BYTES, BASE_HEX, NULL, 0,
12580 "DestinationNumberCriteria/destinationNumberList/_item", HFILL }},
12581 { &hf_gsm_map_destinationNumberLengthList,
12582 { "destinationNumberLengthList", "gsm_map.destinationNumberLengthList",
12583 FT_NONE, BASE_NONE, NULL, 0,
12584 "DestinationNumberCriteria/destinationNumberLengthList", HFILL }},
12585 { &hf_gsm_map_destinationNumberLengthList_item,
12586 { "Item", "gsm_map.destinationNumberLengthList_item",
12587 FT_UINT32, BASE_DEC, NULL, 0,
12588 "DestinationNumberCriteria/destinationNumberLengthList/_item", HFILL }},
12589 { &hf_gsm_map_forwardingFeatureList_1_32,
12590 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
12591 FT_NONE, BASE_NONE, NULL, 0,
12592 "ForwardingInfo/forwardingFeatureList", HFILL }},
12593 { &hf_gsm_map_forwardingFeatureList_item,
12594 { "Item", "gsm_map.forwardingFeatureList_item",
12595 FT_NONE, BASE_NONE, NULL, 0,
12597 { &hf_gsm_map_naea_PreferredCIC,
12598 { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC",
12599 FT_BYTES, BASE_HEX, NULL, 0,
12600 "Naea-PreferredCI/naea-PreferredCIC", HFILL }},
12601 { &hf_gsm_map_O_BcsmCamelTDP_CriteriaList_item,
12602 { "Item", "gsm_map.O_BcsmCamelTDP_CriteriaList_item",
12603 FT_NONE, BASE_NONE, NULL, 0,
12604 "O-BcsmCamelTDP-CriteriaList/_item", HFILL }},
12605 { &hf_gsm_map_o_BcsmTriggerDetectionPoint,
12606 { "o-BcsmTriggerDetectionPoint", "gsm_map.o_BcsmTriggerDetectionPoint",
12607 FT_UINT32, BASE_DEC, VALS(gsm_map_BcsmTriggerDetectionPoint_vals), 0,
12608 "O-BcsmCamelTDP-CriteriaList/_item/o-BcsmTriggerDetectionPoint", HFILL }},
12609 { &hf_gsm_map_destinationNumberCriteria,
12610 { "destinationNumberCriteria", "gsm_map.destinationNumberCriteria",
12611 FT_NONE, BASE_NONE, NULL, 0,
12613 { &hf_gsm_map_basicServiceCriteria,
12614 { "basicServiceCriteria", "gsm_map.basicServiceCriteria",
12615 FT_NONE, BASE_NONE, NULL, 0,
12616 "O-BcsmCamelTDP-CriteriaList/_item/basicServiceCriteria", HFILL }},
12617 { &hf_gsm_map_callTypeCriteria,
12618 { "callTypeCriteria", "gsm_map.callTypeCriteria",
12619 FT_UINT32, BASE_DEC, VALS(gsm_map_CallTypeCriteria_vals), 0,
12621 { &hf_gsm_map_cliRestrictionOption,
12622 { "cliRestrictionOption", "gsm_map.cliRestrictionOption",
12623 FT_UINT32, BASE_DEC, VALS(gsm_map_CliRestrictionOption_vals), 0,
12625 { &hf_gsm_map_overrideCategory,
12626 { "overrideCategory", "gsm_map.overrideCategory",
12627 FT_UINT32, BASE_DEC, VALS(gsm_map_OverrideCategory_vals), 0,
12628 "Ss-SubscriptionOption/overrideCategory", HFILL }},
12629 { &hf_gsm_map_basicServiceList,
12630 { "basicServiceList", "gsm_map.basicServiceList",
12631 FT_NONE, BASE_NONE, NULL, 0,
12632 "DeleteSubscriberDataArg/basicServiceList", HFILL }},
12633 { &hf_gsm_map_regionalSubscriptionIdentifier,
12634 { "regionalSubscriptionIdentifier", "gsm_map.regionalSubscriptionIdentifier",
12635 FT_BYTES, BASE_HEX, NULL, 0,
12636 "DeleteSubscriberDataArg/regionalSubscriptionIdentifier", HFILL }},
12637 { &hf_gsm_map_vbsGroupIndication,
12638 { "vbsGroupIndication", "gsm_map.vbsGroupIndication",
12639 FT_NONE, BASE_NONE, NULL, 0,
12640 "DeleteSubscriberDataArg/vbsGroupIndication", HFILL }},
12641 { &hf_gsm_map_vgcsGroupIndication,
12642 { "vgcsGroupIndication", "gsm_map.vgcsGroupIndication",
12643 FT_NONE, BASE_NONE, NULL, 0,
12644 "DeleteSubscriberDataArg/vgcsGroupIndication", HFILL }},
12645 { &hf_gsm_map_camelSubscriptionInfoWithdraw,
12646 { "camelSubscriptionInfoWithdraw", "gsm_map.camelSubscriptionInfoWithdraw",
12647 FT_NONE, BASE_NONE, NULL, 0,
12648 "DeleteSubscriberDataArg/camelSubscriptionInfoWithdraw", HFILL }},
12649 { &hf_gsm_map_gprsSubscriptionDataWithdraw,
12650 { "gprsSubscriptionDataWithdraw", "gsm_map.gprsSubscriptionDataWithdraw",
12651 FT_UINT32, BASE_DEC, VALS(gsm_map_T_gprsSubscriptionDataWithdraw_vals), 0,
12652 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw", HFILL }},
12653 { &hf_gsm_map_allGPRSData,
12654 { "allGPRSData", "gsm_map.allGPRSData",
12655 FT_NONE, BASE_NONE, NULL, 0,
12656 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw/allGPRSData", HFILL }},
12657 { &hf_gsm_map_contextIdList,
12658 { "contextIdList", "gsm_map.contextIdList",
12659 FT_NONE, BASE_NONE, NULL, 0,
12660 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw/contextIdList", HFILL }},
12661 { &hf_gsm_map_contextIdList_item,
12662 { "Item", "gsm_map.contextIdList_item",
12663 FT_UINT32, BASE_DEC, NULL, 0,
12664 "DeleteSubscriberDataArg/gprsSubscriptionDataWithdraw/contextIdList/_item", HFILL }},
12665 { &hf_gsm_map_roamingRestrictedInSgsnDueToUnsuppportedFeature,
12666 { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.roamingRestrictedInSgsnDueToUnsuppportedFeature",
12667 FT_NONE, BASE_NONE, NULL, 0,
12668 "DeleteSubscriberDataArg/roamingRestrictedInSgsnDueToUnsuppportedFeature", HFILL }},
12669 { &hf_gsm_map_lsaInformationWithdraw,
12670 { "lsaInformationWithdraw", "gsm_map.lsaInformationWithdraw",
12671 FT_UINT32, BASE_DEC, VALS(gsm_map_T_lsaInformationWithdraw_vals), 0,
12672 "DeleteSubscriberDataArg/lsaInformationWithdraw", HFILL }},
12673 { &hf_gsm_map_allLSAData,
12674 { "allLSAData", "gsm_map.allLSAData",
12675 FT_NONE, BASE_NONE, NULL, 0,
12676 "DeleteSubscriberDataArg/lsaInformationWithdraw/allLSAData", HFILL }},
12677 { &hf_gsm_map_lsaIdentityList,
12678 { "lsaIdentityList", "gsm_map.lsaIdentityList",
12679 FT_NONE, BASE_NONE, NULL, 0,
12680 "DeleteSubscriberDataArg/lsaInformationWithdraw/lsaIdentityList", HFILL }},
12681 { &hf_gsm_map_lsaIdentityList_item,
12682 { "Item", "gsm_map.lsaIdentityList_item",
12683 FT_BYTES, BASE_HEX, NULL, 0,
12684 "DeleteSubscriberDataArg/lsaInformationWithdraw/lsaIdentityList/_item", HFILL }},
12685 { &hf_gsm_map_gmlc_ListWithdraw,
12686 { "gmlc-ListWithdraw", "gsm_map.gmlc_ListWithdraw",
12687 FT_NONE, BASE_NONE, NULL, 0,
12688 "DeleteSubscriberDataArg/gmlc-ListWithdraw", HFILL }},
12689 { &hf_gsm_map_hlr_List,
12690 { "hlr-List", "gsm_map.hlr_List",
12691 FT_NONE, BASE_NONE, NULL, 0,
12692 "ResetArg/hlr-List", HFILL }},
12693 { &hf_gsm_map_hlr_List_item,
12694 { "Item", "gsm_map.hlr_List_item",
12695 FT_BYTES, BASE_HEX, NULL, 0,
12696 "ResetArg/hlr-List/_item", HFILL }},
12697 { &hf_gsm_map_msNotReachable,
12698 { "msNotReachable", "gsm_map.msNotReachable",
12699 FT_NONE, BASE_NONE, NULL, 0,
12700 "RestoreDataRes/msNotReachable", HFILL }},
12701 { &hf_gsm_map_traceReference,
12702 { "traceReference", "gsm_map.traceReference",
12703 FT_BYTES, BASE_HEX, NULL, 0,
12705 { &hf_gsm_map_traceType,
12706 { "traceType", "gsm_map.traceType",
12707 FT_UINT32, BASE_DEC, NULL, 0,
12708 "ActivateTraceModeArg/traceType", HFILL }},
12709 { &hf_gsm_map_omc_Id,
12710 { "omc-Id", "gsm_map.omc_Id",
12711 FT_BYTES, BASE_HEX, NULL, 0,
12712 "ActivateTraceModeArg/omc-Id", HFILL }},
12713 { &hf_gsm_map_cug_CheckInfo,
12714 { "cug-CheckInfo", "gsm_map.cug_CheckInfo",
12715 FT_NONE, BASE_NONE, NULL, 0,
12717 { &hf_gsm_map_numberOfForwarding,
12718 { "numberOfForwarding", "gsm_map.numberOfForwarding",
12719 FT_UINT32, BASE_DEC, NULL, 0,
12720 "SendRoutingInfoArg/numberOfForwarding", HFILL }},
12721 { &hf_gsm_map_interrogationType,
12722 { "interrogationType", "gsm_map.interrogationType",
12723 FT_UINT32, BASE_DEC, VALS(gsm_map_T_interrogationType_vals), 0,
12724 "SendRoutingInfoArg/interrogationType", HFILL }},
12725 { &hf_gsm_map_or_Interrogation,
12726 { "or-Interrogation", "gsm_map.or_Interrogation",
12727 FT_NONE, BASE_NONE, NULL, 0,
12729 { &hf_gsm_map_or_Capability,
12730 { "or-Capability", "gsm_map.or_Capability",
12731 FT_UINT32, BASE_DEC, NULL, 0,
12732 "SendRoutingInfoArg/or-Capability", HFILL }},
12733 { &hf_gsm_map_gmsc_Address,
12734 { "gmsc-Address", "gsm_map.gmsc_Address",
12735 FT_BYTES, BASE_HEX, NULL, 0,
12737 { &hf_gsm_map_callReferenceNumber,
12738 { "callReferenceNumber", "gsm_map.callReferenceNumber",
12739 FT_BYTES, BASE_HEX, NULL, 0,
12741 { &hf_gsm_map_forwardingReason,
12742 { "forwardingReason", "gsm_map.forwardingReason",
12743 FT_UINT32, BASE_DEC, VALS(gsm_map_T_forwardingReason_vals), 0,
12744 "SendRoutingInfoArg/forwardingReason", HFILL }},
12745 { &hf_gsm_map_basicServiceGroup,
12746 { "basicServiceGroup", "gsm_map.basicServiceGroup",
12747 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicService_vals), 0,
12749 { &hf_gsm_map_networkSignalInfo,
12750 { "networkSignalInfo", "gsm_map.networkSignalInfo",
12751 FT_NONE, BASE_NONE, NULL, 0,
12753 { &hf_gsm_map_camelInfo,
12754 { "camelInfo", "gsm_map.camelInfo",
12755 FT_NONE, BASE_NONE, NULL, 0,
12756 "SendRoutingInfoArg/camelInfo", HFILL }},
12757 { &hf_gsm_map_suppress_T_CSI,
12758 { "suppress-T-CSI", "gsm_map.suppress_T_CSI",
12759 FT_NONE, BASE_NONE, NULL, 0,
12760 "SendRoutingInfoArg/camelInfo/suppress-T-CSI", HFILL }},
12761 { &hf_gsm_map_suppressionOfAnnouncement,
12762 { "suppressionOfAnnouncement", "gsm_map.suppressionOfAnnouncement",
12763 FT_NONE, BASE_NONE, NULL, 0,
12765 { &hf_gsm_map_alertingPattern,
12766 { "alertingPattern", "gsm_map.alertingPattern",
12767 FT_BYTES, BASE_HEX, NULL, 0,
12769 { &hf_gsm_map_ccbs_Call,
12770 { "ccbs-Call", "gsm_map.ccbs_Call",
12771 FT_NONE, BASE_NONE, NULL, 0,
12773 { &hf_gsm_map_supportedCCBS_Phase,
12774 { "supportedCCBS-Phase", "gsm_map.supportedCCBS_Phase",
12775 FT_UINT32, BASE_DEC, NULL, 0,
12776 "SendRoutingInfoArg/supportedCCBS-Phase", HFILL }},
12777 { &hf_gsm_map_additionalSignalInfo,
12778 { "additionalSignalInfo", "gsm_map.additionalSignalInfo",
12779 FT_NONE, BASE_NONE, NULL, 0,
12781 { &hf_gsm_map_extendedRoutingInfo,
12782 { "extendedRoutingInfo", "gsm_map.extendedRoutingInfo",
12783 FT_UINT32, BASE_DEC, VALS(gsm_map_T_extendedRoutingInfo_vals), 0,
12784 "SendRoutingInfoRes/extendedRoutingInfo", HFILL }},
12785 { &hf_gsm_map_routingInfo,
12786 { "routingInfo", "gsm_map.routingInfo",
12787 FT_UINT32, BASE_DEC, VALS(gsm_map_T_routingInfo_vals), 0,
12788 "SendRoutingInfoRes/extendedRoutingInfo/routingInfo", HFILL }},
12789 { &hf_gsm_map_roamingNumber,
12790 { "roamingNumber", "gsm_map.roamingNumber",
12791 FT_BYTES, BASE_HEX, NULL, 0,
12793 { &hf_gsm_map_forwardingData,
12794 { "forwardingData", "gsm_map.forwardingData",
12795 FT_NONE, BASE_NONE, NULL, 0,
12797 { &hf_gsm_map_camelRoutingInfo,
12798 { "camelRoutingInfo", "gsm_map.camelRoutingInfo",
12799 FT_NONE, BASE_NONE, NULL, 0,
12800 "SendRoutingInfoRes/extendedRoutingInfo/camelRoutingInfo", HFILL }},
12801 { &hf_gsm_map_gmscCamelSubscriptionInfo,
12802 { "gmscCamelSubscriptionInfo", "gsm_map.gmscCamelSubscriptionInfo",
12803 FT_NONE, BASE_NONE, NULL, 0,
12804 "SendRoutingInfoRes/extendedRoutingInfo/camelRoutingInfo/gmscCamelSubscriptionInfo", HFILL }},
12805 { &hf_gsm_map_t_CSI,
12806 { "t-CSI", "gsm_map.t_CSI",
12807 FT_NONE, BASE_NONE, NULL, 0,
12808 "SendRoutingInfoRes/extendedRoutingInfo/camelRoutingInfo/gmscCamelSubscriptionInfo/t-CSI", HFILL }},
12809 { &hf_gsm_map_t_BcsmCamelTDPDataList,
12810 { "t-BcsmCamelTDPDataList", "gsm_map.t_BcsmCamelTDPDataList",
12811 FT_NONE, BASE_NONE, NULL, 0,
12813 { &hf_gsm_map_cugSubscriptionFlag,
12814 { "cugSubscriptionFlag", "gsm_map.cugSubscriptionFlag",
12815 FT_NONE, BASE_NONE, NULL, 0,
12816 "SendRoutingInfoRes/cugSubscriptionFlag", HFILL }},
12817 { &hf_gsm_map_subscriberInfo,
12818 { "subscriberInfo", "gsm_map.subscriberInfo",
12819 FT_NONE, BASE_NONE, NULL, 0,
12821 { &hf_gsm_map_forwardingInterrogationRequired,
12822 { "forwardingInterrogationRequired", "gsm_map.forwardingInterrogationRequired",
12823 FT_NONE, BASE_NONE, NULL, 0,
12824 "SendRoutingInfoRes/forwardingInterrogationRequired", HFILL }},
12825 { &hf_gsm_map_vmsc_Address,
12826 { "vmsc-Address", "gsm_map.vmsc_Address",
12827 FT_BYTES, BASE_HEX, NULL, 0,
12828 "SendRoutingInfoRes/vmsc-Address", HFILL }},
12829 { &hf_gsm_map_ccbs_Indicators,
12830 { "ccbs-Indicators", "gsm_map.ccbs_Indicators",
12831 FT_NONE, BASE_NONE, NULL, 0,
12832 "SendRoutingInfoRes/ccbs-Indicators", HFILL }},
12833 { &hf_gsm_map_ccbs_Possible,
12834 { "ccbs-Possible", "gsm_map.ccbs_Possible",
12835 FT_NONE, BASE_NONE, NULL, 0,
12837 { &hf_gsm_map_keepCCBS_CallIndicator,
12838 { "keepCCBS-CallIndicator", "gsm_map.keepCCBS_CallIndicator",
12839 FT_NONE, BASE_NONE, NULL, 0,
12840 "SendRoutingInfoRes/ccbs-Indicators/keepCCBS-CallIndicator", HFILL }},
12841 { &hf_gsm_map_numberPortabilityStatus,
12842 { "numberPortabilityStatus", "gsm_map.numberPortabilityStatus",
12843 FT_UINT32, BASE_DEC, VALS(gsm_map_NumberPortabilityStatus_vals), 0,
12845 { &hf_gsm_map_assumedIdle,
12846 { "assumedIdle", "gsm_map.assumedIdle",
12847 FT_NONE, BASE_NONE, NULL, 0,
12848 "SubscriberState/assumedIdle", HFILL }},
12849 { &hf_gsm_map_camelBusy,
12850 { "camelBusy", "gsm_map.camelBusy",
12851 FT_NONE, BASE_NONE, NULL, 0,
12852 "SubscriberState/camelBusy", HFILL }},
12853 { &hf_gsm_map_notProvidedFromVLR,
12854 { "notProvidedFromVLR", "gsm_map.notProvidedFromVLR",
12855 FT_NONE, BASE_NONE, NULL, 0,
12856 "SubscriberState/notProvidedFromVLR", HFILL }},
12857 { &hf_gsm_map_ageOfLocationInformation,
12858 { "ageOfLocationInformation", "gsm_map.ageOfLocationInformation",
12859 FT_UINT32, BASE_DEC, NULL, 0,
12861 { &hf_gsm_map_geographicalInformation,
12862 { "geographicalInformation", "gsm_map.geographicalInformation",
12863 FT_BYTES, BASE_HEX, NULL, 0,
12865 { &hf_gsm_map_vlr_number,
12866 { "vlr-number", "gsm_map.vlr_number",
12867 FT_BYTES, BASE_HEX, NULL, 0,
12868 "LocationInformation/vlr-number", HFILL }},
12869 { &hf_gsm_map_locationNumber,
12870 { "locationNumber", "gsm_map.locationNumber",
12871 FT_BYTES, BASE_HEX, NULL, 0,
12872 "LocationInformation/locationNumber", HFILL }},
12873 { &hf_gsm_map_cellIdOrLAI,
12874 { "cellIdOrLAI", "gsm_map.cellIdOrLAI",
12875 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cellIdOrLAI_vals), 0,
12876 "LocationInformation/cellIdOrLAI", HFILL }},
12877 { &hf_gsm_map_cellIdFixedLength,
12878 { "cellIdFixedLength", "gsm_map.cellIdFixedLength",
12879 FT_BYTES, BASE_HEX, NULL, 0,
12880 "LocationInformation/cellIdOrLAI/cellIdFixedLength", HFILL }},
12881 { &hf_gsm_map_laiFixedLength,
12882 { "laiFixedLength", "gsm_map.laiFixedLength",
12883 FT_BYTES, BASE_HEX, NULL, 0,
12885 { &hf_gsm_map_selectedLSA_Id,
12886 { "selectedLSA-Id", "gsm_map.selectedLSA_Id",
12887 FT_BYTES, BASE_HEX, NULL, 0,
12888 "LocationInformation/selectedLSA-Id", HFILL }},
12889 { &hf_gsm_map_geodeticInformation,
12890 { "geodeticInformation", "gsm_map.geodeticInformation",
12891 FT_BYTES, BASE_HEX, NULL, 0,
12893 { &hf_gsm_map_currentLocationRetrieved,
12894 { "currentLocationRetrieved", "gsm_map.currentLocationRetrieved",
12895 FT_NONE, BASE_NONE, NULL, 0,
12897 { &hf_gsm_map_sai_Present,
12898 { "sai-Present", "gsm_map.sai_Present",
12899 FT_NONE, BASE_NONE, NULL, 0,
12901 { &hf_gsm_map_locationInformation,
12902 { "locationInformation", "gsm_map.locationInformation",
12903 FT_NONE, BASE_NONE, NULL, 0,
12904 "SubscriberInfo/locationInformation", HFILL }},
12905 { &hf_gsm_map_subscriberState,
12906 { "subscriberState", "gsm_map.subscriberState",
12907 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberState_vals), 0,
12908 "SubscriberInfo/subscriberState", HFILL }},
12909 { &hf_gsm_map_locationInformationGPRS,
12910 { "locationInformationGPRS", "gsm_map.locationInformationGPRS",
12911 FT_NONE, BASE_NONE, NULL, 0,
12912 "SubscriberInfo/locationInformationGPRS", HFILL }},
12913 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdOrLAI,
12914 { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.cellGlobalIdOrServiceAreaIdOrLAI",
12915 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
12916 "SubscriberInfo/locationInformationGPRS/cellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
12917 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength,
12918 { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength",
12919 FT_BYTES, BASE_HEX, NULL, 0,
12920 "SubscriberInfo/locationInformationGPRS/cellGlobalIdOrServiceAreaIdOrLAI/cellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
12921 { &hf_gsm_map_routeingAreaIdentity,
12922 { "routeingAreaIdentity", "gsm_map.routeingAreaIdentity",
12923 FT_BYTES, BASE_HEX, NULL, 0,
12924 "SubscriberInfo/locationInformationGPRS/routeingAreaIdentity", HFILL }},
12925 { &hf_gsm_map_selectedLSAIdentity,
12926 { "selectedLSAIdentity", "gsm_map.selectedLSAIdentity",
12927 FT_BYTES, BASE_HEX, NULL, 0,
12928 "SubscriberInfo/locationInformationGPRS/selectedLSAIdentity", HFILL }},
12929 { &hf_gsm_map_ps_SubscriberState,
12930 { "ps-SubscriberState", "gsm_map.ps_SubscriberState",
12931 FT_UINT32, BASE_DEC, VALS(gsm_map_T_ps_SubscriberState_vals), 0,
12932 "SubscriberInfo/ps-SubscriberState", HFILL }},
12933 { &hf_gsm_map_notProvidedFromSGSN,
12934 { "notProvidedFromSGSN", "gsm_map.notProvidedFromSGSN",
12935 FT_NONE, BASE_NONE, NULL, 0,
12936 "SubscriberInfo/ps-SubscriberState/notProvidedFromSGSN", HFILL }},
12937 { &hf_gsm_map_ps_Detached,
12938 { "ps-Detached", "gsm_map.ps_Detached",
12939 FT_NONE, BASE_NONE, NULL, 0,
12940 "SubscriberInfo/ps-SubscriberState/ps-Detached", HFILL }},
12941 { &hf_gsm_map_ps_AttachedNotReachableForPaging,
12942 { "ps-AttachedNotReachableForPaging", "gsm_map.ps_AttachedNotReachableForPaging",
12943 FT_NONE, BASE_NONE, NULL, 0,
12944 "SubscriberInfo/ps-SubscriberState/ps-AttachedNotReachableForPaging", HFILL }},
12945 { &hf_gsm_map_ps_AttachedReachableForPaging,
12946 { "ps-AttachedReachableForPaging", "gsm_map.ps_AttachedReachableForPaging",
12947 FT_NONE, BASE_NONE, NULL, 0,
12948 "SubscriberInfo/ps-SubscriberState/ps-AttachedReachableForPaging", HFILL }},
12949 { &hf_gsm_map_ps_PDP_ActiveNotReachableForPaging,
12950 { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ps_PDP_ActiveNotReachableForPaging",
12951 FT_NONE, BASE_NONE, NULL, 0,
12952 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveNotReachableForPaging", HFILL }},
12953 { &hf_gsm_map_ps_PDP_ActiveNotReachableForPaging_item,
12954 { "Item", "gsm_map.ps_PDP_ActiveNotReachableForPaging_item",
12955 FT_NONE, BASE_NONE, NULL, 0,
12956 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveNotReachableForPaging/_item", HFILL }},
12957 { &hf_gsm_map_pdp_ContextIdentifier,
12958 { "pdp-ContextIdentifier", "gsm_map.pdp_ContextIdentifier",
12959 FT_UINT32, BASE_DEC, NULL, 0,
12961 { &hf_gsm_map_pdp_ContextActive,
12962 { "pdp-ContextActive", "gsm_map.pdp_ContextActive",
12963 FT_NONE, BASE_NONE, NULL, 0,
12965 { &hf_gsm_map_apn_Subscribed,
12966 { "apn-Subscribed", "gsm_map.apn_Subscribed",
12967 FT_BYTES, BASE_HEX, NULL, 0,
12969 { &hf_gsm_map_apn_InUse,
12970 { "apn-InUse", "gsm_map.apn_InUse",
12971 FT_BYTES, BASE_HEX, NULL, 0,
12973 { &hf_gsm_map_nsapi,
12974 { "nsapi", "gsm_map.nsapi",
12975 FT_UINT32, BASE_DEC, NULL, 0,
12977 { &hf_gsm_map_transactionId,
12978 { "transactionId", "gsm_map.transactionId",
12979 FT_BYTES, BASE_HEX, NULL, 0,
12981 { &hf_gsm_map_teid_ForGnAndGp,
12982 { "teid-ForGnAndGp", "gsm_map.teid_ForGnAndGp",
12983 FT_BYTES, BASE_HEX, NULL, 0,
12985 { &hf_gsm_map_teid_ForIu,
12986 { "teid-ForIu", "gsm_map.teid_ForIu",
12987 FT_BYTES, BASE_HEX, NULL, 0,
12989 { &hf_gsm_map_ggsn_Address,
12990 { "ggsn-Address", "gsm_map.ggsn_Address",
12991 FT_BYTES, BASE_HEX, NULL, 0,
12993 { &hf_gsm_map_qos_Requested,
12994 { "qos-Requested", "gsm_map.qos_Requested",
12995 FT_BYTES, BASE_HEX, NULL, 0,
12997 { &hf_gsm_map_qos_Negotiated,
12998 { "qos-Negotiated", "gsm_map.qos_Negotiated",
12999 FT_BYTES, BASE_HEX, NULL, 0,
13001 { &hf_gsm_map_chargingId,
13002 { "chargingId", "gsm_map.chargingId",
13003 FT_BYTES, BASE_HEX, NULL, 0,
13005 { &hf_gsm_map_chargingCharacteristics,
13006 { "chargingCharacteristics", "gsm_map.chargingCharacteristics",
13007 FT_BYTES, BASE_HEX, NULL, 0,
13009 { &hf_gsm_map_rnc_Address,
13010 { "rnc-Address", "gsm_map.rnc_Address",
13011 FT_BYTES, BASE_HEX, NULL, 0,
13013 { &hf_gsm_map_qos2_Subscribed,
13014 { "qos2-Subscribed", "gsm_map.qos2_Subscribed",
13015 FT_BYTES, BASE_HEX, NULL, 0,
13017 { &hf_gsm_map_qos2_Requested,
13018 { "qos2-Requested", "gsm_map.qos2_Requested",
13019 FT_BYTES, BASE_HEX, NULL, 0,
13021 { &hf_gsm_map_qos2_Negotiated,
13022 { "qos2-Negotiated", "gsm_map.qos2_Negotiated",
13023 FT_BYTES, BASE_HEX, NULL, 0,
13025 { &hf_gsm_map_ps_PDP_ActiveReachableForPaging,
13026 { "ps-PDP-ActiveReachableForPaging", "gsm_map.ps_PDP_ActiveReachableForPaging",
13027 FT_NONE, BASE_NONE, NULL, 0,
13028 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveReachableForPaging", HFILL }},
13029 { &hf_gsm_map_ps_PDP_ActiveReachableForPaging_item,
13030 { "Item", "gsm_map.ps_PDP_ActiveReachableForPaging_item",
13031 FT_NONE, BASE_NONE, NULL, 0,
13032 "SubscriberInfo/ps-SubscriberState/ps-PDP-ActiveReachableForPaging/_item", HFILL }},
13033 { &hf_gsm_map_netDetNotReachable,
13034 { "netDetNotReachable", "gsm_map.netDetNotReachable",
13035 FT_UINT32, BASE_DEC, VALS(gsm_map_T_netDetNotReachable_vals), 0,
13036 "SubscriberInfo/ps-SubscriberState/netDetNotReachable", HFILL }},
13037 { &hf_gsm_map_imei,
13038 { "imei", "gsm_map.imei",
13039 FT_BYTES, BASE_HEX, NULL, 0,
13041 { &hf_gsm_map_ms_Classmark2,
13042 { "ms-Classmark2", "gsm_map.ms_Classmark2",
13043 FT_BYTES, BASE_HEX, NULL, 0,
13044 "SubscriberInfo/ms-Classmark2", HFILL }},
13045 { &hf_gsm_map_gprs_MS_Class,
13046 { "gprs-MS-Class", "gsm_map.gprs_MS_Class",
13047 FT_NONE, BASE_NONE, NULL, 0,
13048 "SubscriberInfo/gprs-MS-Class", HFILL }},
13049 { &hf_gsm_map_mSNetworkCapability,
13050 { "mSNetworkCapability", "gsm_map.mSNetworkCapability",
13051 FT_BYTES, BASE_HEX, NULL, 0,
13052 "SubscriberInfo/gprs-MS-Class/mSNetworkCapability", HFILL }},
13053 { &hf_gsm_map_mSRadioAccessCapability,
13054 { "mSRadioAccessCapability", "gsm_map.mSRadioAccessCapability",
13055 FT_BYTES, BASE_HEX, NULL, 0,
13056 "SubscriberInfo/gprs-MS-Class/mSRadioAccessCapability", HFILL }},
13057 { &hf_gsm_map_mnpInfoRes,
13058 { "mnpInfoRes", "gsm_map.mnpInfoRes",
13059 FT_NONE, BASE_NONE, NULL, 0,
13060 "SubscriberInfo/mnpInfoRes", HFILL }},
13061 { &hf_gsm_map_routeingNumber,
13062 { "routeingNumber", "gsm_map.routeingNumber",
13063 FT_BYTES, BASE_HEX, NULL, 0,
13064 "SubscriberInfo/mnpInfoRes/routeingNumber", HFILL }},
13065 { &hf_gsm_map_ext_ProtocolId,
13066 { "ext-ProtocolId", "gsm_map.ext_ProtocolId",
13067 FT_UINT32, BASE_DEC, VALS(gsm_map_T_ext_ProtocolId_vals), 0,
13068 "AdditionalSignalInfo/ext-ProtocolId", HFILL }},
13069 { &hf_gsm_map_ext_signalInfo,
13070 { "signalInfo", "gsm_map.signalInfo",
13071 FT_BYTES, BASE_HEX, NULL, 0,
13072 "AdditionalSignalInfo/signalInfo", HFILL }},
13073 { &hf_gsm_map_cug_OutgoingAccess,
13074 { "cug-OutgoingAccess", "gsm_map.cug_OutgoingAccess",
13075 FT_NONE, BASE_NONE, NULL, 0,
13076 "Cug-CheckInfo/cug-OutgoingAccess", HFILL }},
13077 { &hf_gsm_map_gsm_BearerCapability,
13078 { "gsm-BearerCapability", "gsm_map.gsm_BearerCapability",
13079 FT_NONE, BASE_NONE, NULL, 0,
13081 { &hf_gsm_map_supportedCamelPhasesInGMSC,
13082 { "supportedCamelPhasesInGMSC", "gsm_map.supportedCamelPhasesInGMSC",
13083 FT_BYTES, BASE_HEX, NULL, 0,
13084 "ProvideRoamingNumberArg/supportedCamelPhasesInGMSC", HFILL }},
13085 { &hf_gsm_map_orNotSupportedInGMSC,
13086 { "orNotSupportedInGMSC", "gsm_map.orNotSupportedInGMSC",
13087 FT_NONE, BASE_NONE, NULL, 0,
13088 "ProvideRoamingNumberArg/orNotSupportedInGMSC", HFILL }},
13089 { &hf_gsm_map_uu_Data,
13090 { "uu-Data", "gsm_map.uu_Data",
13091 FT_NONE, BASE_NONE, NULL, 0,
13092 "ResumeCallHandlingArg/uu-Data", HFILL }},
13093 { &hf_gsm_map_uuIndicator,
13094 { "uuIndicator", "gsm_map.uuIndicator",
13095 FT_BYTES, BASE_HEX, NULL, 0,
13096 "ResumeCallHandlingArg/uu-Data/uuIndicator", HFILL }},
13098 { "uui", "gsm_map.uui",
13099 FT_BYTES, BASE_HEX, NULL, 0,
13100 "ResumeCallHandlingArg/uu-Data/uui", HFILL }},
13101 { &hf_gsm_map_uusCFInteraction,
13102 { "uusCFInteraction", "gsm_map.uusCFInteraction",
13103 FT_NONE, BASE_NONE, NULL, 0,
13104 "ResumeCallHandlingArg/uu-Data/uusCFInteraction", HFILL }},
13105 { &hf_gsm_map_allInformationSent,
13106 { "allInformationSent", "gsm_map.allInformationSent",
13107 FT_NONE, BASE_NONE, NULL, 0,
13108 "ResumeCallHandlingArg/allInformationSent", HFILL }},
13109 { &hf_gsm_map_isdn_BearerCapability,
13110 { "isdn-BearerCapability", "gsm_map.isdn_BearerCapability",
13111 FT_NONE, BASE_NONE, NULL, 0,
13112 "ProvideSIWFSNumberArg/isdn-BearerCapability", HFILL }},
13113 { &hf_gsm_map_call_Direction,
13114 { "call-Direction", "gsm_map.call_Direction",
13115 FT_BYTES, BASE_HEX, NULL, 0,
13116 "ProvideSIWFSNumberArg/call-Direction", HFILL }},
13117 { &hf_gsm_map_b_Subscriber_Address,
13118 { "b-Subscriber-Address", "gsm_map.b_Subscriber_Address",
13119 FT_BYTES, BASE_HEX, NULL, 0,
13120 "ProvideSIWFSNumberArg/b-Subscriber-Address", HFILL }},
13121 { &hf_gsm_map_chosenChannel,
13122 { "chosenChannel", "gsm_map.chosenChannel",
13123 FT_NONE, BASE_NONE, NULL, 0,
13125 { &hf_gsm_map_lowerLayerCompatibility,
13126 { "lowerLayerCompatibility", "gsm_map.lowerLayerCompatibility",
13127 FT_NONE, BASE_NONE, NULL, 0,
13128 "ProvideSIWFSNumberArg/lowerLayerCompatibility", HFILL }},
13129 { &hf_gsm_map_highLayerCompatibility,
13130 { "highLayerCompatibility", "gsm_map.highLayerCompatibility",
13131 FT_NONE, BASE_NONE, NULL, 0,
13132 "ProvideSIWFSNumberArg/highLayerCompatibility", HFILL }},
13133 { &hf_gsm_map_sIWFSNumber,
13134 { "sIWFSNumber", "gsm_map.sIWFSNumber",
13135 FT_BYTES, BASE_HEX, NULL, 0,
13136 "ProvideSIWFSNumberRes/sIWFSNumber", HFILL }},
13137 { &hf_gsm_map_channelType,
13138 { "channelType", "gsm_map.channelType",
13139 FT_NONE, BASE_NONE, NULL, 0,
13140 "SIWFSSignallingModifyArg/channelType", HFILL }},
13141 { &hf_gsm_map_ccbs_Monitoring,
13142 { "ccbs-Monitoring", "gsm_map.ccbs_Monitoring",
13143 FT_UINT32, BASE_DEC, VALS(gsm_map_Ccbs_Monitoring_vals), 0,
13144 "SetReportingStateArg/ccbs-Monitoring", HFILL }},
13145 { &hf_gsm_map_ccbs_SubscriberStatus,
13146 { "ccbs-SubscriberStatus", "gsm_map.ccbs_SubscriberStatus",
13147 FT_UINT32, BASE_DEC, VALS(gsm_map_Ccbs_SubscriberStatus_vals), 0,
13149 { &hf_gsm_map_eventReportData,
13150 { "eventReportData", "gsm_map.eventReportData",
13151 FT_NONE, BASE_NONE, NULL, 0,
13152 "StatusReportArg/eventReportData", HFILL }},
13153 { &hf_gsm_map_callReportdata,
13154 { "callReportdata", "gsm_map.callReportdata",
13155 FT_NONE, BASE_NONE, NULL, 0,
13156 "StatusReportArg/callReportdata", HFILL }},
13157 { &hf_gsm_map_monitoringMode,
13158 { "monitoringMode", "gsm_map.monitoringMode",
13159 FT_UINT32, BASE_DEC, VALS(gsm_map_MonitoringMode_vals), 0,
13160 "StatusReportArg/callReportdata/monitoringMode", HFILL }},
13161 { &hf_gsm_map_callOutcome,
13162 { "callOutcome", "gsm_map.callOutcome",
13163 FT_UINT32, BASE_DEC, VALS(gsm_map_CallOutcome_vals), 0,
13164 "StatusReportArg/callReportdata/callOutcome", HFILL }},
13165 { &hf_gsm_map_callInfo,
13166 { "callInfo", "gsm_map.callInfo",
13167 FT_NONE, BASE_NONE, NULL, 0,
13169 { &hf_gsm_map_ccbs_Feature,
13170 { "ccbs-Feature", "gsm_map.ccbs_Feature",
13171 FT_NONE, BASE_NONE, NULL, 0,
13173 { &hf_gsm_map_translatedB_Number,
13174 { "translatedB-Number", "gsm_map.translatedB_Number",
13175 FT_BYTES, BASE_HEX, NULL, 0,
13177 { &hf_gsm_map_replaceB_Number,
13178 { "replaceB-Number", "gsm_map.replaceB_Number",
13179 FT_NONE, BASE_NONE, NULL, 0,
13180 "RemoteUserFreeArg/replaceB-Number", HFILL }},
13181 { &hf_gsm_map_ruf_Outcome,
13182 { "ruf-Outcome", "gsm_map.ruf_Outcome",
13183 FT_UINT32, BASE_DEC, VALS(gsm_map_Ruf_Outcome_vals), 0,
13184 "RemoteUserFreeRes/ruf-Outcome", HFILL }},
13185 { &hf_gsm_map_ss_SubscriptionOption,
13186 { "ss-SubscriptionOption", "gsm_map.ss_SubscriptionOption",
13187 FT_UINT32, BASE_DEC, VALS(gsm_map_Ss_SubscriptionOption_vals), 0,
13188 "Ss-Data/ss-SubscriptionOption", HFILL }},
13189 { &hf_gsm_map_ccbs_Index,
13190 { "ccbs-Index", "gsm_map.ccbs_Index",
13191 FT_UINT32, BASE_DEC, NULL, 0,
13193 { &hf_gsm_map_b_subscriberNumber,
13194 { "b-subscriberNumber", "gsm_map.b_subscriberNumber",
13195 FT_BYTES, BASE_HEX, NULL, 0,
13197 { &hf_gsm_map_b_subscriberSubaddress,
13198 { "b-subscriberSubaddress", "gsm_map.b_subscriberSubaddress",
13199 FT_BYTES, BASE_HEX, NULL, 0,
13201 { &hf_gsm_map_forwardingFeatureList,
13202 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
13203 FT_NONE, BASE_NONE, NULL, 0,
13204 "InterrogateSS-Res/forwardingFeatureList", HFILL }},
13205 { &hf_gsm_map_genericServiceInfo,
13206 { "genericServiceInfo", "gsm_map.genericServiceInfo",
13207 FT_NONE, BASE_NONE, NULL, 0,
13208 "InterrogateSS-Res/genericServiceInfo", HFILL }},
13209 { &hf_gsm_map_maximumEntitledPriority,
13210 { "maximumEntitledPriority", "gsm_map.maximumEntitledPriority",
13211 FT_UINT32, BASE_DEC, NULL, 0,
13212 "InterrogateSS-Res/genericServiceInfo/maximumEntitledPriority", HFILL }},
13213 { &hf_gsm_map_ccbs_FeatureList,
13214 { "ccbs-FeatureList", "gsm_map.ccbs_FeatureList",
13215 FT_NONE, BASE_NONE, NULL, 0,
13216 "InterrogateSS-Res/genericServiceInfo/ccbs-FeatureList", HFILL }},
13217 { &hf_gsm_map_ccbs_FeatureList_item,
13218 { "Item", "gsm_map.ccbs_FeatureList_item",
13219 FT_NONE, BASE_NONE, NULL, 0,
13220 "InterrogateSS-Res/genericServiceInfo/ccbs-FeatureList/_item", HFILL }},
13221 { &hf_gsm_map_ussd_DataCodingScheme,
13222 { "ussd-DataCodingScheme", "gsm_map.ussd_DataCodingScheme",
13223 FT_BYTES, BASE_HEX, NULL, 0,
13225 { &hf_gsm_map_ussd_String,
13226 { "ussd-String", "gsm_map.ussd_String",
13227 FT_BYTES, BASE_HEX, NULL, 0,
13229 { &hf_gsm_map_ccbs_Data,
13230 { "ccbs-Data", "gsm_map.ccbs_Data",
13231 FT_NONE, BASE_NONE, NULL, 0,
13232 "RegisterCC-EntryArg/ccbs-Data", HFILL }},
13233 { &hf_gsm_map_serviceIndicator,
13234 { "serviceIndicator", "gsm_map.serviceIndicator",
13235 FT_BYTES, BASE_HEX, NULL, 0,
13236 "RegisterCC-EntryArg/ccbs-Data/serviceIndicator", HFILL }},
13237 { &hf_gsm_map_sm_RP_PRI,
13238 { "sm-RP-PRI", "gsm_map.sm_RP_PRI",
13239 FT_BOOLEAN, 8, NULL, 0,
13240 "RoutingInfoForSMArg/sm-RP-PRI", HFILL }},
13241 { &hf_gsm_map_serviceCentreAddress,
13242 { "serviceCentreAddress", "gsm_map.serviceCentreAddress",
13243 FT_BYTES, BASE_HEX, NULL, 0,
13245 { &hf_gsm_map_gprsSupportIndicator,
13246 { "gprsSupportIndicator", "gsm_map.gprsSupportIndicator",
13247 FT_NONE, BASE_NONE, NULL, 0,
13249 { &hf_gsm_map_sm_RP_MTI,
13250 { "sm-RP-MTI", "gsm_map.sm_RP_MTI",
13251 FT_UINT32, BASE_DEC, NULL, 0,
13252 "RoutingInfoForSMArg/sm-RP-MTI", HFILL }},
13253 { &hf_gsm_map_sm_RP_SMEA,
13254 { "sm-RP-SMEA", "gsm_map.sm_RP_SMEA",
13255 FT_BYTES, BASE_HEX, NULL, 0,
13256 "RoutingInfoForSMArg/sm-RP-SMEA", HFILL }},
13257 { &hf_gsm_map_locationInfoWithLMSI,
13258 { "locationInfoWithLMSI", "gsm_map.locationInfoWithLMSI",
13259 FT_NONE, BASE_NONE, NULL, 0,
13260 "RoutingInfoForSMRes/locationInfoWithLMSI", HFILL }},
13261 { &hf_gsm_map_networkNode_Number,
13262 { "networkNode-Number", "gsm_map.networkNode_Number",
13263 FT_BYTES, BASE_HEX, NULL, 0,
13264 "RoutingInfoForSMRes/locationInfoWithLMSI/networkNode-Number", HFILL }},
13265 { &hf_gsm_map_gprsNodeIndicator,
13266 { "gprsNodeIndicator", "gsm_map.gprsNodeIndicator",
13267 FT_NONE, BASE_NONE, NULL, 0,
13268 "RoutingInfoForSMRes/locationInfoWithLMSI/gprsNodeIndicator", HFILL }},
13269 { &hf_gsm_map_additional_Number,
13270 { "additional-Number", "gsm_map.additional_Number",
13271 FT_UINT32, BASE_DEC, VALS(gsm_map_T_additional_Number_vals), 0,
13272 "RoutingInfoForSMRes/locationInfoWithLMSI/additional-Number", HFILL }},
13273 { &hf_gsm_map_sm_RP_DA,
13274 { "sm-RP-DA", "gsm_map.sm_RP_DA",
13275 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_DA_vals), 0,
13277 { &hf_gsm_map_sm_RP_OA,
13278 { "sm-RP-OA", "gsm_map.sm_RP_OA",
13279 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_RP_OA_vals), 0,
13281 { &hf_gsm_map_sm_RP_UI,
13282 { "sm-RP-UI", "gsm_map.sm_RP_UI",
13283 FT_BYTES, BASE_HEX, NULL, 0,
13285 { &hf_gsm_map_serviceCentreAddressOA,
13286 { "serviceCentreAddressOA", "gsm_map.serviceCentreAddressOA",
13287 FT_BYTES, BASE_HEX, NULL, 0,
13288 "Sm-RP-OA/serviceCentreAddressOA", HFILL }},
13289 { &hf_gsm_map_noSM_RP_OA,
13290 { "noSM-RP-OA", "gsm_map.noSM_RP_OA",
13291 FT_NONE, BASE_NONE, NULL, 0,
13292 "Sm-RP-OA/noSM-RP-OA", HFILL }},
13293 { &hf_gsm_map_serviceCentreAddressDA,
13294 { "serviceCentreAddressDA", "gsm_map.serviceCentreAddressDA",
13295 FT_BYTES, BASE_HEX, NULL, 0,
13296 "Sm-RP-DA/serviceCentreAddressDA", HFILL }},
13297 { &hf_gsm_map_noSM_RP_DA,
13298 { "noSM-RP-DA", "gsm_map.noSM_RP_DA",
13299 FT_NONE, BASE_NONE, NULL, 0,
13300 "Sm-RP-DA/noSM-RP-DA", HFILL }},
13301 { &hf_gsm_map_moreMessagesToSend,
13302 { "moreMessagesToSend", "gsm_map.moreMessagesToSend",
13303 FT_NONE, BASE_NONE, NULL, 0,
13304 "Mt-forwardSM-Arg/moreMessagesToSend", HFILL }},
13305 { &hf_gsm_map_sm_DeliveryOutcome,
13306 { "sm-DeliveryOutcome", "gsm_map.sm_DeliveryOutcome",
13307 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
13308 "ReportSM-DeliveryStatusArg/sm-DeliveryOutcome", HFILL }},
13309 { &hf_gsm_map_absentSubscriberDiagnosticSM,
13310 { "absentSubscriberDiagnosticSM", "gsm_map.absentSubscriberDiagnosticSM",
13311 FT_UINT32, BASE_DEC, NULL, 0,
13313 { &hf_gsm_map_deliveryOutcomeIndicator,
13314 { "deliveryOutcomeIndicator", "gsm_map.deliveryOutcomeIndicator",
13315 FT_NONE, BASE_NONE, NULL, 0,
13316 "ReportSM-DeliveryStatusArg/deliveryOutcomeIndicator", HFILL }},
13317 { &hf_gsm_map_additionalSM_DeliveryOutcome,
13318 { "additionalSM-DeliveryOutcome", "gsm_map.additionalSM_DeliveryOutcome",
13319 FT_UINT32, BASE_DEC, VALS(gsm_map_Sm_DeliveryOutcome_vals), 0,
13320 "ReportSM-DeliveryStatusArg/additionalSM-DeliveryOutcome", HFILL }},
13321 { &hf_gsm_map_additionalAbsentSubscriberDiagnosticSM,
13322 { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.additionalAbsentSubscriberDiagnosticSM",
13323 FT_UINT32, BASE_DEC, NULL, 0,
13325 { &hf_gsm_map_storedMSISDN,
13326 { "storedMSISDN", "gsm_map.storedMSISDN",
13327 FT_BYTES, BASE_HEX, NULL, 0,
13329 { &hf_gsm_map_mw_Status,
13330 { "mw-Status", "gsm_map.mw_Status",
13331 FT_BYTES, BASE_HEX, NULL, 0,
13332 "InformServiceCentreArg/mw-Status", HFILL }},
13333 { &hf_gsm_map_alertReason,
13334 { "alertReason", "gsm_map.alertReason",
13335 FT_UINT32, BASE_DEC, VALS(gsm_map_T_alertReason_vals), 0,
13336 "ReadyForSM-Arg/alertReason", HFILL }},
13337 { &hf_gsm_map_alertReasonIndicator,
13338 { "alertReasonIndicator", "gsm_map.alertReasonIndicator",
13339 FT_NONE, BASE_NONE, NULL, 0,
13340 "ReadyForSM-Arg/alertReasonIndicator", HFILL }},
13341 { &hf_gsm_map_requestedInfo,
13342 { "requestedInfo", "gsm_map.requestedInfo",
13343 FT_NONE, BASE_NONE, NULL, 0,
13345 { &hf_gsm_map_locationInformationFlag,
13346 { "locationInformation", "gsm_map.locationInformation",
13347 FT_NONE, BASE_NONE, NULL, 0,
13348 "RequestedInfo/locationInformation", HFILL }},
13349 { &hf_gsm_map_subscriberStateFlag,
13350 { "subscriberState", "gsm_map.subscriberState",
13351 FT_NONE, BASE_NONE, NULL, 0,
13352 "RequestedInfo/subscriberState", HFILL }},
13353 { &hf_gsm_map_currentLocation,
13354 { "currentLocation", "gsm_map.currentLocation",
13355 FT_NONE, BASE_NONE, NULL, 0,
13356 "RequestedInfo/currentLocation", HFILL }},
13357 { &hf_gsm_map_requestedDomain,
13358 { "requestedDomain", "gsm_map.requestedDomain",
13359 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedDomain_vals), 0,
13360 "RequestedInfo/requestedDomain", HFILL }},
13361 { &hf_gsm_map_imei1,
13362 { "imei", "gsm_map.imei",
13363 FT_NONE, BASE_NONE, NULL, 0,
13364 "RequestedInfo/imei", HFILL }},
13365 { &hf_gsm_map_ms_classmark,
13366 { "ms-classmark", "gsm_map.ms_classmark",
13367 FT_NONE, BASE_NONE, NULL, 0,
13368 "RequestedInfo/ms-classmark", HFILL }},
13369 { &hf_gsm_map_mnpRequestedInfo,
13370 { "mnpRequestedInfo", "gsm_map.mnpRequestedInfo",
13371 FT_NONE, BASE_NONE, NULL, 0,
13372 "RequestedInfo/mnpRequestedInfo", HFILL }},
13373 { &hf_gsm_map_subscriberIdentity,
13374 { "subscriberIdentity", "gsm_map.subscriberIdentity",
13375 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
13377 { &hf_gsm_map_requestedSubscriptionInfo,
13378 { "requestedSubscriptionInfo", "gsm_map.requestedSubscriptionInfo",
13379 FT_NONE, BASE_NONE, NULL, 0,
13380 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo", HFILL }},
13381 { &hf_gsm_map_requestedSS_Info,
13382 { "requestedSS-Info", "gsm_map.requestedSS_Info",
13383 FT_NONE, BASE_NONE, NULL, 0,
13384 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/requestedSS-Info", HFILL }},
13386 { "odb", "gsm_map.odb",
13387 FT_NONE, BASE_NONE, NULL, 0,
13388 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/odb", HFILL }},
13389 { &hf_gsm_map_requestedCAMEL_SubscriptionInfo,
13390 { "requestedCAMEL-SubscriptionInfo", "gsm_map.requestedCAMEL_SubscriptionInfo",
13391 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedCAMEL_SubscriptionInfo_vals), 0,
13392 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/requestedCAMEL-SubscriptionInfo", HFILL }},
13393 { &hf_gsm_map_supportedVLR_CAMEL_Phases_flg,
13394 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
13395 FT_NONE, BASE_NONE, NULL, 0,
13396 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/supportedVLR-CAMEL-Phases", HFILL }},
13397 { &hf_gsm_map_supportedSGSN_CAMEL_Phases_flg,
13398 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
13399 FT_NONE, BASE_NONE, NULL, 0,
13400 "AnyTimeSubscriptionInterrogationArg/requestedSubscriptionInfo/supportedSGSN-CAMEL-Phases", HFILL }},
13401 { &hf_gsm_map_additionalRequestedCAMEL_SubscriptionInfo,
13402 { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.additionalRequestedCAMEL_SubscriptionInfo",
13403 FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0,
13405 { &hf_gsm_map_callForwardingData,
13406 { "callForwardingData", "gsm_map.callForwardingData",
13407 FT_NONE, BASE_NONE, NULL, 0,
13408 "AnyTimeSubscriptionInterrogationRes/callForwardingData", HFILL }},
13409 { &hf_gsm_map_forwardingFeatureList1,
13410 { "forwardingFeatureList", "gsm_map.forwardingFeatureList",
13411 FT_NONE, BASE_NONE, NULL, 0,
13412 "AnyTimeSubscriptionInterrogationRes/callForwardingData/forwardingFeatureList", HFILL }},
13413 { &hf_gsm_map_notificationToCSE,
13414 { "notificationToCSE", "gsm_map.notificationToCSE",
13415 FT_NONE, BASE_NONE, NULL, 0,
13417 { &hf_gsm_map_callBarringData,
13418 { "callBarringData", "gsm_map.callBarringData",
13419 FT_NONE, BASE_NONE, NULL, 0,
13420 "AnyTimeSubscriptionInterrogationRes/callBarringData", HFILL }},
13421 { &hf_gsm_map_password,
13422 { "password", "gsm_map.password",
13423 FT_STRING, BASE_NONE, NULL, 0,
13425 { &hf_gsm_map_wrongPasswordAttemptsCounter,
13426 { "wrongPasswordAttemptsCounter", "gsm_map.wrongPasswordAttemptsCounter",
13427 FT_UINT32, BASE_DEC, NULL, 0,
13429 { &hf_gsm_map_odb_Info,
13430 { "odb-Info", "gsm_map.odb_Info",
13431 FT_NONE, BASE_NONE, NULL, 0,
13432 "AnyTimeSubscriptionInterrogationRes/odb-Info", HFILL }},
13433 { &hf_gsm_map_camel_SubscriptionInfo,
13434 { "camel-SubscriptionInfo", "gsm_map.camel_SubscriptionInfo",
13435 FT_NONE, BASE_NONE, NULL, 0,
13436 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo", HFILL }},
13437 { &hf_gsm_map_o_BcsmCamelTDP_CriteriaList1,
13438 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.o_BcsmCamelTDP_CriteriaList",
13439 FT_NONE, BASE_NONE, NULL, 0,
13440 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-BcsmCamelTDP-CriteriaList", HFILL }},
13441 { &hf_gsm_map_o_BcsmCamelTDP_CriteriaList_item,
13442 { "Item", "gsm_map.o_BcsmCamelTDP_CriteriaList_item",
13443 FT_NONE, BASE_NONE, NULL, 0,
13444 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-BcsmCamelTDP-CriteriaList/_item", HFILL }},
13445 { &hf_gsm_map_o_BcsmTriggerDetectionPoint1,
13446 { "o-BcsmTriggerDetectionPoint", "gsm_map.o_BcsmTriggerDetectionPoint",
13447 FT_UINT32, BASE_DEC, VALS(gsm_map_T_o_BcsmTriggerDetectionPoint_vals), 0,
13448 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-BcsmCamelTDP-CriteriaList/_item/o-BcsmTriggerDetectionPoint", HFILL }},
13449 { &hf_gsm_map_basicServiceCriteria1,
13450 { "basicServiceCriteria", "gsm_map.basicServiceCriteria",
13451 FT_NONE, BASE_NONE, NULL, 0,
13453 { &hf_gsm_map_o_CauseValueCriteria,
13454 { "o-CauseValueCriteria", "gsm_map.o_CauseValueCriteria",
13455 FT_NONE, BASE_NONE, NULL, 0,
13457 { &hf_gsm_map_d_CSI,
13458 { "d-CSI", "gsm_map.d_CSI",
13459 FT_NONE, BASE_NONE, NULL, 0,
13460 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/d-CSI", HFILL }},
13461 { &hf_gsm_map_dp_AnalysedInfoCriteriaList,
13462 { "dp-AnalysedInfoCriteriaList", "gsm_map.dp_AnalysedInfoCriteriaList",
13463 FT_NONE, BASE_NONE, NULL, 0,
13465 { &hf_gsm_map_csi_Active,
13466 { "csi-Active", "gsm_map.csi_Active",
13467 FT_NONE, BASE_NONE, NULL, 0,
13469 { &hf_gsm_map_t_CSI1,
13470 { "t-CSI", "gsm_map.t_CSI",
13471 FT_NONE, BASE_NONE, NULL, 0,
13472 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-CSI", HFILL }},
13473 { &hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList,
13474 { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.t_BCSM_CAMEL_TDP_CriteriaList",
13475 FT_NONE, BASE_NONE, NULL, 0,
13476 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
13477 { &hf_gsm_map_t_BCSM_CAMEL_TDP_CriteriaList_item,
13478 { "Item", "gsm_map.t_BCSM_CAMEL_TDP_CriteriaList_item",
13479 FT_NONE, BASE_NONE, NULL, 0,
13480 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
13481 { &hf_gsm_map_t_BCSM_TriggerDetectionPoint,
13482 { "t-BCSM-TriggerDetectionPoint", "gsm_map.t_BCSM_TriggerDetectionPoint",
13483 FT_UINT32, BASE_DEC, VALS(gsm_map_T_t_BCSM_TriggerDetectionPoint_vals), 0,
13484 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/t-BCSM-CAMEL-TDP-CriteriaList/_item/t-BCSM-TriggerDetectionPoint", HFILL }},
13485 { &hf_gsm_map_t_CauseValueCriteria,
13486 { "t-CauseValueCriteria", "gsm_map.t_CauseValueCriteria",
13487 FT_NONE, BASE_NONE, NULL, 0,
13489 { &hf_gsm_map_vt_CSI,
13490 { "vt-CSI", "gsm_map.vt_CSI",
13491 FT_NONE, BASE_NONE, NULL, 0,
13492 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-CSI", HFILL }},
13493 { &hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList,
13494 { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_BCSM_CAMEL_TDP_CriteriaList",
13495 FT_NONE, BASE_NONE, NULL, 0,
13496 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
13497 { &hf_gsm_map_vt_BCSM_CAMEL_TDP_CriteriaList_item,
13498 { "Item", "gsm_map.vt_BCSM_CAMEL_TDP_CriteriaList_item",
13499 FT_NONE, BASE_NONE, NULL, 0,
13500 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
13501 { &hf_gsm_map_t_BCSM_TriggerDetectionPoint1,
13502 { "t-BCSM-TriggerDetectionPoint", "gsm_map.t_BCSM_TriggerDetectionPoint",
13503 FT_UINT32, BASE_DEC, VALS(gsm_map_T_t_BCSM_TriggerDetectionPoint1_vals), 0,
13504 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-BCSM-CAMEL-TDP-CriteriaList/_item/t-BCSM-TriggerDetectionPoint", HFILL }},
13505 { &hf_gsm_map_tif_CSI_NotificationToCSE,
13506 { "tif-CSI-NotificationToCSE", "gsm_map.tif_CSI_NotificationToCSE",
13507 FT_NONE, BASE_NONE, NULL, 0,
13508 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/tif-CSI-NotificationToCSE", HFILL }},
13509 { &hf_gsm_map_gprs_CSI,
13510 { "gprs-CSI", "gsm_map.gprs_CSI",
13511 FT_NONE, BASE_NONE, NULL, 0,
13512 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI", HFILL }},
13513 { &hf_gsm_map_gprs_CamelTDPDataList,
13514 { "gprs-CamelTDPDataList", "gsm_map.gprs_CamelTDPDataList",
13515 FT_NONE, BASE_NONE, NULL, 0,
13516 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList", HFILL }},
13517 { &hf_gsm_map_gprs_CamelTDPDataList_item,
13518 { "Item", "gsm_map.gprs_CamelTDPDataList_item",
13519 FT_NONE, BASE_NONE, NULL, 0,
13520 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList/_item", HFILL }},
13521 { &hf_gsm_map_gprs_TriggerDetectionPoint,
13522 { "gprs-TriggerDetectionPoint", "gsm_map.gprs_TriggerDetectionPoint",
13523 FT_UINT32, BASE_DEC, VALS(gsm_map_T_gprs_TriggerDetectionPoint_vals), 0,
13524 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList/_item/gprs-TriggerDetectionPoint", HFILL }},
13525 { &hf_gsm_map_defaultSessionHandling,
13526 { "defaultSessionHandling", "gsm_map.defaultSessionHandling",
13527 FT_UINT32, BASE_DEC, VALS(gsm_map_T_defaultSessionHandling_vals), 0,
13528 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/gprs-CSI/gprs-CamelTDPDataList/_item/defaultSessionHandling", HFILL }},
13529 { &hf_gsm_map_mo_sms_CSI,
13530 { "mo-sms-CSI", "gsm_map.mo_sms_CSI",
13531 FT_NONE, BASE_NONE, NULL, 0,
13532 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mo-sms-CSI", HFILL }},
13533 { &hf_gsm_map_sms_CAMEL_TDP_DataList,
13534 { "sms-CAMEL-TDP-DataList", "gsm_map.sms_CAMEL_TDP_DataList",
13535 FT_NONE, BASE_NONE, NULL, 0,
13537 { &hf_gsm_map_ss_CSI1,
13538 { "ss-CSI", "gsm_map.ss_CSI",
13539 FT_NONE, BASE_NONE, NULL, 0,
13540 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/ss-CSI", HFILL }},
13541 { &hf_gsm_map_m_CSI,
13542 { "m-CSI", "gsm_map.m_CSI",
13543 FT_NONE, BASE_NONE, NULL, 0,
13544 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/m-CSI", HFILL }},
13545 { &hf_gsm_map_mobilityTriggers,
13546 { "mobilityTriggers", "gsm_map.mobilityTriggers",
13547 FT_NONE, BASE_NONE, NULL, 0,
13549 { &hf_gsm_map_specificCSIDeletedList,
13550 { "specificCSIDeletedList", "gsm_map.specificCSIDeletedList",
13551 FT_BYTES, BASE_HEX, NULL, 0,
13552 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/specificCSIDeletedList", HFILL }},
13553 { &hf_gsm_map_mt_sms_CSI,
13554 { "mt-sms-CSI", "gsm_map.mt_sms_CSI",
13555 FT_NONE, BASE_NONE, NULL, 0,
13556 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-sms-CSI", HFILL }},
13557 { &hf_gsm_map_mt_smsCAMELTDP_CriteriaList,
13558 { "mt-smsCAMELTDP-CriteriaList", "gsm_map.mt_smsCAMELTDP_CriteriaList",
13559 FT_NONE, BASE_NONE, NULL, 0,
13560 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList", HFILL }},
13561 { &hf_gsm_map_mt_smsCAMELTDP_CriteriaList_item,
13562 { "Item", "gsm_map.mt_smsCAMELTDP_CriteriaList_item",
13563 FT_NONE, BASE_NONE, NULL, 0,
13564 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item", HFILL }},
13565 { &hf_gsm_map_sms_TriggerDetectionPoint,
13566 { "sms-TriggerDetectionPoint", "gsm_map.sms_TriggerDetectionPoint",
13567 FT_UINT32, BASE_DEC, VALS(gsm_map_T_sms_TriggerDetectionPoint_vals), 0,
13568 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item/sms-TriggerDetectionPoint", HFILL }},
13569 { &hf_gsm_map_tpdu_TypeCriterion,
13570 { "tpdu-TypeCriterion", "gsm_map.tpdu_TypeCriterion",
13571 FT_NONE, BASE_NONE, NULL, 0,
13572 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item/tpdu-TypeCriterion", HFILL }},
13573 { &hf_gsm_map_tpdu_TypeCriterion_item,
13574 { "Item", "gsm_map.tpdu_TypeCriterion_item",
13575 FT_UINT32, BASE_DEC, VALS(gsm_map_T_tpdu_TypeCriterion_item_vals), 0,
13576 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mt-smsCAMELTDP-CriteriaList/_item/tpdu-TypeCriterion/_item", HFILL }},
13577 { &hf_gsm_map_mg_csi,
13578 { "mg-csi", "gsm_map.mg_csi",
13579 FT_NONE, BASE_NONE, NULL, 0,
13580 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/mg-csi", HFILL }},
13581 { &hf_gsm_map_o_IM_CSI,
13582 { "o-IM-CSI", "gsm_map.o_IM_CSI",
13583 FT_NONE, BASE_NONE, NULL, 0,
13584 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-CSI", HFILL }},
13585 { &hf_gsm_map_csiActive,
13586 { "csiActive", "gsm_map.csiActive",
13587 FT_NONE, BASE_NONE, NULL, 0,
13588 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-CSI/csiActive", HFILL }},
13589 { &hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList,
13590 { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.o_IM_BcsmCamelTDP_CriteriaList",
13591 FT_NONE, BASE_NONE, NULL, 0,
13592 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList", HFILL }},
13593 { &hf_gsm_map_o_IM_BcsmCamelTDP_CriteriaList_item,
13594 { "Item", "gsm_map.o_IM_BcsmCamelTDP_CriteriaList_item",
13595 FT_NONE, BASE_NONE, NULL, 0,
13596 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList/_item", HFILL }},
13597 { &hf_gsm_map_o_BcsmTriggerDetectionPoint2,
13598 { "o-BcsmTriggerDetectionPoint", "gsm_map.o_BcsmTriggerDetectionPoint",
13599 FT_UINT32, BASE_DEC, VALS(gsm_map_T_o_BcsmTriggerDetectionPoint1_vals), 0,
13600 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/o-IM-BcsmCamelTDP-CriteriaList/_item/o-BcsmTriggerDetectionPoint", HFILL }},
13601 { &hf_gsm_map_d_IM_CSI,
13602 { "d-IM-CSI", "gsm_map.d_IM_CSI",
13603 FT_NONE, BASE_NONE, NULL, 0,
13604 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/d-IM-CSI", HFILL }},
13605 { &hf_gsm_map_vt_IM_CSI,
13606 { "vt-IM-CSI", "gsm_map.vt_IM_CSI",
13607 FT_NONE, BASE_NONE, NULL, 0,
13608 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-CSI", HFILL }},
13609 { &hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
13610 { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.vt_IM_BCSM_CAMEL_TDP_CriteriaList",
13611 FT_NONE, BASE_NONE, NULL, 0,
13612 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList", HFILL }},
13613 { &hf_gsm_map_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item,
13614 { "Item", "gsm_map.vt_IM_BCSM_CAMEL_TDP_CriteriaList_item",
13615 FT_NONE, BASE_NONE, NULL, 0,
13616 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList/_item", HFILL }},
13617 { &hf_gsm_map_t_BCSM_TriggerDetectionPoint2,
13618 { "t-BCSM-TriggerDetectionPoint", "gsm_map.t_BCSM_TriggerDetectionPoint",
13619 FT_UINT32, BASE_DEC, VALS(gsm_map_T_t_BCSM_TriggerDetectionPoint2_vals), 0,
13620 "AnyTimeSubscriptionInterrogationRes/camel-SubscriptionInfo/vt-IM-BCSM-CAMEL-TDP-CriteriaList/_item/t-BCSM-TriggerDetectionPoint", HFILL }},
13621 { &hf_gsm_map_supportedVLR_CAMEL_Phases,
13622 { "supportedVLR-CAMEL-Phases", "gsm_map.supportedVLR_CAMEL_Phases",
13623 FT_BYTES, BASE_HEX, NULL, 0,
13624 "AnyTimeSubscriptionInterrogationRes/supportedVLR-CAMEL-Phases", HFILL }},
13625 { &hf_gsm_map_supportedSGSN_CAMEL_Phases,
13626 { "supportedSGSN-CAMEL-Phases", "gsm_map.supportedSGSN_CAMEL_Phases",
13627 FT_BYTES, BASE_HEX, NULL, 0,
13628 "AnyTimeSubscriptionInterrogationRes/supportedSGSN-CAMEL-Phases", HFILL }},
13629 { &hf_gsm_map_offeredCamel4CSIsInVLR,
13630 { "offeredCamel4CSIsInVLR", "gsm_map.offeredCamel4CSIsInVLR",
13631 FT_BYTES, BASE_HEX, NULL, 0,
13632 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInVLR", HFILL }},
13633 { &hf_gsm_map_offeredCamel4CSIsInSGSN,
13634 { "offeredCamel4CSIsInSGSN", "gsm_map.offeredCamel4CSIsInSGSN",
13635 FT_BYTES, BASE_HEX, NULL, 0,
13636 "AnyTimeSubscriptionInterrogationRes/offeredCamel4CSIsInSGSN", HFILL }},
13637 { &hf_gsm_map_Sms_CAMEL_TDP_DataList_item,
13638 { "Item", "gsm_map.Sms_CAMEL_TDP_DataList_item",
13639 FT_NONE, BASE_NONE, NULL, 0,
13640 "Sms-CAMEL-TDP-DataList/_item", HFILL }},
13641 { &hf_gsm_map_sms_TriggerDetectionPoint1,
13642 { "sms-TriggerDetectionPoint", "gsm_map.sms_TriggerDetectionPoint",
13643 FT_UINT32, BASE_DEC, VALS(gsm_map_T_sms_TriggerDetectionPoint1_vals), 0,
13644 "Sms-CAMEL-TDP-DataList/_item/sms-TriggerDetectionPoint", HFILL }},
13645 { &hf_gsm_map_defaultSMS_Handling,
13646 { "defaultSMS-Handling", "gsm_map.defaultSMS_Handling",
13647 FT_UINT32, BASE_DEC, VALS(gsm_map_T_defaultSMS_Handling_vals), 0,
13648 "Sms-CAMEL-TDP-DataList/_item/defaultSMS-Handling", HFILL }},
13649 { &hf_gsm_map_T_CauseValueCriteria_item,
13650 { "Item", "gsm_map.T_CauseValueCriteria_item",
13651 FT_BYTES, BASE_HEX, NULL, 0,
13652 "T-CauseValueCriteria/_item", HFILL }},
13653 { &hf_gsm_map_O_CauseValueCriteria_item,
13654 { "Item", "gsm_map.O_CauseValueCriteria_item",
13655 FT_BYTES, BASE_HEX, NULL, 0,
13656 "O-CauseValueCriteria/_item", HFILL }},
13657 { &hf_gsm_map_MobilityTriggers_item,
13658 { "Item", "gsm_map.MobilityTriggers_item",
13659 FT_BYTES, BASE_HEX, NULL, 0,
13660 "MobilityTriggers/_item", HFILL }},
13661 { &hf_gsm_map_BasicServiceCriteria_item,
13662 { "Item", "gsm_map.BasicServiceCriteria_item",
13663 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCriteria_item_vals), 0,
13664 "BasicServiceCriteria/_item", HFILL }},
13665 { &hf_gsm_map_ext_BearerService,
13666 { "ext-BearerService", "gsm_map.ext_BearerService",
13667 FT_BYTES, BASE_HEX, NULL, 0,
13669 { &hf_gsm_map_ext_Teleservice,
13670 { "ext-Teleservice", "gsm_map.ext_Teleservice",
13671 FT_BYTES, BASE_HEX, NULL, 0,
13673 { &hf_gsm_map_Dp_AnalysedInfoCriteriaList_item,
13674 { "Item", "gsm_map.Dp_AnalysedInfoCriteriaList_item",
13675 FT_NONE, BASE_NONE, NULL, 0,
13676 "Dp-AnalysedInfoCriteriaList/_item", HFILL }},
13677 { &hf_gsm_map_dialledNumber,
13678 { "dialledNumber", "gsm_map.dialledNumber",
13679 FT_BYTES, BASE_HEX, NULL, 0,
13680 "Dp-AnalysedInfoCriteriaList/_item/dialledNumber", HFILL }},
13681 { &hf_gsm_map_modificationRequestFor_CF_Info,
13682 { "modificationRequestFor-CF-Info", "gsm_map.modificationRequestFor_CF_Info",
13683 FT_NONE, BASE_NONE, NULL, 0,
13684 "AnyTimeModificationArg/modificationRequestFor-CF-Info", HFILL }},
13685 { &hf_gsm_map_basicService1,
13686 { "basicService", "gsm_map.basicService",
13687 FT_UINT32, BASE_DEC, VALS(gsm_map_T_basicService_vals), 0,
13688 "AnyTimeModificationArg/modificationRequestFor-CF-Info/basicService", HFILL }},
13689 { &hf_gsm_map_noReplyConditionTime1,
13690 { "noReplyConditionTime", "gsm_map.noReplyConditionTime",
13691 FT_UINT32, BASE_DEC, NULL, 0,
13692 "AnyTimeModificationArg/modificationRequestFor-CF-Info/noReplyConditionTime", HFILL }},
13693 { &hf_gsm_map_modifyNotificationToCSE,
13694 { "modifyNotificationToCSE", "gsm_map.modifyNotificationToCSE",
13695 FT_UINT32, BASE_DEC, VALS(gsm_map_ModifyNotificationToCSE_vals), 0,
13697 { &hf_gsm_map_modificationRequestFor_CB_Info,
13698 { "modificationRequestFor-CB-Info", "gsm_map.modificationRequestFor_CB_Info",
13699 FT_NONE, BASE_NONE, NULL, 0,
13700 "AnyTimeModificationArg/modificationRequestFor-CB-Info", HFILL }},
13701 { &hf_gsm_map_basicService2,
13702 { "basicService", "gsm_map.basicService",
13703 FT_UINT32, BASE_DEC, VALS(gsm_map_T_basicService1_vals), 0,
13704 "AnyTimeModificationArg/modificationRequestFor-CB-Info/basicService", HFILL }},
13705 { &hf_gsm_map_modificationRequestFor_CSI,
13706 { "modificationRequestFor-CSI", "gsm_map.modificationRequestFor_CSI",
13707 FT_NONE, BASE_NONE, NULL, 0,
13708 "AnyTimeModificationArg/modificationRequestFor-CSI", HFILL }},
13709 { &hf_gsm_map_requestedCamel_SubscriptionInfo,
13710 { "requestedCamel-SubscriptionInfo", "gsm_map.requestedCamel_SubscriptionInfo",
13711 FT_UINT32, BASE_DEC, VALS(gsm_map_T_requestedCamel_SubscriptionInfo_vals), 0,
13712 "AnyTimeModificationArg/modificationRequestFor-CSI/requestedCamel-SubscriptionInfo", HFILL }},
13713 { &hf_gsm_map_modifyCSI_State,
13714 { "modifyCSI-State", "gsm_map.modifyCSI_State",
13715 FT_UINT32, BASE_DEC, VALS(gsm_map_T_modifyCSI_State_vals), 0,
13716 "AnyTimeModificationArg/modificationRequestFor-CSI/modifyCSI-State", HFILL }},
13717 { &hf_gsm_map_modificationRequestFor_ODB_data,
13718 { "modificationRequestFor-ODB-data", "gsm_map.modificationRequestFor_ODB_data",
13719 FT_NONE, BASE_NONE, NULL, 0,
13720 "AnyTimeModificationArg/modificationRequestFor-ODB-data", HFILL }},
13721 { &hf_gsm_map_odb_data,
13722 { "odb-data", "gsm_map.odb_data",
13723 FT_NONE, BASE_NONE, NULL, 0,
13724 "AnyTimeModificationArg/modificationRequestFor-ODB-data/odb-data", HFILL }},
13725 { &hf_gsm_map_odb_HPLMN_Data,
13726 { "odb-HPLMN-Data", "gsm_map.odb_HPLMN_Data",
13727 FT_BYTES, BASE_HEX, NULL, 0,
13728 "Odb-data/odb-HPLMN-Data", HFILL }},
13729 { &hf_gsm_map_ss_Event,
13730 { "ss-Event", "gsm_map.ss_Event",
13731 FT_BYTES, BASE_HEX, NULL, 0,
13732 "Ss-InvocationNotificationArg/ss-Event", HFILL }},
13733 { &hf_gsm_map_ss_EventSpecification,
13734 { "ss-EventSpecification", "gsm_map.ss_EventSpecification",
13735 FT_NONE, BASE_NONE, NULL, 0,
13736 "Ss-InvocationNotificationArg/ss-EventSpecification", HFILL }},
13737 { &hf_gsm_map_ss_EventSpecification_item,
13738 { "Item", "gsm_map.ss_EventSpecification_item",
13739 FT_BYTES, BASE_HEX, NULL, 0,
13740 "Ss-InvocationNotificationArg/ss-EventSpecification/_item", HFILL }},
13741 { &hf_gsm_map_codec_Info,
13742 { "codec-Info", "gsm_map.codec_Info",
13743 FT_BYTES, BASE_HEX, NULL, 0,
13744 "PrepareGroupCallArg/codec-Info", HFILL }},
13745 { &hf_gsm_map_cipheringAlgorithm,
13746 { "cipheringAlgorithm", "gsm_map.cipheringAlgorithm",
13747 FT_BYTES, BASE_HEX, NULL, 0,
13748 "PrepareGroupCallArg/cipheringAlgorithm", HFILL }},
13749 { &hf_gsm_map_groupKeyNumber,
13750 { "groupKeyNumber", "gsm_map.groupKeyNumber",
13751 FT_UINT32, BASE_DEC, NULL, 0,
13752 "PrepareGroupCallArg/groupKeyNumber", HFILL }},
13753 { &hf_gsm_map_groupKey,
13754 { "groupKey", "gsm_map.groupKey",
13755 FT_BYTES, BASE_HEX, NULL, 0,
13756 "PrepareGroupCallArg/groupKey", HFILL }},
13757 { &hf_gsm_map_priority,
13758 { "priority", "gsm_map.priority",
13759 FT_UINT32, BASE_DEC, NULL, 0,
13760 "PrepareGroupCallArg/priority", HFILL }},
13761 { &hf_gsm_map_uplinkFree,
13762 { "uplinkFree", "gsm_map.uplinkFree",
13763 FT_NONE, BASE_NONE, NULL, 0,
13764 "PrepareGroupCallArg/uplinkFree", HFILL }},
13765 { &hf_gsm_map_groupCallNumber,
13766 { "groupCallNumber", "gsm_map.groupCallNumber",
13767 FT_BYTES, BASE_HEX, NULL, 0,
13768 "PrepareGroupCallRes/groupCallNumber", HFILL }},
13769 { &hf_gsm_map_uplinkRequest,
13770 { "uplinkRequest", "gsm_map.uplinkRequest",
13771 FT_NONE, BASE_NONE, NULL, 0,
13772 "ProcessGroupCallSignallingArg/uplinkRequest", HFILL }},
13773 { &hf_gsm_map_uplinkReleaseIndication,
13774 { "uplinkReleaseIndication", "gsm_map.uplinkReleaseIndication",
13775 FT_NONE, BASE_NONE, NULL, 0,
13777 { &hf_gsm_map_releaseGroupCall,
13778 { "releaseGroupCall", "gsm_map.releaseGroupCall",
13779 FT_NONE, BASE_NONE, NULL, 0,
13780 "ProcessGroupCallSignallingArg/releaseGroupCall", HFILL }},
13781 { &hf_gsm_map_uplinkRequestAck,
13782 { "uplinkRequestAck", "gsm_map.uplinkRequestAck",
13783 FT_NONE, BASE_NONE, NULL, 0,
13784 "ForwardGroupCallSignallingArg/uplinkRequestAck", HFILL }},
13785 { &hf_gsm_map_uplinkRejectCommand,
13786 { "uplinkRejectCommand", "gsm_map.uplinkRejectCommand",
13787 FT_NONE, BASE_NONE, NULL, 0,
13788 "ForwardGroupCallSignallingArg/uplinkRejectCommand", HFILL }},
13789 { &hf_gsm_map_uplinkSeizedCommand,
13790 { "uplinkSeizedCommand", "gsm_map.uplinkSeizedCommand",
13791 FT_NONE, BASE_NONE, NULL, 0,
13792 "ForwardGroupCallSignallingArg/uplinkSeizedCommand", HFILL }},
13793 { &hf_gsm_map_uplinkReleaseCommand,
13794 { "uplinkReleaseCommand", "gsm_map.uplinkReleaseCommand",
13795 FT_NONE, BASE_NONE, NULL, 0,
13796 "ForwardGroupCallSignallingArg/uplinkReleaseCommand", HFILL }},
13797 { &hf_gsm_map_sgsn_Address,
13798 { "sgsn-Address", "gsm_map.sgsn_Address",
13799 FT_BYTES, BASE_HEX, NULL, 0,
13801 { &hf_gsm_map_sgsn_Capability,
13802 { "sgsn-Capability", "gsm_map.sgsn_Capability",
13803 FT_NONE, BASE_NONE, NULL, 0,
13804 "UpdateGprsLocationArg/sgsn-Capability", HFILL }},
13805 { &hf_gsm_map_ggsn_Number,
13806 { "ggsn-Number", "gsm_map.ggsn_Number",
13807 FT_BYTES, BASE_HEX, NULL, 0,
13809 { &hf_gsm_map_mobileNotReachableReason,
13810 { "mobileNotReachableReason", "gsm_map.mobileNotReachableReason",
13811 FT_UINT32, BASE_DEC, NULL, 0,
13812 "SendRoutingInfoForGprsRes/mobileNotReachableReason", HFILL }},
13813 { &hf_gsm_map_dataCodingScheme,
13814 { "dataCodingScheme", "gsm_map.dataCodingScheme",
13815 FT_BYTES, BASE_HEX, NULL, 0,
13816 "LcsClientName/dataCodingScheme", HFILL }},
13817 { &hf_gsm_map_nameString,
13818 { "nameString", "gsm_map.nameString",
13819 FT_BYTES, BASE_HEX, NULL, 0,
13820 "LcsClientName/nameString", HFILL }},
13821 { &hf_gsm_map_lcsClientType,
13822 { "lcsClientType", "gsm_map.lcsClientType",
13823 FT_UINT32, BASE_DEC, VALS(gsm_map_LcsClientType_vals), 0,
13824 "Lcs-ClientID/lcsClientType", HFILL }},
13825 { &hf_gsm_map_lcsClientExternalID,
13826 { "lcsClientExternalID", "gsm_map.lcsClientExternalID",
13827 FT_NONE, BASE_NONE, NULL, 0,
13828 "Lcs-ClientID/lcsClientExternalID", HFILL }},
13829 { &hf_gsm_map_lcsClientDialedByMS,
13830 { "lcsClientDialedByMS", "gsm_map.lcsClientDialedByMS",
13831 FT_BYTES, BASE_HEX, NULL, 0,
13832 "Lcs-ClientID/lcsClientDialedByMS", HFILL }},
13833 { &hf_gsm_map_lcsClientInternalID,
13834 { "lcsClientInternalID", "gsm_map.lcsClientInternalID",
13835 FT_UINT32, BASE_DEC, VALS(gsm_map_LcsClientInternalID_vals), 0,
13836 "Lcs-ClientID/lcsClientInternalID", HFILL }},
13837 { &hf_gsm_map_lcsClientName,
13838 { "lcsClientName", "gsm_map.lcsClientName",
13839 FT_NONE, BASE_NONE, NULL, 0,
13840 "Lcs-ClientID/lcsClientName", HFILL }},
13841 { &hf_gsm_map_locationType,
13842 { "locationType", "gsm_map.locationType",
13843 FT_NONE, BASE_NONE, NULL, 0,
13844 "ProvideSubscriberLocation-Arg/locationType", HFILL }},
13845 { &hf_gsm_map_locationEstimateType,
13846 { "locationEstimateType", "gsm_map.locationEstimateType",
13847 FT_UINT32, BASE_DEC, VALS(gsm_map_T_locationEstimateType_vals), 0,
13848 "ProvideSubscriberLocation-Arg/locationType/locationEstimateType", HFILL }},
13849 { &hf_gsm_map_mlc_Number,
13850 { "mlc-Number", "gsm_map.mlc_Number",
13851 FT_BYTES, BASE_HEX, NULL, 0,
13852 "ProvideSubscriberLocation-Arg/mlc-Number", HFILL }},
13853 { &hf_gsm_map_lcs_ClientID,
13854 { "lcs-ClientID", "gsm_map.lcs_ClientID",
13855 FT_NONE, BASE_NONE, NULL, 0,
13857 { &hf_gsm_map_privacyOverride,
13858 { "privacyOverride", "gsm_map.privacyOverride",
13859 FT_NONE, BASE_NONE, NULL, 0,
13860 "ProvideSubscriberLocation-Arg/privacyOverride", HFILL }},
13861 { &hf_gsm_map_lcs_Priority,
13862 { "lcs-Priority", "gsm_map.lcs_Priority",
13863 FT_BYTES, BASE_HEX, NULL, 0,
13864 "ProvideSubscriberLocation-Arg/lcs-Priority", HFILL }},
13865 { &hf_gsm_map_lcs_QoS,
13866 { "lcs-QoS", "gsm_map.lcs_QoS",
13867 FT_NONE, BASE_NONE, NULL, 0,
13868 "ProvideSubscriberLocation-Arg/lcs-QoS", HFILL }},
13869 { &hf_gsm_map_horizontal_accuracy,
13870 { "horizontal-accuracy", "gsm_map.horizontal_accuracy",
13871 FT_BYTES, BASE_HEX, NULL, 0,
13872 "ProvideSubscriberLocation-Arg/lcs-QoS/horizontal-accuracy", HFILL }},
13873 { &hf_gsm_map_verticalCoordinateRequest,
13874 { "verticalCoordinateRequest", "gsm_map.verticalCoordinateRequest",
13875 FT_NONE, BASE_NONE, NULL, 0,
13876 "ProvideSubscriberLocation-Arg/lcs-QoS/verticalCoordinateRequest", HFILL }},
13877 { &hf_gsm_map_vertical_accuracy,
13878 { "vertical-accuracy", "gsm_map.vertical_accuracy",
13879 FT_BYTES, BASE_HEX, NULL, 0,
13880 "ProvideSubscriberLocation-Arg/lcs-QoS/vertical-accuracy", HFILL }},
13881 { &hf_gsm_map_responseTime,
13882 { "responseTime", "gsm_map.responseTime",
13883 FT_NONE, BASE_NONE, NULL, 0,
13884 "ProvideSubscriberLocation-Arg/lcs-QoS/responseTime", HFILL }},
13885 { &hf_gsm_map_responseTimeCategory,
13886 { "responseTimeCategory", "gsm_map.responseTimeCategory",
13887 FT_UINT32, BASE_DEC, VALS(gsm_map_T_responseTimeCategory_vals), 0,
13888 "ProvideSubscriberLocation-Arg/lcs-QoS/responseTime/responseTimeCategory", HFILL }},
13889 { &hf_gsm_map_locationEstimate,
13890 { "locationEstimate", "gsm_map.locationEstimate",
13891 FT_BYTES, BASE_HEX, NULL, 0,
13893 { &hf_gsm_map_ageOfLocationEstimate,
13894 { "ageOfLocationEstimate", "gsm_map.ageOfLocationEstimate",
13895 FT_UINT32, BASE_DEC, NULL, 0,
13897 { &hf_gsm_map_mlcNumber,
13898 { "mlcNumber", "gsm_map.mlcNumber",
13899 FT_BYTES, BASE_HEX, NULL, 0,
13900 "RoutingInfoForLCS-Arg/mlcNumber", HFILL }},
13901 { &hf_gsm_map_targetMS,
13902 { "targetMS", "gsm_map.targetMS",
13903 FT_UINT32, BASE_DEC, VALS(gsm_map_TargetMS_vals), 0,
13905 { &hf_gsm_map_lcsLocationInfo,
13906 { "lcsLocationInfo", "gsm_map.lcsLocationInfo",
13907 FT_NONE, BASE_NONE, NULL, 0,
13909 { &hf_gsm_map_lcs_Event,
13910 { "lcs-Event", "gsm_map.lcs_Event",
13911 FT_UINT32, BASE_DEC, VALS(gsm_map_Lcs_Event_vals), 0,
13912 "SubscriberLocationReport-Arg/lcs-Event", HFILL }},
13913 { &hf_gsm_map_na_ESRD,
13914 { "na-ESRD", "gsm_map.na_ESRD",
13915 FT_BYTES, BASE_HEX, NULL, 0,
13916 "SubscriberLocationReport-Arg/na-ESRD", HFILL }},
13917 { &hf_gsm_map_na_ESRK,
13918 { "na-ESRK", "gsm_map.na_ESRK",
13919 FT_BYTES, BASE_HEX, NULL, 0,
13920 "SubscriberLocationReport-Arg/na-ESRK", HFILL }},
13921 { &hf_gsm_map_networkResource,
13922 { "networkResource", "gsm_map.networkResource",
13923 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
13925 { &hf_gsm_map_extensibleSystemFailureParam,
13926 { "extensibleSystemFailureParam", "gsm_map.extensibleSystemFailureParam",
13927 FT_NONE, BASE_NONE, NULL, 0,
13928 "SystemFailureParam/extensibleSystemFailureParam", HFILL }},
13929 { &hf_gsm_map_unknownSubscriberDiagnostic,
13930 { "unknownSubscriberDiagnostic", "gsm_map.unknownSubscriberDiagnostic",
13931 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unknownSubscriberDiagnostic_vals), 0,
13932 "UnknownSubscriberParam/unknownSubscriberDiagnostic", HFILL }},
13933 { &hf_gsm_map_roamingNotAllowedCause,
13934 { "roamingNotAllowedCause", "gsm_map.roamingNotAllowedCause",
13935 FT_UINT32, BASE_DEC, VALS(gsm_map_T_roamingNotAllowedCause_vals), 0,
13936 "RoamingNotAllowedParam/roamingNotAllowedCause", HFILL }},
13937 { &hf_gsm_map_absentSubscriberReason,
13938 { "absentSubscriberReason", "gsm_map.absentSubscriberReason",
13939 FT_UINT32, BASE_DEC, VALS(gsm_map_T_absentSubscriberReason_vals), 0,
13940 "AbsentSubscriberParam/absentSubscriberReason", HFILL }},
13941 { &hf_gsm_map_ccbs_Busy,
13942 { "ccbs-Busy", "gsm_map.ccbs_Busy",
13943 FT_NONE, BASE_NONE, NULL, 0,
13944 "BusySubscriberParam/ccbs-Busy", HFILL }},
13945 { &hf_gsm_map_callBarringCause,
13946 { "callBarringCause", "gsm_map.callBarringCause",
13947 FT_UINT32, BASE_DEC, VALS(gsm_map_CallBarringCause_vals), 0,
13949 { &hf_gsm_map_extensibleCallBarredParam,
13950 { "extensibleCallBarredParam", "gsm_map.extensibleCallBarredParam",
13951 FT_NONE, BASE_NONE, NULL, 0,
13952 "CallBarredParam/extensibleCallBarredParam", HFILL }},
13953 { &hf_gsm_map_unauthorisedMessageOriginator,
13954 { "unauthorisedMessageOriginator", "gsm_map.unauthorisedMessageOriginator",
13955 FT_NONE, BASE_NONE, NULL, 0,
13956 "CallBarredParam/extensibleCallBarredParam/unauthorisedMessageOriginator", HFILL }},
13957 { &hf_gsm_map_cug_RejectCause,
13958 { "cug-RejectCause", "gsm_map.cug_RejectCause",
13959 FT_UINT32, BASE_DEC, VALS(gsm_map_T_cug_RejectCause_vals), 0,
13960 "Cug-RejectParam/cug-RejectCause", HFILL }},
13961 { &hf_gsm_map_gprsConnectionSuspended,
13962 { "gprsConnectionSuspended", "gsm_map.gprsConnectionSuspended",
13963 FT_NONE, BASE_NONE, NULL, 0,
13964 "SubBusyForMT-SMS-Param/gprsConnectionSuspended", HFILL }},
13965 { &hf_gsm_map_sm_EnumeratedDeliveryFailureCause,
13966 { "sm-EnumeratedDeliveryFailureCause", "gsm_map.sm_EnumeratedDeliveryFailureCause",
13967 FT_UINT32, BASE_DEC, VALS(gsm_map_T_sm_EnumeratedDeliveryFailureCause_vals), 0,
13968 "Sm-DeliveryFailureCause/sm-EnumeratedDeliveryFailureCause", HFILL }},
13969 { &hf_gsm_map_diagnosticInfo,
13970 { "diagnosticInfo", "gsm_map.diagnosticInfo",
13971 FT_BYTES, BASE_HEX, NULL, 0,
13972 "Sm-DeliveryFailureCause/diagnosticInfo", HFILL }},
13973 { &hf_gsm_map_unauthorizedLCSClient_Diagnostic,
13974 { "unauthorizedLCSClient-Diagnostic", "gsm_map.unauthorizedLCSClient_Diagnostic",
13975 FT_UINT32, BASE_DEC, VALS(gsm_map_T_unauthorizedLCSClient_Diagnostic_vals), 0,
13976 "UnauthorizedLCSClient-Param/unauthorizedLCSClient-Diagnostic", HFILL }},
13977 { &hf_gsm_map_positionMethodFailure_Diagnostic,
13978 { "positionMethodFailure-Diagnostic", "gsm_map.positionMethodFailure_Diagnostic",
13979 FT_UINT32, BASE_DEC, VALS(gsm_map_T_positionMethodFailure_Diagnostic_vals), 0,
13980 "PositionMethodFailure-Param/positionMethodFailure-Diagnostic", HFILL }},
13981 { &hf_gsm_map_privateExtensionList,
13982 { "privateExtensionList", "gsm_map.privateExtensionList",
13983 FT_NONE, BASE_NONE, NULL, 0,
13984 "ExtensionContainer/privateExtensionList", HFILL }},
13985 { &hf_gsm_map_pcsExtensions,
13986 { "pcsExtensions", "gsm_map.pcsExtensions",
13987 FT_NONE, BASE_NONE, NULL, 0,
13988 "ExtensionContainer/pcsExtensions", HFILL }},
13989 { &hf_gsm_map_SupportedCamelPhases_phase1,
13990 { "phase1", "gsm_map.phase1",
13991 FT_BOOLEAN, 8, NULL, 0x80,
13993 { &hf_gsm_map_SupportedCamelPhases_phase2,
13994 { "phase2", "gsm_map.phase2",
13995 FT_BOOLEAN, 8, NULL, 0x40,
13997 { &hf_gsm_map_SupportedCamelPhases_phase3,
13998 { "phase3", "gsm_map.phase3",
13999 FT_BOOLEAN, 8, NULL, 0x20,
14001 { &hf_gsm_map_SupportedCamelPhases_phase4,
14002 { "phase4", "gsm_map.phase4",
14003 FT_BOOLEAN, 8, NULL, 0x10,
14005 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet1,
14006 { "lcsCapabilitySet1", "gsm_map.lcsCapabilitySet1",
14007 FT_BOOLEAN, 8, NULL, 0x80,
14009 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet2,
14010 { "lcsCapabilitySet2", "gsm_map.lcsCapabilitySet2",
14011 FT_BOOLEAN, 8, NULL, 0x40,
14013 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet3,
14014 { "lcsCapabilitySet3", "gsm_map.lcsCapabilitySet3",
14015 FT_BOOLEAN, 8, NULL, 0x20,
14017 { &hf_gsm_map_T_supportedLCS_CapabilitySets_lcsCapabilitySet4,
14018 { "lcsCapabilitySet4", "gsm_map.lcsCapabilitySet4",
14019 FT_BOOLEAN, 8, NULL, 0x10,
14021 { &hf_gsm_map_T_offeredCamel4CSIs_ocsi,
14022 { "ocsi", "gsm_map.ocsi",
14023 FT_BOOLEAN, 8, NULL, 0x80,
14025 { &hf_gsm_map_T_offeredCamel4CSIs_dcsi,
14026 { "dcsi", "gsm_map.dcsi",
14027 FT_BOOLEAN, 8, NULL, 0x40,
14029 { &hf_gsm_map_T_offeredCamel4CSIs_vtcsi,
14030 { "vtcsi", "gsm_map.vtcsi",
14031 FT_BOOLEAN, 8, NULL, 0x20,
14033 { &hf_gsm_map_T_offeredCamel4CSIs_tcsi,
14034 { "tcsi", "gsm_map.tcsi",
14035 FT_BOOLEAN, 8, NULL, 0x10,
14037 { &hf_gsm_map_T_offeredCamel4CSIs_mtsmscsi,
14038 { "mtsmscsi", "gsm_map.mtsmscsi",
14039 FT_BOOLEAN, 8, NULL, 0x08,
14041 { &hf_gsm_map_T_offeredCamel4CSIs_mgcsi,
14042 { "mgcsi", "gsm_map.mgcsi",
14043 FT_BOOLEAN, 8, NULL, 0x04,
14045 { &hf_gsm_map_T_offeredCamel4CSIs_psienhancements,
14046 { "psienhancements", "gsm_map.psienhancements",
14047 FT_BOOLEAN, 8, NULL, 0x02,
14049 { &hf_gsm_map_Odb_GeneralData_allOGCallsBarred,
14050 { "allOGCallsBarred", "gsm_map.allOGCallsBarred",
14051 FT_BOOLEAN, 8, NULL, 0x80,
14053 { &hf_gsm_map_Odb_GeneralData_internationalOGCallsBarred,
14054 { "internationalOGCallsBarred", "gsm_map.internationalOGCallsBarred",
14055 FT_BOOLEAN, 8, NULL, 0x40,
14057 { &hf_gsm_map_Odb_GeneralData_internationalOGCallsNotToHPLMNCountryBarred,
14058 { "internationalOGCallsNotToHPLMNCountryBarred", "gsm_map.internationalOGCallsNotToHPLMNCountryBarred",
14059 FT_BOOLEAN, 8, NULL, 0x20,
14061 { &hf_gsm_map_Odb_GeneralData_premiumRateInformationOGCallsBarred,
14062 { "premiumRateInformationOGCallsBarred", "gsm_map.premiumRateInformationOGCallsBarred",
14063 FT_BOOLEAN, 8, NULL, 0x10,
14065 { &hf_gsm_map_Odb_GeneralData_premiumRateEntertainementOGCallsBarred,
14066 { "premiumRateEntertainementOGCallsBarred", "gsm_map.premiumRateEntertainementOGCallsBarred",
14067 FT_BOOLEAN, 8, NULL, 0x08,
14069 { &hf_gsm_map_Odb_GeneralData_ssAccessBarred,
14070 { "ssAccessBarred", "gsm_map.ssAccessBarred",
14071 FT_BOOLEAN, 8, NULL, 0x04,
14073 { &hf_gsm_map_Odb_GeneralData_interzonalOGCallsBarred,
14074 { "interzonalOGCallsBarred", "gsm_map.interzonalOGCallsBarred",
14075 FT_BOOLEAN, 8, NULL, 0x02,
14077 { &hf_gsm_map_Odb_GeneralData_interzonalOGCallsNotToHPLMNCountryBarred,
14078 { "interzonalOGCallsNotToHPLMNCountryBarred", "gsm_map.interzonalOGCallsNotToHPLMNCountryBarred",
14079 FT_BOOLEAN, 8, NULL, 0x01,
14081 { &hf_gsm_map_Odb_GeneralData_interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred,
14082 { "interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred", "gsm_map.interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred",
14083 FT_BOOLEAN, 8, NULL, 0x80,
14085 { &hf_gsm_map_Odb_GeneralData_allECTBarred,
14086 { "allECTBarred", "gsm_map.allECTBarred",
14087 FT_BOOLEAN, 8, NULL, 0x40,
14089 { &hf_gsm_map_Odb_GeneralData_chargeableECTBarred,
14090 { "chargeableECTBarred", "gsm_map.chargeableECTBarred",
14091 FT_BOOLEAN, 8, NULL, 0x20,
14093 { &hf_gsm_map_Odb_GeneralData_internationalECTBarred,
14094 { "internationalECTBarred", "gsm_map.internationalECTBarred",
14095 FT_BOOLEAN, 8, NULL, 0x10,
14097 { &hf_gsm_map_Odb_GeneralData_interzonalECTBarred,
14098 { "interzonalECTBarred", "gsm_map.interzonalECTBarred",
14099 FT_BOOLEAN, 8, NULL, 0x08,
14101 { &hf_gsm_map_Odb_GeneralData_doublyChargeableECTBarred,
14102 { "doublyChargeableECTBarred", "gsm_map.doublyChargeableECTBarred",
14103 FT_BOOLEAN, 8, NULL, 0x04,
14105 { &hf_gsm_map_Odb_GeneralData_multipleECTBarred,
14106 { "multipleECTBarred", "gsm_map.multipleECTBarred",
14107 FT_BOOLEAN, 8, NULL, 0x02,
14109 { &hf_gsm_map_Odb_GeneralData_allPacketOrientedServicesBarred,
14110 { "allPacketOrientedServicesBarred", "gsm_map.allPacketOrientedServicesBarred",
14111 FT_BOOLEAN, 8, NULL, 0x01,
14113 { &hf_gsm_map_Odb_GeneralData_roamerAccessToHPLMN_AP_Barred,
14114 { "roamerAccessToHPLMN-AP-Barred", "gsm_map.roamerAccessToHPLMN-AP-Barred",
14115 FT_BOOLEAN, 8, NULL, 0x80,
14117 { &hf_gsm_map_Odb_GeneralData_roamerAccessToVPLMN_AP_Barred,
14118 { "roamerAccessToVPLMN-AP-Barred", "gsm_map.roamerAccessToVPLMN-AP-Barred",
14119 FT_BOOLEAN, 8, NULL, 0x40,
14121 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNOG_CallsBarred,
14122 { "roamingOutsidePLMNOG-CallsBarred", "gsm_map.roamingOutsidePLMNOG-CallsBarred",
14123 FT_BOOLEAN, 8, NULL, 0x20,
14125 { &hf_gsm_map_Odb_GeneralData_allIC_CallsBarred,
14126 { "allIC-CallsBarred", "gsm_map.allIC-CallsBarred",
14127 FT_BOOLEAN, 8, NULL, 0x10,
14129 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNIC_CallsBarred,
14130 { "roamingOutsidePLMNIC-CallsBarred", "gsm_map.roamingOutsidePLMNIC-CallsBarred",
14131 FT_BOOLEAN, 8, NULL, 0x08,
14133 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
14134 { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm_map.roamingOutsidePLMNICountryIC-CallsBarred",
14135 FT_BOOLEAN, 8, NULL, 0x04,
14137 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_Barred,
14138 { "roamingOutsidePLMN-Barred", "gsm_map.roamingOutsidePLMN-Barred",
14139 FT_BOOLEAN, 8, NULL, 0x02,
14141 { &hf_gsm_map_Odb_GeneralData_roamingOutsidePLMN_CountryBarred,
14142 { "roamingOutsidePLMN-CountryBarred", "gsm_map.roamingOutsidePLMN-CountryBarred",
14143 FT_BOOLEAN, 8, NULL, 0x01,
14145 { &hf_gsm_map_Odb_GeneralData_registrationAllCF_Barred,
14146 { "registrationAllCF-Barred", "gsm_map.registrationAllCF-Barred",
14147 FT_BOOLEAN, 8, NULL, 0x80,
14149 { &hf_gsm_map_Odb_GeneralData_registrationCFNotToHPLMN_Barred,
14150 { "registrationCFNotToHPLMN-Barred", "gsm_map.registrationCFNotToHPLMN-Barred",
14151 FT_BOOLEAN, 8, NULL, 0x40,
14153 { &hf_gsm_map_Odb_GeneralData_registrationInterzonalCF_Barred,
14154 { "registrationInterzonalCF-Barred", "gsm_map.registrationInterzonalCF-Barred",
14155 FT_BOOLEAN, 8, NULL, 0x20,
14157 { &hf_gsm_map_Odb_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
14158 { "registrationInterzonalCFNotToHPLMN-Barred", "gsm_map.registrationInterzonalCFNotToHPLMN-Barred",
14159 FT_BOOLEAN, 8, NULL, 0x10,
14161 { &hf_gsm_map_Odb_GeneralData_registrationInternationalCF_Barred,
14162 { "registrationInternationalCF-Barred", "gsm_map.registrationInternationalCF-Barred",
14163 FT_BOOLEAN, 8, NULL, 0x08,
14165 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType1,
14166 { "plmnSpecificBarringType1", "gsm_map.plmnSpecificBarringType1",
14167 FT_BOOLEAN, 8, NULL, 0x80,
14169 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType2,
14170 { "plmnSpecificBarringType2", "gsm_map.plmnSpecificBarringType2",
14171 FT_BOOLEAN, 8, NULL, 0x40,
14173 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType3,
14174 { "plmnSpecificBarringType3", "gsm_map.plmnSpecificBarringType3",
14175 FT_BOOLEAN, 8, NULL, 0x20,
14177 { &hf_gsm_map_Odb_HPLMN_Data_plmnSpecificBarringType4,
14178 { "plmnSpecificBarringType4", "gsm_map.plmnSpecificBarringType4",
14179 FT_BOOLEAN, 8, NULL, 0x10,
14181 { &hf_gsm_map_ServiceIndicator_clirInvoked,
14182 { "clirInvoked", "gsm_map.clirInvoked",
14183 FT_BOOLEAN, 8, NULL, 0x80,
14185 { &hf_gsm_map_ServiceIndicator_camelInvoked,
14186 { "camelInvoked", "gsm_map.camelInvoked",
14187 FT_BOOLEAN, 8, NULL, 0x40,
14189 { &hf_gsm_map_T_mw_Status_scAddressNotIncluded,
14190 { "scAddressNotIncluded", "gsm_map.scAddressNotIncluded",
14191 FT_BOOLEAN, 8, NULL, 0x80,
14193 { &hf_gsm_map_T_mw_Status_mnrfSet,
14194 { "mnrfSet", "gsm_map.mnrfSet",
14195 FT_BOOLEAN, 8, NULL, 0x40,
14197 { &hf_gsm_map_T_mw_Status_mcefSet,
14198 { "mcefSet", "gsm_map.mcefSet",
14199 FT_BOOLEAN, 8, NULL, 0x20,
14201 { &hf_gsm_map_T_mw_Status_mnrgSet,
14202 { "mnrgSet", "gsm_map.mnrgSet",
14203 FT_BOOLEAN, 8, NULL, 0x10,
14205 { &hf_gsm_map_T_specificCSIDeletedList_o_csi,
14206 { "o-csi", "gsm_map.o-csi",
14207 FT_BOOLEAN, 8, NULL, 0x80,
14209 { &hf_gsm_map_T_specificCSIDeletedList_ss_csi,
14210 { "ss-csi", "gsm_map.ss-csi",
14211 FT_BOOLEAN, 8, NULL, 0x40,
14213 { &hf_gsm_map_T_specificCSIDeletedList_tif_csi,
14214 { "tif-csi", "gsm_map.tif-csi",
14215 FT_BOOLEAN, 8, NULL, 0x20,
14217 { &hf_gsm_map_T_specificCSIDeletedList_d_csi,
14218 { "d-csi", "gsm_map.d-csi",
14219 FT_BOOLEAN, 8, NULL, 0x10,
14221 { &hf_gsm_map_T_specificCSIDeletedList_vt_csi,
14222 { "vt-csi", "gsm_map.vt-csi",
14223 FT_BOOLEAN, 8, NULL, 0x08,
14225 { &hf_gsm_map_T_specificCSIDeletedList_mo_sms_csi,
14226 { "mo-sms-csi", "gsm_map.mo-sms-csi",
14227 FT_BOOLEAN, 8, NULL, 0x04,
14229 { &hf_gsm_map_T_specificCSIDeletedList_m_csi,
14230 { "m-csi", "gsm_map.m-csi",
14231 FT_BOOLEAN, 8, NULL, 0x02,
14233 { &hf_gsm_map_T_specificCSIDeletedList_gprs_csi,
14234 { "gprs-csi", "gsm_map.gprs-csi",
14235 FT_BOOLEAN, 8, NULL, 0x01,
14237 { &hf_gsm_map_T_specificCSIDeletedList_t_csi,
14238 { "t-csi", "gsm_map.t-csi",
14239 FT_BOOLEAN, 8, NULL, 0x80,
14241 { &hf_gsm_map_T_specificCSIDeletedList_mt_sms_csi,
14242 { "mt-sms-csi", "gsm_map.mt-sms-csi",
14243 FT_BOOLEAN, 8, NULL, 0x40,
14245 { &hf_gsm_map_T_specificCSIDeletedList_mg_csi,
14246 { "mg-csi", "gsm_map.mg-csi",
14247 FT_BOOLEAN, 8, NULL, 0x20,
14249 { &hf_gsm_map_T_specificCSIDeletedList_o_IM_CSI,
14250 { "o-IM-CSI", "gsm_map.o-IM-CSI",
14251 FT_BOOLEAN, 8, NULL, 0x10,
14253 { &hf_gsm_map_T_specificCSIDeletedList_d_IM_CSI,
14254 { "d-IM-CSI", "gsm_map.d-IM-CSI",
14255 FT_BOOLEAN, 8, NULL, 0x08,
14257 { &hf_gsm_map_T_specificCSIDeletedList_vt_IM_CSI,
14258 { "vt-IM-CSI", "gsm_map.vt-IM-CSI",
14259 FT_BOOLEAN, 8, NULL, 0x04,
14261 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase1,
14262 { "phase1", "gsm_map.phase1",
14263 FT_BOOLEAN, 8, NULL, 0x80,
14265 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase2,
14266 { "phase2", "gsm_map.phase2",
14267 FT_BOOLEAN, 8, NULL, 0x40,
14269 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase3,
14270 { "phase3", "gsm_map.phase3",
14271 FT_BOOLEAN, 8, NULL, 0x20,
14273 { &hf_gsm_map_T_supportedVLR_CAMEL_Phases_phase4,
14274 { "phase4", "gsm_map.phase4",
14275 FT_BOOLEAN, 8, NULL, 0x10,
14277 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase1,
14278 { "phase1", "gsm_map.phase1",
14279 FT_BOOLEAN, 8, NULL, 0x80,
14281 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase2,
14282 { "phase2", "gsm_map.phase2",
14283 FT_BOOLEAN, 8, NULL, 0x40,
14285 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase3,
14286 { "phase3", "gsm_map.phase3",
14287 FT_BOOLEAN, 8, NULL, 0x20,
14289 { &hf_gsm_map_T_supportedSGSN_CAMEL_Phases_phase4,
14290 { "phase4", "gsm_map.phase4",
14291 FT_BOOLEAN, 8, NULL, 0x10,
14293 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_o_csi,
14294 { "o-csi", "gsm_map.o-csi",
14295 FT_BOOLEAN, 8, NULL, 0x80,
14297 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_d_csi,
14298 { "d-csi", "gsm_map.d-csi",
14299 FT_BOOLEAN, 8, NULL, 0x40,
14301 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_vt_csi,
14302 { "vt-csi", "gsm_map.vt-csi",
14303 FT_BOOLEAN, 8, NULL, 0x20,
14305 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_t_csi,
14306 { "t-csi", "gsm_map.t-csi",
14307 FT_BOOLEAN, 8, NULL, 0x10,
14309 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_mt_sms_csi,
14310 { "mt-sms-csi", "gsm_map.mt-sms-csi",
14311 FT_BOOLEAN, 8, NULL, 0x08,
14313 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_mg_csi,
14314 { "mg-csi", "gsm_map.mg-csi",
14315 FT_BOOLEAN, 8, NULL, 0x04,
14317 { &hf_gsm_map_T_offeredCamel4CSIsInVLR_psi_enhancements,
14318 { "psi-enhancements", "gsm_map.psi-enhancements",
14319 FT_BOOLEAN, 8, NULL, 0x02,
14321 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_o_csi,
14322 { "o-csi", "gsm_map.o-csi",
14323 FT_BOOLEAN, 8, NULL, 0x80,
14325 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_d_csi,
14326 { "d-csi", "gsm_map.d-csi",
14327 FT_BOOLEAN, 8, NULL, 0x40,
14329 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_vt_csi,
14330 { "vt-csi", "gsm_map.vt-csi",
14331 FT_BOOLEAN, 8, NULL, 0x20,
14333 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_t_csi,
14334 { "t-csi", "gsm_map.t-csi",
14335 FT_BOOLEAN, 8, NULL, 0x10,
14337 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mt_sms_csi,
14338 { "mt-sms-csi", "gsm_map.mt-sms-csi",
14339 FT_BOOLEAN, 8, NULL, 0x08,
14341 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_mg_csi,
14342 { "mg-csi", "gsm_map.mg-csi",
14343 FT_BOOLEAN, 8, NULL, 0x04,
14345 { &hf_gsm_map_T_offeredCamel4CSIsInSGSN_psi_enhancements,
14346 { "psi-enhancements", "gsm_map.psi-enhancements",
14347 FT_BOOLEAN, 8, NULL, 0x02,
14350 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
14354 /* List of subtrees */
14355 static gint *ett[] = {
14357 &ett_gsm_map_InvokeId,
14358 &ett_gsm_map_InvokePDU,
14359 &ett_gsm_map_ReturnResultPDU,
14360 &ett_gsm_map_ReturnErrorPDU,
14361 &ett_gsm_map_ReturnResult_result,
14362 &ett_gsm_map_ReturnError_result,
14363 &ett_gsm_map_GSMMAPPDU,
14365 /*--- Included file: packet-gsm_map-ettarr.c ---*/
14367 &ett_gsm_map_Bss_APDU,
14368 &ett_gsm_map_An_APDU,
14369 &ett_gsm_map_SupportedCamelPhases,
14370 &ett_gsm_map_Vlr_Capability,
14371 &ett_gsm_map_T_superChargerSupportedInServingNetworkEntity,
14372 &ett_gsm_map_T_supportedLCS_CapabilitySets,
14373 &ett_gsm_map_T_offeredCamel4CSIs,
14374 &ett_gsm_map_UpdateLocationArg,
14375 &ett_gsm_map_T_add_info,
14376 &ett_gsm_map_UpdateLocationRes,
14377 &ett_gsm_map_PrivateExtensionList,
14378 &ett_gsm_map_PrivateExtension,
14379 &ett_gsm_map_PcsExtensions,
14380 &ett_gsm_map_CancelLocationArg,
14381 &ett_gsm_map_T_identity,
14382 &ett_gsm_map_T_imsi_WithLMSI,
14383 &ett_gsm_map_CancelLocationRes,
14384 &ett_gsm_map_PurgeMS_Arg,
14385 &ett_gsm_map_PurgeMS_Res,
14386 &ett_gsm_map_SendIdentificationRes,
14387 &ett_gsm_map_SendId_authenticationSetList,
14388 &ett_gsm_map_T_authenticationSetList_item,
14389 &ett_gsm_map_PrepareHO_Arg,
14390 &ett_gsm_map_PrepareHandoverV3Arg,
14391 &ett_gsm_map_T_allowedUMTS_Algorithms,
14392 &ett_gsm_map_T_radioResourceList,
14393 &ett_gsm_map_T_radioResourceList_item,
14394 &ett_gsm_map_T_bssmap_ServiceHandoverList,
14395 &ett_gsm_map_T_bssmap_ServiceHandoverList_item,
14396 &ett_gsm_map_T_iuSupportedCodecsList,
14397 &ett_gsm_map_T_utranCodecList,
14398 &ett_gsm_map_T_geranCodecList,
14399 &ett_gsm_map_T_uesbi_Iu,
14400 &ett_gsm_map_PrepareHO_Res,
14401 &ett_gsm_map_PrepareHandoverV3Res,
14402 &ett_gsm_map_T_relocationNumberList,
14403 &ett_gsm_map_T_relocationNumberList_item,
14404 &ett_gsm_map_T_selectedUMTS_Algorithms,
14405 &ett_gsm_map_T_chosenRadioResourceInformation,
14406 &ett_gsm_map_T_iuAvailableCodecsList,
14407 &ett_gsm_map_SendEndSignalV9Arg,
14408 &ett_gsm_map_PrepareSubsequentHO_Arg,
14409 &ett_gsm_map_SendAuthenticationInfoArgV3,
14410 &ett_gsm_map_T_re_synchronisationInfo,
14411 &ett_gsm_map_SendAuthenticationInfoRes,
14412 &ett_gsm_map_SendAuthenticationInfoRes_item,
14413 &ett_gsm_map_SendAuthenticationInfoV3Res,
14414 &ett_gsm_map_T_authenticationSetList,
14415 &ett_gsm_map_T_tripletList,
14416 &ett_gsm_map_T_tripletList_item,
14417 &ett_gsm_map_T_quintupletList,
14418 &ett_gsm_map_T_quintupletList_item,
14419 &ett_gsm_map_BasicService,
14420 &ett_gsm_map_BasicServiceGroupList,
14421 &ett_gsm_map_Odb_GeneralData,
14422 &ett_gsm_map_Odb_HPLMN_Data,
14423 &ett_gsm_map_BcsmCamelTDPData,
14424 &ett_gsm_map_BcsmCamelTDPDataList,
14425 &ett_gsm_map_O_CSI,
14426 &ett_gsm_map_InsertSubscriberDataArg,
14427 &ett_gsm_map_bearerServiceList,
14428 &ett_gsm_map_SEQUENCE_SIZE_1_20_OF_Teleservice,
14429 &ett_gsm_map_T_provisionedSS,
14430 &ett_gsm_map_T_provisionedSS_item,
14431 &ett_gsm_map_T_cug_Info,
14432 &ett_gsm_map_T_cug_SubscriptionList,
14433 &ett_gsm_map_T_cug_SubscriptionList_item,
14434 &ett_gsm_map_T_cug_FeatureList,
14435 &ett_gsm_map_T_cug_FeatureList_item,
14436 &ett_gsm_map_T_emlpp_Info,
14437 &ett_gsm_map_T_regionalSubscriptionData,
14438 &ett_gsm_map_T_vbsSubscriptionData,
14439 &ett_gsm_map_T_vbsSubscriptionData_item,
14440 &ett_gsm_map_T_vgcsSubscriptionData,
14441 &ett_gsm_map_T_vgcsSubscriptionData_item,
14442 &ett_gsm_map_T_vlrCamelSubscriptionInfo,
14443 &ett_gsm_map_T_ss_CSI,
14444 &ett_gsm_map_T_gprsSubscriptionData,
14445 &ett_gsm_map_T_gprsDataList,
14446 &ett_gsm_map_T_gprsDataList_item,
14447 &ett_gsm_map_T_lsaInformation,
14448 &ett_gsm_map_T_lsaDataList,
14449 &ett_gsm_map_T_lsaDataList_item,
14450 &ett_gsm_map_T_lcsInformation,
14451 &ett_gsm_map_T_gmlc_List,
14452 &ett_gsm_map_T_lcs_PrivacyExceptionList,
14453 &ett_gsm_map_T_lcs_PrivacyExceptionList_item,
14454 &ett_gsm_map_T_externalClientList,
14455 &ett_gsm_map_T_externalClientList_item,
14456 &ett_gsm_map_T_clientIdentity,
14457 &ett_gsm_map_T_plmnClientList,
14458 &ett_gsm_map_T_molr_List,
14459 &ett_gsm_map_T_molr_List_item,
14460 &ett_gsm_map_InsertSubscriberDataRes,
14461 &ett_gsm_map_ss_List,
14462 &ett_gsm_map_Ss_CamelData,
14463 &ett_gsm_map_T_ss_EventList,
14464 &ett_gsm_map_CallBarringInfo,
14465 &ett_gsm_map_CallBarringFeatureList,
14466 &ett_gsm_map_CallBarringFeatureList_item,
14467 &ett_gsm_map_ForwardingFeatureList,
14468 &ett_gsm_map_DestinationNumberCriteria,
14469 &ett_gsm_map_T_destinationNumberList,
14470 &ett_gsm_map_T_destinationNumberLengthList,
14471 &ett_gsm_map_ForwardingInfo,
14472 &ett_gsm_map_SEQUENCE_SIZE_1_32_OF_ForwardingFeatureList,
14473 &ett_gsm_map_Naea_PreferredCI,
14474 &ett_gsm_map_O_BcsmCamelTDP_CriteriaList,
14475 &ett_gsm_map_O_BcsmCamelTDP_CriteriaList_item,
14476 &ett_gsm_map_Ss_SubscriptionOption,
14477 &ett_gsm_map_DeleteSubscriberDataArg,
14478 &ett_gsm_map_T_gprsSubscriptionDataWithdraw,
14479 &ett_gsm_map_T_contextIdList,
14480 &ett_gsm_map_T_lsaInformationWithdraw,
14481 &ett_gsm_map_T_lsaIdentityList,
14482 &ett_gsm_map_DeleteSubscriberDataRes,
14483 &ett_gsm_map_ResetArg,
14484 &ett_gsm_map_T_hlr_List,
14485 &ett_gsm_map_RestoreDataArg,
14486 &ett_gsm_map_RestoreDataRes,
14487 &ett_gsm_map_ActivateTraceModeArg,
14488 &ett_gsm_map_ActivateTraceModeRes,
14489 &ett_gsm_map_DeactivateTraceModeArg,
14490 &ett_gsm_map_DeactivateTraceModeRes,
14491 &ett_gsm_map_SendRoutingInfoArg,
14492 &ett_gsm_map_T_camelInfo,
14493 &ett_gsm_map_SendRoutingInfoRes,
14494 &ett_gsm_map_T_extendedRoutingInfo,
14495 &ett_gsm_map_T_routingInfo,
14496 &ett_gsm_map_T_camelRoutingInfo,
14497 &ett_gsm_map_T_gmscCamelSubscriptionInfo,
14498 &ett_gsm_map_T_t_CSI,
14499 &ett_gsm_map_T_ccbs_Indicators,
14500 &ett_gsm_map_SubscriberState,
14501 &ett_gsm_map_LocationInformation,
14502 &ett_gsm_map_T_cellIdOrLAI,
14503 &ett_gsm_map_SubscriberInfo,
14504 &ett_gsm_map_T_locationInformationGPRS,
14505 &ett_gsm_map_T_cellGlobalIdOrServiceAreaIdOrLAI,
14506 &ett_gsm_map_T_ps_SubscriberState,
14507 &ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging,
14508 &ett_gsm_map_T_ps_PDP_ActiveNotReachableForPaging_item,
14509 &ett_gsm_map_T_ps_PDP_ActiveReachableForPaging,
14510 &ett_gsm_map_T_ps_PDP_ActiveReachableForPaging_item,
14511 &ett_gsm_map_T_gprs_MS_Class,
14512 &ett_gsm_map_T_mnpInfoRes,
14513 &ett_gsm_map_AdditionalSignalInfo,
14514 &ett_gsm_map_Cug_CheckInfo,
14515 &ett_gsm_map_ForwardingData,
14516 &ett_gsm_map_ProvideRoamingNumberArg,
14517 &ett_gsm_map_ProvideRoamingNumberRes,
14518 &ett_gsm_map_ResumeCallHandlingArg,
14519 &ett_gsm_map_T_uu_Data,
14520 &ett_gsm_map_ResumeCallHandlingRes,
14521 &ett_gsm_map_ProvideSIWFSNumberArg,
14522 &ett_gsm_map_ProvideSIWFSNumberRes,
14523 &ett_gsm_map_SIWFSSignallingModifyArg,
14524 &ett_gsm_map_SIWFSSignallingModifyRes,
14525 &ett_gsm_map_SetReportingStateArg,
14526 &ett_gsm_map_SetReportingStateRes,
14527 &ett_gsm_map_StatusReportArg,
14528 &ett_gsm_map_T_eventReportData,
14529 &ett_gsm_map_T_callReportdata,
14530 &ett_gsm_map_StatusReportRes,
14531 &ett_gsm_map_RemoteUserFreeArg,
14532 &ett_gsm_map_RemoteUserFreeRes,
14533 &ett_gsm_map_Ss_Data,
14534 &ett_gsm_map_RegisterSS_Arg,
14535 &ett_gsm_map_Ss_Info,
14536 &ett_gsm_map_Ccbs_Feature,
14537 &ett_gsm_map_Ss_ForBS,
14538 &ett_gsm_map_InterrogateSS_Res,
14539 &ett_gsm_map_SEQUENCE_SIZE_1_13_OF_ForwardingFeatureList,
14540 &ett_gsm_map_T_genericServiceInfo,
14541 &ett_gsm_map_T_ccbs_FeatureList,
14542 &ett_gsm_map_T_ccbs_FeatureList_item,
14543 &ett_gsm_map_Ussd_Arg,
14544 &ett_gsm_map_Ussd_Res,
14545 &ett_gsm_map_ServiceIndicator,
14546 &ett_gsm_map_RegisterCC_EntryArg,
14547 &ett_gsm_map_T_ccbs_Data,
14548 &ett_gsm_map_RegisterCC_EntryRes,
14549 &ett_gsm_map_EraseCC_EntryArg,
14550 &ett_gsm_map_EraseCC_EntryRes,
14551 &ett_gsm_map_RoutingInfoForSMArg,
14552 &ett_gsm_map_RoutingInfoForSMRes,
14553 &ett_gsm_map_T_locationInfoWithLMSI,
14554 &ett_gsm_map_T_additional_Number,
14555 &ett_gsm_map_Mo_forwardSM_Arg,
14556 &ett_gsm_map_Mo_forwardSM_Res,
14557 &ett_gsm_map_Sm_RP_OA,
14558 &ett_gsm_map_Sm_RP_DA,
14559 &ett_gsm_map_Mt_forwardSM_Arg,
14560 &ett_gsm_map_Mt_forwardSM_Res,
14561 &ett_gsm_map_ReportSM_DeliveryStatusArg,
14562 &ett_gsm_map_ReportSM_DeliveryStatusRes,
14563 &ett_gsm_map_InformServiceCentreArg,
14564 &ett_gsm_map_T_mw_Status,
14565 &ett_gsm_map_AlertServiceCentreArg,
14566 &ett_gsm_map_ReadyForSM_Arg,
14567 &ett_gsm_map_ReadyForSM_Res,
14568 &ett_gsm_map_ProvideSubscriberInfoArg,
14569 &ett_gsm_map_ProvideSubscriberInfoRes,
14570 &ett_gsm_map_RequestedInfo,
14571 &ett_gsm_map_AnyTimeInterrogationArg,
14572 &ett_gsm_map_AnyTimeInterrogationRes,
14573 &ett_gsm_map_AnyTimeSubscriptionInterrogationArg,
14574 &ett_gsm_map_T_requestedSubscriptionInfo,
14575 &ett_gsm_map_T_requestedSS_Info,
14576 &ett_gsm_map_AnyTimeSubscriptionInterrogationRes,
14577 &ett_gsm_map_T_callForwardingData,
14578 &ett_gsm_map_T_callBarringData,
14579 &ett_gsm_map_T_odb_Info,
14580 &ett_gsm_map_T_camel_SubscriptionInfo,
14581 &ett_gsm_map_T_o_BcsmCamelTDP_CriteriaList,
14582 &ett_gsm_map_T_o_BcsmCamelTDP_CriteriaList_item,
14583 &ett_gsm_map_T_d_CSI,
14584 &ett_gsm_map_T_t_CSI1,
14585 &ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList,
14586 &ett_gsm_map_T_t_BCSM_CAMEL_TDP_CriteriaList_item,
14587 &ett_gsm_map_T_vt_CSI,
14588 &ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList,
14589 &ett_gsm_map_T_vt_BCSM_CAMEL_TDP_CriteriaList_item,
14590 &ett_gsm_map_T_gprs_CSI,
14591 &ett_gsm_map_T_gprs_CamelTDPDataList,
14592 &ett_gsm_map_T_gprs_CamelTDPDataList_item,
14593 &ett_gsm_map_T_mo_sms_CSI,
14594 &ett_gsm_map_T_ss_CSI1,
14595 &ett_gsm_map_T_m_CSI,
14596 &ett_gsm_map_T_specificCSIDeletedList,
14597 &ett_gsm_map_T_mt_sms_CSI,
14598 &ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList,
14599 &ett_gsm_map_T_mt_smsCAMELTDP_CriteriaList_item,
14600 &ett_gsm_map_T_tpdu_TypeCriterion,
14601 &ett_gsm_map_T_mg_csi,
14602 &ett_gsm_map_T_o_IM_CSI,
14603 &ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList,
14604 &ett_gsm_map_T_o_IM_BcsmCamelTDP_CriteriaList_item,
14605 &ett_gsm_map_T_d_IM_CSI,
14606 &ett_gsm_map_T_vt_IM_CSI,
14607 &ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
14608 &ett_gsm_map_T_vt_IM_BCSM_CAMEL_TDP_CriteriaList_item,
14609 &ett_gsm_map_T_supportedVLR_CAMEL_Phases,
14610 &ett_gsm_map_T_supportedSGSN_CAMEL_Phases,
14611 &ett_gsm_map_T_offeredCamel4CSIsInVLR,
14612 &ett_gsm_map_T_offeredCamel4CSIsInSGSN,
14613 &ett_gsm_map_Sms_CAMEL_TDP_DataList,
14614 &ett_gsm_map_Sms_CAMEL_TDP_DataList_item,
14615 &ett_gsm_map_T_CauseValueCriteria,
14616 &ett_gsm_map_O_CauseValueCriteria,
14617 &ett_gsm_map_MobilityTriggers,
14618 &ett_gsm_map_BasicServiceCriteria,
14619 &ett_gsm_map_BasicServiceCriteria_item,
14620 &ett_gsm_map_Dp_AnalysedInfoCriteriaList,
14621 &ett_gsm_map_Dp_AnalysedInfoCriteriaList_item,
14622 &ett_gsm_map_SubscriberIdentity,
14623 &ett_gsm_map_AnyTimeModificationArg,
14624 &ett_gsm_map_T_modificationRequestFor_CF_Info,
14625 &ett_gsm_map_T_basicService,
14626 &ett_gsm_map_T_modificationRequestFor_CB_Info,
14627 &ett_gsm_map_T_basicService1,
14628 &ett_gsm_map_T_modificationRequestFor_CSI,
14629 &ett_gsm_map_T_modificationRequestFor_ODB_data,
14630 &ett_gsm_map_Odb_data,
14631 &ett_gsm_map_Ss_InvocationNotificationArg,
14632 &ett_gsm_map_T_ss_EventSpecification,
14633 &ett_gsm_map_Ss_InvocationNotificationRes,
14634 &ett_gsm_map_PrepareGroupCallArg,
14635 &ett_gsm_map_PrepareGroupCallRes,
14636 &ett_gsm_map_SendGroupCallEndSignalArg,
14637 &ett_gsm_map_SendGroupCallEndSignalRes,
14638 &ett_gsm_map_ProcessGroupCallSignallingArg,
14639 &ett_gsm_map_ForwardGroupCallSignallingArg,
14640 &ett_gsm_map_UpdateGprsLocationArg,
14641 &ett_gsm_map_T_sgsn_Capability,
14642 &ett_gsm_map_UpdateGprsLocationRes,
14643 &ett_gsm_map_SendRoutingInfoForGprsArg,
14644 &ett_gsm_map_SendRoutingInfoForGprsRes,
14645 &ett_gsm_map_FailureReportArg,
14646 &ett_gsm_map_FailureReportRes,
14647 &ett_gsm_map_NoteMsPresentForGprsArg,
14648 &ett_gsm_map_NoteMsPresentForGprsRes,
14649 &ett_gsm_map_LcsClientExternalID,
14650 &ett_gsm_map_LcsClientName,
14651 &ett_gsm_map_Lcs_ClientID,
14652 &ett_gsm_map_LcsLocationInfo,
14653 &ett_gsm_map_ProvideSubscriberLocation_Arg,
14654 &ett_gsm_map_T_locationType,
14655 &ett_gsm_map_T_lcs_QoS,
14656 &ett_gsm_map_T_responseTime,
14657 &ett_gsm_map_ProvideSubscriberLocation_Res,
14658 &ett_gsm_map_TargetMS,
14659 &ett_gsm_map_RoutingInfoForLCS_Arg,
14660 &ett_gsm_map_RoutingInfoForLCS_Res,
14661 &ett_gsm_map_SubscriberLocationReport_Arg,
14662 &ett_gsm_map_SubscriberLocationReport_Res,
14663 &ett_gsm_map_SystemFailureParam,
14664 &ett_gsm_map_T_extensibleSystemFailureParam,
14665 &ett_gsm_map_DataMissingParam,
14666 &ett_gsm_map_UnexpectedDataParam,
14667 &ett_gsm_map_FacilityNotSupParam,
14668 &ett_gsm_map_IncompatibleTerminalParam,
14669 &ett_gsm_map_ResourceLimitationParam,
14670 &ett_gsm_map_UnknownSubscriberParam,
14671 &ett_gsm_map_NumberChangedParam,
14672 &ett_gsm_map_UnidentifiedSubParam,
14673 &ett_gsm_map_RoamingNotAllowedParam,
14674 &ett_gsm_map_IllegalSubscriberParam,
14675 &ett_gsm_map_IllegalEquipmentParam,
14676 &ett_gsm_map_BearerServNotProvParam,
14677 &ett_gsm_map_TeleservNotProvParam,
14678 &ett_gsm_map_TracingBufferFullParam,
14679 &ett_gsm_map_NoRoamingNbParam,
14680 &ett_gsm_map_AbsentSubscriberParam,
14681 &ett_gsm_map_BusySubscriberParam,
14682 &ett_gsm_map_NoSubscriberReplyParam,
14683 &ett_gsm_map_CallBarredParam,
14684 &ett_gsm_map_T_extensibleCallBarredParam,
14685 &ett_gsm_map_ForwardingFailedParam,
14686 &ett_gsm_map_Or_NotAllowedParam,
14687 &ett_gsm_map_ForwardingViolationParam,
14688 &ett_gsm_map_Cug_RejectParam,
14689 &ett_gsm_map_Ati_NotAllowedParam,
14690 &ett_gsm_map_NoGroupCallNbParam,
14691 &ett_gsm_map_Ss_IncompatibilityCause,
14692 &ett_gsm_map_ShortTermDenialParam,
14693 &ett_gsm_map_LongTermDenialParam,
14694 &ett_gsm_map_SubBusyForMT_SMS_Param,
14695 &ett_gsm_map_Sm_DeliveryFailureCause,
14696 &ett_gsm_map_MessageWaitListFullParam,
14697 &ett_gsm_map_AbsentSubscriberSM_Param,
14698 &ett_gsm_map_UnauthorizedRequestingNetwork_Param,
14699 &ett_gsm_map_UnauthorizedLCSClient_Param,
14700 &ett_gsm_map_PositionMethodFailure_Param,
14701 &ett_gsm_map_UnknownOrUnreachableLCSClient_Param,
14702 &ett_gsm_map_ExtensionContainer,
14704 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
14708 /* Register protocol */
14709 proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
14710 /*XXX register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);*/
14711 /* Register fields and subtrees */
14712 proto_register_field_array(proto_gsm_map, hf, array_length(hf));
14713 proto_register_subtree_array(ett, array_length(ett));
14715 sms_dissector_table = register_dissector_table("gsm_map.sms_tpdu",
14716 "GSM SMS TPDU",FT_UINT8, BASE_DEC);
14718 gsm_map_tap = register_tap("gsm_map");
14719 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)" );
14720 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)" );
14721 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)" );
14722 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)" );
14723 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)" );
14724 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)" );
14725 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)" );
14726 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)" );
14727 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)" );
14728 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)" );
14729 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)" );
14730 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)" );
14731 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)" );
14732 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)" );
14733 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)" );
14734 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)" );
14735 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)" );
14736 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)" );
14737 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)" );
14738 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)" );
14739 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)" );
14740 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)" );
14741 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)" );
14742 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)" );
14743 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)" );
14744 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)" );
14745 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)" );
14746 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)" );
14747 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)" );
14748 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)" );
14749 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)" );
14750 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)" );
14751 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)" );
14752 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)" );
14753 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)" );
14754 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)" );
14755 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)" );
14756 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)" );
14757 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)" );
14758 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)" );
14759 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)" );
14761 /* Register our configuration options, particularly our ssn:s */
14763 gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
14764 prefs_register_uint_preference(gsm_map_module, "tcap.itu_ssn1",
14765 "Subsystem number used for GSM MAP 1",
14766 "Set Subsystem number used for GSM MAP",
14767 10, &global_tcap_itu_ssn1);
14768 prefs_register_uint_preference(gsm_map_module, "tcap.itu_ssn2",
14769 "Subsystem number used for GSM MAP 2",
14770 "Set Subsystem number used for GSM MAP",
14771 10, &global_tcap_itu_ssn2);
14772 prefs_register_uint_preference(gsm_map_module, "tcap.itu_ssn3",
14773 "Subsystem number used for GSM MAP 3",
14774 "Set Subsystem number used for GSM MAP",
14775 10, &global_tcap_itu_ssn3);
14776 prefs_register_uint_preference(gsm_map_module, "tcap.itu_ssn4",
14777 "Subsystem number used for GSM MAP 4",
14778 "Set Subsystem number used for GSM MAP",
14779 10, &global_tcap_itu_ssn4);